|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - [решено] передача кавычек в XmlHttpRequest |
|
Разное - [решено] передача кавычек в XmlHttpRequest
|
Новый участник Сообщения: 5 |
Профиль | Отправить PM | Цитировать Через XmlHttpRequest передается GET'ом следующая строка:
var params="operation=insert&id_quest="+ <?php echo $get_id; ?> +"&question_text="+encodeURIComponent(question_text); где параметр question_text - это текст (литиница+кирилица), который может содержать кавычки. на сервере есть простейшая защита от инъекций: if(isset($_GET["operation"]) && $_GET["operation"]=="insert" && isset($_GET["id_quest"]) && isset($_GET["question_text"])){ if (iconv("UTF-8","windows-1251",$_GET["question_text"])) $text=iconv("UTF-8","windows-1251",$_GET["question_text"]); $text=checkvar($text); . . . } Тест функции checkvar: function checkvar($var){ $var=addslashes($var); $var=htmlspecialchars($var); return $var; } Так вот, при передаче текста, содержащего двойные кавычки, строка сохраняется в базе со слешами. Если передавать одинарные кавычки, то тест вообще обрезается до первой кавычки. Собственно, вопрос в том как передавать произвольный текст, что бы еще и защитится от инъекций. Поделитесь опытом с новичком, пожалуйста. |
|
Отправлено: 20:07, 25-01-2009 |
Ветеран Сообщения: 5624
|
Профиль | Отправить PM | Цитировать передавайте кавычки через \" - тогда будут передаваться.
|
------- Отправлено: 02:03, 26-01-2009 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Кот Ти Сообщения: 7318
|
Профиль | Отправить PM | Цитировать Да хоть даже в Base64 кодировать, а потом перед проверкой декодировать.
|
Отправлено: 08:11, 26-01-2009 | #3 |
Deadooshka Сообщения: 2512
|
Профиль | Отправить PM | Цитировать не мудрите, есть спец. функция mysql_real_escape_string($string) - используйте ее непосредственно в запросе...
|
Отправлено: 08:29, 26-01-2009 | #4 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Добавление двойных кавычек в путь к файлу | Karat19 | AutoIt | 6 | 04-11-2009 11:45 | |
[решено] XMLHttpRequest параметры GET/POST | rus-4-ever | Вебмастеру | 5 | 19-04-2008 20:28 | |
Использование - [решено] Передача лицензий. | Sadhu | Лицензирование продуктов Microsoft | 1 | 29-10-2007 17:39 | |
[решено] Передача прав использования лицензий | infbiz | Лицензирование продуктов Microsoft | 2 | 01-06-2007 12:29 | |
Как уйти от ввода двух кавычек '' или ^^ при наборе текста? | bvn123 | Хочу все знать | 2 | 28-09-2004 02:53 |
|