Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Надо срочно потестить маленькие скрипты (https://forum.antichat.xyz/showthread.php?t=63316)

Дикс 03.03.2008 13:22

Надо срочно потестить маленькие скрипты
 
Здрасьте,
сделал вот тестовое задание для устройства на работу пхп-программером, сами понимаете - всё должно быть идеально.

От вас просьба потестить его во всем - начиная от валидности и актуальности html, до уязвимости и быстродействия скриптов.

http://dev.centerft.com/blog/admin/index.php

sources (~9 kb):
http://dev.centerft.com/blog/admin/admin_utility.zip

Естественно не за спасибо. Тем кто активно поможет, помогу яндекс деньгами :)

spider-intruder 03.03.2008 13:28

Xss в имени пользователя :-)

GreenTiger 03.03.2008 13:29

При добавлении нового:
Некоторые поля уязвимы..
'"/><script>alert(/1/)</script>

Активка

imajo.ati 03.03.2008 13:36

ничего не фильтруется кроме login =)

Цитата:

<form action="http://dev.centerft.com/blog/admin/index.php?do=add_user&save" method="POST" TARGET="_BLANK">
<input name="login" value='abc'>
<input name="password" value='">'>
<input name="conf_password" value='">'>
<input name="name" value='">'>
<input name="surname" value='">'>
<input name="sex" value='">'>
<INPUT name="age" value='">'>
<INPUT name="date_month" value='">'>
<input name="date_year" value='">'>

<INPUT TYPE="SUBMIT">
</form>
=) при редактировании абсолютно ничего не фильтруется

spider-intruder 03.03.2008 13:48

размеры полей контролируй

spider-intruder 03.03.2008 13:53

Год рождения можно поставить Нулевым так не бывает :-)

bul.666 03.03.2008 14:01

Проверь на валидность редактирование пользователей

spider-intruder 03.03.2008 14:04

ОНОТОЛЕЙЙЙЙ - Xss почини наконец )))

diehard 03.03.2008 14:04

Не связаны логически между собой поля Age (Возраст) и Birthday (Дата рождения).

spider-intruder 03.03.2008 14:17

А как вам это :-)

spider-intruder 03.03.2008 14:21

А это )))

spider-intruder 03.03.2008 14:28

Кончайте играться :-)
Пусть ОноТолеЙ думает что ему с этим делать. Толи забить на работу програмистом ПХП толи исправлять баги. ОнотолЕй как будешь готов говори - мы снова разнесем твой блог )))

imajo.ati 03.03.2008 14:31

если можно писать русские буквы в пасс, то кодируй их в url, пересылай, а потом раскодируй и пиши в бд. иначе ни у одного юзера не подойдёт пасс к его логину

diehard 03.03.2008 14:44

Осторожно: поифреймлено :)))

Дикс 03.03.2008 14:52

>>Год рождения можно поставить Нулевым так не бывает :-)
эта пох, на ачате ваще можно 31 февраля в качестве даты рождения указать.

>>размеры полей контролируй
ёпт ) так увлёкся интерфейсом, что забыл такие простые весчи.

>>Не связаны логически между собой поля Age (Возраст) и Birthday (Дата рождения).
я об этом думал, но в ТЗ написано что бд должна содержать поля "возраст" и "дата рождения". Они уже не вяжутся. так что оставим.

diehard 03.03.2008 14:54

Дикс

так значит под датой рождения подразумевается день+месяц, без года

imajo.ati 03.03.2008 14:55

ещё один нюанс. при отключенном яваскрипте пропадает поле для ввода месяца рождения

spider-intruder 03.03.2008 14:56

ну вроде кое что пофиксил - тестируйте!

imajo.ati 03.03.2008 14:58

при надписи что все поля обязательны, можно зарегиться указав только логин и пароль

Дикс 03.03.2008 15:24

блин, точно! надо год убирать.

я перегрелся чуток =\

http://ipicture.ru/uploads/080303/6tT3ELkO1e.jpg

Дикс 03.03.2008 15:27

>>ещё один нюанс. при отключенном яваскрипте пропадает поле для ввода месяца рождения

а вот тут я хз че делать.
то ли забить на юзеров у которых нет js, то ли делать возможным регистрацию с датами типа 31 февраля.

imajo.ati 03.03.2008 15:55

Цитата:

Сообщение от Дикс
а вот тут я хз че делать.
то ли забить на юзеров у которых нет js, то ли делать возможным регистрацию с датами типа 31 февраля.

нет, просто сделать проверку на стороне сервера, мол дата указана неверно, если дата 30-31.02.год

Дикс 04.03.2008 08:03

да вот не нравится мне этот вариант. это уже ограничение возможностей пользователя.
он может ввести себе идиотское имя, но не может ввести идиотскую дату. никакой логики. а js лишь подсказывает ему как надо правильно вводить.

Дикс 04.03.2008 08:44

Ребят, потестим ещё разок?
Ща вроде всё пофиксил че тока можно, бородой клянусь!

it's my 04.03.2008 08:52

а чо чужие записи можно удалять всем?

imajo.ati 04.03.2008 08:57

поле подтверждения пароля не работает при отключенном яваскрипте. тоесть я указываю разные пароли а он регит

Цитата:

<form action="http://dev.centerft.com/blog/admin/index.php?do=add_user&save" method="POST" TARGET="_BLANK"><PRE>
login <input name="login" value='login'>
password <input name="password" value='password'>
conf_password <input name="conf_password" value='conf_password'>
name <input name="name" value='name'>
surname <input name="surname" value='8888888888888888888888888888888888888888888 888888888888888'>
sex <input name="sex" value='trans'>
age <INPUT name="age" value='-9999'>
date_month <INPUT name="date_month" value='-9999'>
date_year <input name="date_year" value='-9999'>

<INPUT TYPE="SUBMIT"></PRE></form>
не говоря о том что поля даты пропускают отрицательные числа и буквы


и сделай макс. длину для имя\фамилия в 20 символов

тем более если это админка то должна быть привязка к сессии или возможно будет региться с других серверов. или подтверждение пасса админа нужно. ну думаю это потом допишется)

imajo.ati 04.03.2008 09:08

Цитата:

Сообщение от xcedz
заполняешь пароль, = а а пароль за звездочками можно скопировать и вставить.. =\

проверь ещё раз, у меня не получается. возможно дело в том что пассы могут не совпадать, я написал уже)

Дикс 04.03.2008 09:20

>>а чо чужие записи можно удалять всем?

можно, это тестовое задание на создание админки и пароль на админку в задании не оговорен.

>>поле подтверждения пароля не работает при отключенном яваскрипте.
>>тоесть я указываю разные пароли а он регит

я считаю это и не надо проверять на стороне сервера. это как бы проблемы самого пользователя, который коряво ввёл свой пароль.
тем не менее я добавлю тег <noscript> который будет извещать о необходимости включения яваскрипта.

>>не говоря о том что поля даты пропускают отрицательные числа и буквы
в базу в таком случае попал один пробел. Отображается November какого-то хрена =\
исправлю так что вообще пустое поле будет на странице View Info.
эти поля обрабатываются intval()

>>и сделай макс. длину для имя\фамилия в 20 символов
да, всё-таки так и сделаю. спс

>>тем более если это админка то должна быть привязка к сессии или возможно будет
>>региться с других серверов. или подтверждение пасса админа нужно. ну думаю это
>>потом допишется)

ну я пасс прикручивать не буду, а что ты имеешь ввиду под привязкой к сессии?
передать в поле hidden номер сессии и сравнить его с текущим?

>>заполняешь пароль, = а звездочки можно скопировать и вставить.. =\
сложно назвать это багом. это скорее пользователь сам себе навредит, если случайно пароль криво наберёт.

xcedz 04.03.2008 09:22

сложно назвать это багом. это скорее пользователь сам себе навредит, если случайно пароль криво наберёт.

Так ты для себя пишешь или для пользователя что то не понял?

Дикс 04.03.2008 09:23

Цитата:

Нет! не норм, дело в том что пароль можно копирну в ствить в confirm password .. скажет типо не коррректный пасс... а если еще раз вставить в поле password: пароль принимается.. по моему это не есть хорошо.
а по-моему в любом нормальном браузере есть защита от копирования из password-полей. таким образом в клипбоард помещается хз что, может хеш.
соответственно если ты получишь этот результат скопировав из пассворд, то он не будет совпадать с пассвордом. а если воткнуть его и в пассворд - тогда в обоих полях будут одинаковые значения.


Время: 12:23