Когда вы вставляете данные в базу данных SQL, вам нужно избегать их, чтобы предотвратить инъекции SQL, и mysql_real_escape_string()
- это то, что нужно использовать для этого в mysql. Вы должны помнить, чтобы использовать это для всего, хотя, так что это подвержено ошибкам. Вместо этого вы должны использовать что-то вроде PDO, которое автоматически экранирует каждое входящее значение.
Данные, поступающие из базы данных, обычно не требуют какой-либо специальной обработки (т. Е. Неэкранирования) Я не знаю, что вы пытаетесь сделать с stripslashes()
там. Если это для удаления волшебных кавычек, которые вставил PHP, вы должны делать это там, где извлекаете пользовательские значения из GET / POST / etc. (или полностью отключите магические кавычки, если можете, и у вас нет другого программного обеспечения, которое полагается на него)
Данные, отправляемые в html, должны быть экранированы для предотвращения XSS. htmlspecialchars()
- правильная функция для этого. Опять же, я не знаю, для чего вы пытаетесь использовать stripslashes()
. И опять же, вам нужно помнить, чтобы экранировать каждое значение, которое подвержено ошибкам. Вы должны хотя бы рассмотреть преимущества использования шаблонизатора или чего-то еще, что автоматически экранирует все значения, идущие в html.