Ако позволите съдържание, предоставено от потребителите на вашия сайт, се сблъскате с проблема с работата с предоставения от потребителя HTML по безопасен начин. Най-сигурният начин за справяне с нещата, разбира се, е да премахнете или избягате от HTML всички полета за въвеждане от потребителя. За съжаление, има много ситуации, в които би било хубаво да се разреши голямо подмножество на входа на HTML, но да се блокира всичко потенциално опасно.
SafeHTML е лек PHP дезинфектант за потребителски вход, който прави точно това. Просто стартирайте всяко поле за въвеждане чрез филтъра SafeHTML и всякакви javascript, обектни етикети или маркери за прекъсване на оформлението ще бъдат премахнати от предоставения текст. Той също така прави разумна работа за коригиране на кой да е кодиран код, който също е често срещан проблем с данните, предоставени от потребителите.
Използването му е лесно. Просто инстанцирайте SafeHTML обекта и извикайте неговия метод за анализ:
require_once ( "класове / safehtml.php ');
$ safehtml = & нов SafeHTML ();
if (isset ($ _POST ["inputfield"])) {$ inputfield = $ _ POST ["входно поле"]; $ cleaninput = $ safehtml-> parse ($ inputfield); }
Това ще вземе поставения параметър "inputfield", изчисти всякакви лоши, XHTMLify какво е останало, и резултатът ще бъде съхранен в променливата $ cleaninput. Това е просто допълнение към кода ви и много по-просто, отколкото да се опитвате да преобърнете собствения си код.
Единственото ми говеждо с пакета е, че е написано с позволена политика по подразбиране, с изтриване на тагове, които са в неговия масив deleteTags, но по същество позволяват нещо друго чрез. Ако предпочитате само да пускате маркери, които специално искате да разрешите, препоръчвам да добавите arrayTags array и да коригирате метода _openHandler, като добавите следната проверка след проверка на deleteTags:
if (! in_array ($ name, $ this-> allowTags)) {return true; }
Вие ще трябва да попълните allowTags с всичко, което знаете, че са безопасни и добре дошли, и може да пропуснете няколко, които хората ще завършат с желание да използват законно, но това лесно се коригира и правилата за отказ по подразбиране са много по-безопасни в дългосрочен план ,
SafeHTML - анти-XSS HTML парсер, написан на PHP