Вы не должны использовать htmlentities
при сохранении. Вы должны использовать htmlentities
при отображении. Основное правило - не кодировать и не обрабатывать данные, пока вам это не понадобится. Если вы делаете htmlentities
для него при сохранении, тогда вы должны сделать html_entity_decode
для текста, когда пользователь хочет редактировать ввод. Таким образом, вы продезинфицировать для того, что вам нужно, и не более того. При его сохранении необходимо выполнить дезинфекцию для SQL-инъекции, поэтому вы mysql_real_escape_string
. При отображении вам необходимо выполнить дезинфекцию для XSS, чтобы вы htmlentities
это.
Кроме того, я не уверен, что вы видели комментарий Даррила Хейна, но вы действительно не хотите, чтобы magic_quotes включался. Это плохая, плохая вещь , она устарела с PHP 5.3 и полностью исчезнет в PHP 6.