@Los_Pochtovyi

Форма не отсылает текст после апострофа, в чем дело?

Есть форма на php, которая берет значения из базы mysql и делает из них выпадающий список.

Проблема в том, что если в тексте встречаются апострофы, то в выпадающем списке в браузере все отображается полностью (например, "Патрик О'Рэйли"), но при submit форма отдает скрипту обработчика текст только до апострофа (то есть приходит в скрипт-обработчик только "Патрик О"). Остальные символы жрутся нормально.

Скрипт формы брал из сети, посмотрите, пожалуйста, что тут может вызывать такую бяку:

/*Соединяеся с базой и делаем выборку из таблицы*/

mysql_connect("localhost", "rask", "");

mysql_select_db("rask");

$sql = "SELECT * FROM konk WHERE user NOT IN ('$fa')";

$result_select = mysql_query($sql);


/*Выпадающий список*/

echo "<p>10 баллов:  <select name = '10' class='inputclass' id = '10'>";

while($object = mysql_fetch_object($result_select)){

echo "<option value = '$object->name' > $object->name </option>";

}

echo "</select></p> ";
mysql_close ();


На всякий случай - значения в базу пишутся из другой формы, с экранированием через mysql_real_escape_string. Может, в этом засада?

P.S.И да, я в курсе, что отсутствие пароля на базу - это несекьюрно, но пока что скрипт на локальной машине, так что это нестрашно.
  • Вопрос задан
  • 2269 просмотров
Решения вопроса 1
Melkij
@Melkij
PostgreSQL DBA
Откройте результирующее HTML-представление select'а и догадайтесь, как его видит парсер.
Типичный XSS.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы