![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Рыжий |
|
||||
![]() Помешанный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1423 Регистрация: 19.9.2004 Репутация: 1 Всего: 20 |
Всем привет!
Значит так, мне нужно занести некую информацию в базу данных. Конечно же перед тем как это сделать нужно применить хоть какие-нибудь меры безопасности. Я использую 2 команды: 1)addslashes 2)htmlspecialchars вот можете посмотреть код:
вроде бы все хорошо срабатывает избавляюсь от слэшей:
Ну а теперь уже можно показывать результат, да не тут то было! если например ввести "Привет" то на экран он выводит \"Привет\" то есть слэши он все равно не убирает! Как же быть???? |
||||
|
|||||
| Irokez |
|
|||
![]() индеец ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1180 Регистрация: 20.10.2004 Репутация: 3 Всего: 53 |
по-моему так: addslashes() добавляет слеши, а htmlspecialchars() преобразует кавычки в " т.е. при выводе stripslashes() уже кавычех не находит ... по-моему htmlspecialchars() достаточно и addslashes() уже не надо
|
|||
|
||||
| Mont |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 274 Регистрация: 13.11.2004 Где: Altay Репутация: 2 Всего: 12 |
используй
и почитай вот здесь -------------------- "Если однажды Вдруг Меня не окажется вовсе в заповедной заветной тарелке Твоего праведного сновидения Знай - Неуловимые мстители настигли меня." © Егор Летов |
|||
|
||||
| Рыжий |
|
|||
![]() Помешанный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1423 Регистрация: 19.9.2004 Репутация: 1 Всего: 20 |
Ну так и что, если сделать просто htmlspecialchars то он так и выдает "Привет" А где кавычки? |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 11 Всего: 261 |
А зачем мучаться.. mysql_escape_string();
|
|||
|
||||
| Irokez |
|
|||
![]() индеец ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1180 Регистрация: 20.10.2004 Репутация: 3 Всего: 53 |
PHP-Script htmlspecialchars() надо применять только один раз - либо при добавлению в базу, либо при выводе из базы, тогда все будет нормально выводиться, HTML сам заменит " на кавычки
|
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 11 Всего: 261 |
Irokez
А зачем применять htmlspecialchars(), обясните мне... |
|||
|
||||
| Irokez |
|
||||
![]() индеец ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1180 Регистрация: 20.10.2004 Репутация: 3 Всего: 53 |
|
||||
|
|||||
| Рыжий |
|
|||
![]() Помешанный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1423 Регистрация: 19.9.2004 Репутация: 1 Всего: 20 |
Подожди, эту команду нужно применять при выводе из базы или вводе? |
|||
|
||||
| Mont |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 274 Регистрация: 13.11.2004 Где: Altay Репутация: 2 Всего: 12 |
Ты читал тему на которую я давал ссылку
При вводе... -------------------- "Если однажды Вдруг Меня не окажется вовсе в заповедной заветной тарелке Твоего праведного сновидения Знай - Неуловимые мстители настигли меня." © Егор Летов |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 11 Всего: 261 |
Irokez ну хорошо...
Имеем на входе: "Тест". После этих двух функций получим \"Тест\" И как ты будешь искать строку в Бд такую? Когда там обычно хранится \"Тест\".
Эту надо в mysql_query, к примеру: mysql_query( "SELECT `*` FROM `table` WHERE `name` = '' . mysql_escape_string( $_POST['name'] ) . '' LIMIT 1" ) |
|||
|
||||
| Irokez |
|
|||
![]() индеец ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1180 Регистрация: 20.10.2004 Репутация: 3 Всего: 53 |
2 Mal Hack
я всего лишь ответил на вопрос, почему stripslashes() не удалял проескейпенные кавычки |
|||
|
||||
| IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 4 Всего: 73 |
Потому что эта функция не предназначена для удаления кавычек, а предназначена для удаления экранирования, т.е. слешей. -------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |