|
|
|
| Здравствуйте, я делаю сайт, и столкнулся с не большой проблемкой. Когда я отправляю запрос на то что бы написать сообщение для форума, то если поставить кавычки перед ними ставится обратный слэш. например: \"Привет =)\". я понял что это из за функции 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'");
|
собственно вопрос: безопасно ли делать таким образом запрос? | |
|
|
|
|
|
|
|
для: Flooty
(27.11.2009 в 09:37)
| | Да так сделать будет безопастно, но вы не избавитесь таким способом от слэшей. В вашем примере вы сначала убираете слеши
stripslashes($_POST['reply_message'])
| а уже потом используете функцию, которая их экранирует для безопастной вставки.
Как вариант можете просто заменить одинарные кавычки.
$message = str_replace("'", "`", $_POST['reply_message']);
|
| |
|
|
|