Что лучше для взаимодействия с пользователем: strip_tags или htmlentities в php?

У меня есть веб-форма, которая запрашивает у пользователей название статьи и автора статьи. В бэкэнде php для предотвращения вредоносных скриптов у меня есть два варианта: использовать теги полосы, чтобы предотвратить любые теги, которые пользователь дает, или избежать ввода через htmlentities.

Учитывайте оба фактора: безопасность и удобство для пользователей. С чем мне идти вперед?


person Abhishek    schedule 22.04.2013    source источник
comment
Используйте strip_tags. Вероятно, вас не интересует HTML-разметка.   -  person silkfire    schedule 22.04.2013
comment
возможный дубликат strip_tags и htmlentities   -  person Rikesh    schedule 22.04.2013
comment
возможный дубликат Какой лучший метод для дезинфекции пользовательского ввода с помощью PHP?   -  person cryptic ツ    schedule 12.05.2013


Ответы (1)


Это зависит от того, хотите ли вы, чтобы эти символы отображались.

Если вы имеете дело только с именами авторов и названиями статей, вам, вероятно, будет безопасно использовать strip_tags(), но если вы берете всю статью, она может содержать такие символы, как >, < и /, поэтому я бы предложил htmlentities().

person Glitch Desire    schedule 22.04.2013
comment
даже если я возьму всю статью, знаки ‹ ,› не будут отображаться в исходном виде. Они придут в виде html-кода. - person Abhishek; 22.04.2013
comment
Да, и когда вы отобразите &lt; на странице через echo, вы получите <. - person Glitch Desire; 22.04.2013