| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Базы Данных > Загадка |
| Автор: Feldmarschall 21.12.2007, 12:02 | ||
что в этом коде неправильно? |
| Автор: SamDark 21.12.2007, 12:40 |
| Feldmarschall, Идея. |
| Автор: SelenIT 21.12.2007, 13:04 |
| Feldmarschall, гы Хотя, с другой стороны, для большинства разумных паролей (буквы-цифры-подчеркивание...) косяк может никогда и не вылезти... Но все равно, непонимание смысла mysql_real_escape_string налицо |
| Автор: Feldmarschall 21.12.2007, 13:13 |
| В общем, да, ошибка сильно потенциальная, и задачка именно на понимание смысла mysql_real_escape_string |
| Автор: bars80080 21.12.2007, 13:27 |
| было бы вообще отлично, если бы просветили презренных, ибо столько рекламировать эту функцию, а потом обнаружить косяк, показать, но не рассказать об этом меня вообще интересует md5, вставка хэша в БД безопасна в любом случае или нет? |
| Автор: MoLeX 21.12.2007, 13:42 |
| bars80080, смотри допустим ты в качестве пароля указал какунибудь лабуду (sql-инъекцию туже), когда твой пасс пройдет через md5 то там будет тока хеш который хоть куда вставляй, т.к. является набором букв и цифр |
| Автор: SelenIT 21.12.2007, 13:46 |
Косяк не в ф-ции, а в таком применении. Смысл ее - заэкранировать спецсимволы SQL непосредственно при формировании запроса, поэтому очевидно, что она должна быть последней операцией, проводимой со входной строкой. Ну а если мы точно знаем, что наша строка будет содержать только цифры и буквы a-f (притом ровно 32 штуки, независимо от входной строки) - то зачем вообще что бы то ни было экранировать? |
| Автор: bars80080 21.12.2007, 14:06 | ||
| стало быть чисто прикол меня это забеспокоило
ну, а md5 успокоили а то кто знает, какая хня может поджидать на повороте... |
| Автор: MoLeX 21.12.2007, 14:29 |
| |