Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как убрать слэши
 
 автор: Flooty   (27.11.2009 в 09:37)   письмо автору
 
 

Здравствуйте, я делаю сайт, и столкнулся с не большой проблемкой. Когда я отправляю запрос на то что бы написать сообщение для форума, то если поставить кавычки перед ними ставится обратный слэш. например: \"Привет =)\". я понял что это из за функции mysql_real_escape_string если ее убрать то текст отображается нормально что бы убрать слэши я сделал так:
mysql_query("INSERT INTO `posts` SET `forum_id` = '".intval($f_forum['id'])."', `theme_id` = '".intval($f_theme['id'])."', `author` = '".mysql_real_escape_string($user['login'])."', `date` = '$now', `message` = '".mysql_real_escape_string(stripslashes($_POST['reply_message']))."', `disable` = '$d'");

собственно вопрос: безопасно ли делать таким образом запрос?

  Ответить  
 
 автор: Слух   (27.11.2009 в 10:10)   письмо автору
 
   для: Flooty   (27.11.2009 в 09:37)
 

Да так сделать будет безопастно, но вы не избавитесь таким способом от слэшей. В вашем примере вы сначала убираете слеши
stripslashes($_POST['reply_message'])
а уже потом используете функцию, которая их экранирует для безопастной вставки.

Как вариант можете просто заменить одинарные кавычки.

$message = str_replace("'", "`", $_POST['reply_message']);

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования