Поставить точку с запятой в sql

0

Я хотел бы знать, могу ли я поставить точку с запятой в таблице SQL. Или это будет бесполезно, как инъекция. В основном то, что я пытаюсь вставить, это моя информация HTTP_USER_AGENT, которая включает точку с запятой. Или, в принципе, способ превратить эту точку с запятой в символ html? Большое спасибо.

  • 0
    Вы должны прочитать об инъекциях, примерах и о том, как их избежать - похоже, вы слышали об этом, но точно не знаете, что это такое.
  • 1
    С другой стороны: использование подготовленных выражений позволит избежать правильного ввода значений без ручного вмешательства с вашей стороны.
Теги:

2 ответа

4
Лучший ответ

Да, вы можете положить точку с запятой в таблице mySQL. Более того: вы можете поместить в него что-либо, если оно экранировано должным образом.

Тем не менее, я бы настоятельно рекомендовал использовать подготовленные заявления, которые сделают для вас побег. Мое первое предпочтение - PDO, но вы также можете проверить MySQLi.

-2

Используйте mysql_real_escape_string, он сделает для вас всю работу по экранированию, вам просто нужно поставить "до и после нее".

mysql_real_escape_string($_SERVER['HTTP_USER_AGENT'])
  • 1
    Нет, ручное экранирование строк приведет к тому, что ваше приложение будет намного сложнее и все еще будет иметь дыры в безопасности. Используйте параметризованные запросы повсюду.
  • 0
    Драйвер PHP MySQL наконец поддерживает параметризованные запросы? Я не могу найти ничего связанного с php.net/manual/en/ref.mysql.php
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню