[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Мой первый проект ))
Invis1ble
Вот написал форум (что-то отдаленно напоминающее мой любимый phpforum.ru smile.gif ) и выложил его на бесплатный хостинг для тестирования. Писал его в качестве практических занятий (которые сам себе задавал) в процессе изучения html, php, sql, css и js. Ссылка на него в моей подписи.
Выскажите свое мнение по поводу проделанной работы (можно и там на форуме).



Спустя 25 минут, 43 секунды (16.10.2010 - 16:48) DmitryOpalev написал(а):
Я там зареган))
Только верхнее меню... Там наверное надо пофантазировать и изменить, не очень красиво smile.gif

Спустя 10 минут, 38 секунд (16.10.2010 - 16:59) Invis1ble написал(а):
DmitryOpalev
ага, вижу тебя wink.gif
Ну я с дизайном не особо заморачивался, потом как-нибудь меню поменяю. Мне главное, чтоб все работало без ошибок и сбоев, и чтоб уязвимостей не было

Спустя 9 минут, 16 секунд (16.10.2010 - 17:08) DmitryOpalev написал(а):
О! Уязвимости ph34r.gif
Т.е. можно по взламывать и тебе говорить?

Спустя 5 минут, 55 секунд (16.10.2010 - 17:14) Invis1ble написал(а):
DmitryOpalev
ну конечно, попробуй и обязательно отпиши, если чо найдешь

Спустя 3 минуты (16.10.2010 - 17:17) DmitryOpalev написал(а):
Тогда не блокируй мой IP biggrin.gif

Спустя 2 минуты, 10 секунд (16.10.2010 - 17:19) Invis1ble написал(а):
DmitryOpalev
ок! rolleyes.gif

Спустя 6 часов, 2 минуты, 42 секунды (16.10.2010 - 23:22) Админ написал(а):
Посмотрел - нормально - на мой взгляд - я не тот человек мнение которого особо значимо - дизайн нужен индивидуальный,иначе пропадут труды твои даром - встречают по одёжке.

Спустя 15 минут, 59 секунд (16.10.2010 - 23:38) phz написал(а):
Молодец, хорошая работа

Спустя 10 минут, 33 секунды (16.10.2010 - 23:48) Invis1ble написал(а):
Админ
Насчет одежки ты прав, однако как я уже говорил, дизайн для меня второстепенен. Для меня важна в данном случае стабильная работа приложения.

Спустя 42 секунды (16.10.2010 - 23:49) Invis1ble написал(а):
phz
Спасибо smile.gif

Спустя 11 часов, 28 минут, 31 секунда (17.10.2010 - 11:17) arvitaly написал(а):
http://invis1ble.0fees.net/

лучше заменить на

/

Спустя 3 минуты, 15 секунд (17.10.2010 - 11:21) DmitryOpalev написал(а):
Цитата
/

А у меня так почему-то не работает... sad.gif
rolleyes.gif

Спустя 2 минуты, 10 секунд (17.10.2010 - 11:23) arvitaly написал(а):
Цитата
А у меня так почему-то не работает...


код в студия

Спустя 1 минута, 16 секунд (17.10.2010 - 11:24) DmitryOpalev написал(а):
Просто ссылка из формы на обработчик.
Когда пишу / не проходит.
Когда пишу ../ все хорошо...

Спустя 2 минуты, 15 секунд (17.10.2010 - 11:26) arvitaly написал(а):
Ну значит обработчик не в корне сайта лежит

Спустя 18 минут, 12 секунд (17.10.2010 - 11:45) DmitryOpalev написал(а):
Путь то я указываю, а не просто слеш smile.gif

Спустя 14 минут, 55 секунд (17.10.2010 - 12:00) arvitaly написал(а):
Цитата
Путь то я указываю, а не просто слеш


ну значит неправильный путь. В программировании чудес не бывает

Спустя 25 минут, 9 секунд (17.10.2010 - 12:25) DmitryOpalev написал(а):
В том-то и чудо - пишу слеш - не работает. Добавляю две точки - работает.
Но скорее всего там где-то мой косяк зарыт...

Спустя 2 минуты, 50 секунд (17.10.2010 - 12:28) arvitaly написал(а):
Цитата
В том-то и чудо - пишу слеш - не работает. Добавляю две точки - работает.
Но скорее всего там где-то мой косяк зарыт...


В этом сомнений нет, если покажите структуру ваших файлов и html код - объясню

Спустя 35 минут, 38 секунд (17.10.2010 - 13:03) Invis1ble написал(а):
стоп-стоп..
подождите, не так быстро )) Дайте разобраться самому, а то я токо зашел

Спустя 16 минут, 30 секунд (17.10.2010 - 13:20) Invis1ble написал(а):
DmitryOpalev
посмотрел щас - вроде нигде не должны эти символы прокатывать...
А где ты их вводил?

Спустя 13 минут, 47 секунд (17.10.2010 - 13:33) Invis1ble написал(а):
Кстати, а что эти символы собственно могут натворить? А то я где-то встречал упоминание вскользь о них, но никакого описания последствий или еще чего-то не было.

Спустя 49 минут, 17 секунд (17.10.2010 - 14:23) DmitryOpalev написал(а):
При регистрации прокатило как логин.

Спустя 7 минут, 11 секунд (17.10.2010 - 14:30) Invis1ble написал(а):
DmitryOpalev
Ну вижу я твой этот логин в пыхадмине.. А как это может навредить системе? че-то никак не догоню..

Спустя 1 минута, 17 секунд (17.10.2010 - 14:31) Invis1ble написал(а):
DmitryOpalev
вижу письмо твое, щас буду разбираться

Спустя 3 минуты, 23 секунды (17.10.2010 - 14:35) DmitryOpalev написал(а):
smile.gif

Спустя 11 минут, 15 секунд (17.10.2010 - 14:46) Invis1ble написал(а):
Вопрос ко всем: mysql_real_escape_string корректно обрабатывает любые запросы?

Спустя 5 минут, 29 секунд (17.10.2010 - 14:51) arvitaly написал(а):
Цитата
Вопрос ко всем: mysql_real_escape_string корректно обрабатывает любые запросы?


Что означает для вас корректно?

Спустя 3 минуты, 33 секунды (17.10.2010 - 14:55) Invis1ble написал(а):
arvitaly
В смысле, чтоб не было возможности провести MySQL-инъекцию

Спустя 14 минут, 55 секунд (17.10.2010 - 15:10) arvitaly написал(а):
$id= '1 union select * from users';
$result=mysql_query("select * from users where user_id=" . mysql_real_escape_string($id) . "");

Цитата
В смысле, чтоб не было возможности провести MySQL-инъекцию


ОПять таки дайте определение MySQL-инъекцие

Спустя 23 минуты, 47 секунд (17.10.2010 - 15:34) Invis1ble написал(а):
arvitaly
Цитата
ОПять таки дайте определение MySQL-инъекцие

MySQL-инъекция - страшная хрень, состоящая из определенного набора символов, которую вводит злой хацкер с целью навредить ресурсу (украсть данные, удалить данные, попортить их структуру и т.п.), и нарушающая в итоге логику SQL-запроса..
как-то так biggrin.gif

Спустя 2 минуты, 21 секунда (17.10.2010 - 15:36) arvitaly написал(а):
Цитата
MySQL-инъекция - страшная хрень, состоящая из определенного набора символов, которую вводит злой хацкер с целью навредить ресурсу (украсть данные, удалить данные, попортить их структуру и т.п.)
как-то так


Правда непонятно куда вводит, ну тогда как видишь mysql_real_escape_string не является абсолютной защитой.
Главное - правильное определение и грамотный вопрос (может он и не возникнет тогда)

Спустя 38 минут, 38 секунд (17.10.2010 - 16:15) Michael написал(а):
Цитата (Invis1ble @ 17.10.2010 - 13:46)
Вопрос ко всем: mysql_real_escape_string корректно обрабатывает любые запросы?

Спустя 1 час, 1 минута, 28 секунд (17.10.2010 - 17:16) Invis1ble написал(а):
Michael
читал уже два раза, сейчас третий перечитал - изменений не обнаружил по сравнению с прошлым разом.
очень хорошая статья, но twin упоминает только об апострофах, но про -- , /* и ; ничего там не сказано.. Хотя ; я так понимаю в mysql не катит, а вот что насчет комментариев (-- , /* */) ? Потому как паранойя у меня (надеюсь здоровая)...

Спустя 3 минуты, 32 секунды (17.10.2010 - 17:20) DmitryOpalev написал(а):
А почему ; не катит?

Спустя 23 минуты, 34 секунды (17.10.2010 - 17:43) Invis1ble написал(а):
DmitryOpalev
потому как не прокатывают запросы такого вида, насколько я знаю
SELECT * FROM `table`; DELETE FROM `table`

хотя может я и ошибаюсь... В общем, ждем комментарии от экспертов по этому поводу

Спустя 1 минута, 15 секунд (17.10.2010 - 17:44) DmitryOpalev написал(а):
А насколько я знаю, так можно делать biggrin.gif
Хотя, никогда так не делал, кто знает blink.gif

Спустя 16 минут, 54 секунды (17.10.2010 - 18:01) kirik написал(а):
Цитата (Invis1ble @ 17.10.2010 - 09:43)
потому как не прокатывают запросы такого вида

На сколько я помню не прокатят со стандартным phpшным расширением mysql. Расширения mysqli и postgre вроде отрабатывают.

Спустя 9 минут, 22 секунды (17.10.2010 - 18:11) Invis1ble написал(а):
Вот откопал цитату из книжки, по которой я учусь (Д.Котеров, А.Костарев. PHP 5 в подлиннике.)
Цитата
За один вызов mysql_query() можно выполнить только одну команду MySQL. В некоторых других языках программирования, а также в интерфейсе командной строки сервера MySQL...  ...разрешено использование сразу нескольких команд, разделенных точкой с запятой, однако в PHP данный способ не работает.

Спустя 8 минут, 19 секунд (17.10.2010 - 18:19) Invis1ble написал(а):
kirik
А что насчет комментариев? Не подскажешь?

Спустя 44 минуты, 53 секунды (17.10.2010 - 19:04) kirik написал(а):
Цитата (Invis1ble @ 17.10.2010 - 10:19)
А что насчет комментариев?

Там в чате писал уже.
Люди, читайте чаще php.net там все написано (а если не все в тексте, то в комментах точно будет). Смотрим mysql_real_escape_string():
Цитата (http://php.net/manual/en/function.mysql-real-escape-string.php)
mysql_real_escape_string() calls MySQL's library function mysql_real_escape_string, which prepends backslashes to the following characters: \x00, \n, \r, \, ', " and \x1a.

Тоесть эта функция экранирует только символы \x00 (злостный нуллбайт), \n (перенос строки), \r (возврат каретки), \ (обратный слэш), ' (апостроф), " (кавычка) и \x1a (че-то). На все остальные символы ей глубоко наплевать.

А по поводу коммента. Прикинем логически: если у нас запрос:
SELECT * .... WHERE `id` = $_GET[id]

то тут конечно коммент станет частью SQL запроса, пройдет и отработается mysql'ом. Но стоит заключить переменную в апострофы:
SELECT * .... WHERE `id` = '$_GET[id]'

как опасный коммент станет лишь текстом для SQL и база не обратит на него никакого внимания. (это же верно и для -- и для ;)

Спустя 44 минуты, 32 секунды (17.10.2010 - 19:48) twin написал(а):
Invis1ble
Цитата
но twin упоминает только об апострофах, но про -- , /* и ; ничего там не сказано..

Там много о чем не сказано... Ты вот увидел, что комментариями можно накуралесить и паника. А я вот тебе еще сейчас подкину:
' OR 1='1

И еще много чего есть... Если будешь циклиться на каждом частном случае - жизни не хватит.

Главное правильно обработать данные, тогда можно не думать об этих опасностях.
Как - я написал в статье. И поверь, этого достаточно.

Спустя 3 минуты, 53 секунды (17.10.2010 - 19:52) Invis1ble написал(а):
twin
спасибо, в принципе я все обрабатываю, как ты описывал. Просто тут товарищ один подал повод для паники, а у тебя там не было указано про комменты - вот я и выпал на измену... smile.gif

Спустя 1 час, 28 минут, 59 секунд (17.10.2010 - 21:21) arvitaly написал(а):
Цитата
Но стоит заключить переменную в апострофы:


Не надо этого делать. В базе храниться число и сравнивать его нужно с числом, а не пихать апострофы из за боязни.

Спустя 27 минут, 22 секунды (17.10.2010 - 21:49) kirik написал(а):
Цитата (arvitaly @ 17.10.2010 - 13:21)
Не надо этого делать. В базе храниться число и сравнивать его нужно с числом, а не пихать апострофы из за боязни.

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

Спустя 10 часов, 4 минуты, 19 секунд (18.10.2010 - 07:53) Michael написал(а):
В статье же четко сказано. Если это число - приводится к числу - (int) $x , если это строка, которая естественно в кавычках в запросе, то обрабатывается " ' " . mysql_real_escape_string($x) . " ' " чтобы ничего не убежало из под кавычек.

Спустя 52 минуты, 37 секунд (18.10.2010 - 08:46) han73r написал(а):
Блин, прикольный форум, пофиг на дизайн, главное механизм работает)
Мне бы так кодить.. rolleyes.gif

Спустя 4 часа, 30 минут, 25 секунд (18.10.2010 - 13:16) Invis1ble написал(а):
Michael
да на меня вчера какое-то затмение нашло - я токо щас понял, какую безосновательную паранойю поймал.. Главное, чтоб кавычки заэкранированы были все - и пофиг на комменты и пр., никакие марсианские иероглифы не страшны biggrin.gif

han73r
главное - желание и терпение (ну и конечно немного мозгов не помешает smile.gif) - а остальное у меня в первой подписи

Спустя 30 минут, 37 секунд (18.10.2010 - 13:47) Админ написал(а):
где то неделю назад сделал нечто похожее причём без всякого ООП - такая портянка получилась - но самое интересное что работала (правда на локалке)

Спустя 21 минута, 28 секунд (18.10.2010 - 14:08) Invis1ble написал(а):
Админ
ООП я использовал в качестве тренировки

Спустя 5 минут, 16 секунд (18.10.2010 - 14:13) Админ написал(а):
у меня было очень отдалённо плхожее- я тренировался - а у тебя реально грамотная вещь - если будут запары - обращайся - помогу (если ты считаешь меня специалистом) - бесплатно за идею(просто я заметил тут многие сразу на деньги тему переводят - я не из этой области) - если чё не успеваешь - я могу написать - всё равно делать нечего - щас глухо всё

Спустя 1 минута, 29 секунд (18.10.2010 - 14:15) Админ написал(а):
ещё и с женой развожусь - потому водку пью - скукааааааааа

Спустя 35 минут, 50 секунд (18.10.2010 - 14:51) Invis1ble написал(а):
Админ
Цитата
если чё не успеваешь - я могу написать

Да я как-бы и не спешу никуда.. Помощь иногда требуется в понимании принципов и теории; когда возникают вопросы - ищу помощи здесь, на форуме, так что если знаешь ответы на заданные вопросы - отвечай здесь, может кому-то еще пригодится.
А насчет "за идею" - я и сам стараюсь помочь людям, если знаю решение.
Цитата
просто я заметил тут многие сразу на деньги тему переводят

я такого тут не встречал, может разве в шутку говорили..

Спустя 10 минут, 24 секунды (18.10.2010 - 15:01) он же админ написал(а):
дерзай - я помогу - если надо - я тоже никуда не спешу

Спустя 2 месяца, 12 дней, 11 часов, 13 минут, 41 секунда (31.12.2010 - 03:15) Dron19 написал(а):
Цитата (DmitryOpalev @ 17.10.2010 - 09:25)
В том-то и чудо - пишу слеш - не работает. Добавляю две точки - работает.
Но скорее всего там где-то мой косяк зарыт...

На будующее когда две точкидобавляешь, ты выходишь в корневой каталог сайта!
И не какое это не чудо

Спустя 4 минуты, 16 секунд (31.12.2010 - 03:19) Dron19 написал(а):
Цитата (Invis1ble @ 17.10.2010 - 11:55)
arvitaly
В смысле, чтоб не было возможности провести MySQL-инъекцию

не MySQL, а SQL иньекцию, да, перед тем как добавлять какую нибудь запись в БД, можно еще обработать htmlspecialchars, это обязательно

Спустя 7 минут, 57 секунд (31.12.2010 - 03:27) Dron19 написал(а):
у тебя в бд какие таблицы есть, назови-ка их

Спустя 5 минут, 33 секунды (31.12.2010 - 03:32) Dron19 написал(а):
я нашел уязвимость, я через переменную id зашел и вывел данные некоторой таблицы, что бы этого не произошло более, проверь переменную id на сшвместимость с числовыми значениями, например так preg_match("/[0-9]+/i",$id);


_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.