Я не следовал правилу, которое является
Рекомендация. Всегда используйте htmlentities для отображения данных в браузере. Не используйте htmlentities для хранения данных.
И я использовал htmlentities для хранения данных, поэтому я не должен использовать htmlentities каждый раз, когда я их отображаю. Но я увидел, что если кто-то может получить доступ к моей базе данных и написал тег script, он может запустить скрипт во всех данных пользователя. Я не следовал правилу потому что я думал, что это может быть медленно использовать htmlentities каждый раз при отображении данных.
Так есть ли способ решить эту проблему? Я думаю, что решение может использовать htmlspecialchars, если он не используется. Как я могу это сделать? Должен ли я удалить все данные и снова написать все сценарии, которые используют htmlentities только при отображении в браузере?
обновленный
Я нашел html_entity_decode (), как показано ниже:
function escape($string){
$string = html_entity_decode($string,null,'UTF-8');
return htmlspecialchars($string);
}
Это лучший способ сделать это. Если я сделаю это, смогу ли я на 100% перевернуть все и уйти, если не сбежал?
Задача ещё не решена.
Других решений пока нет …