Mysql
 sql >> база данни >  >> RDS >> Mysql

Достатъчен ли е Markdown (с strip_tags) за спиране на XSS атаки?

Мисля, че премахването на всеки HTML маркер от входа ще ви осигури нещо доста сигурно - освен ако някой намери начин да инжектира някои наистина объркани данни в Markdown, като го накара да генерира още по-объркан изход ^^

И все пак ето две неща, които ми идват на ум:

Първият : strip_tags не е функция-чудо:тя има някои недостатъци...
Например, ще премахне всичко след '<', в ситуация като тази :

$str = "10 appels is <than 12 apples";
var_dump(strip_tags($str));

Резултатът, който получавам, е:

string '10 appels is ' (length=13)

Което не е толкова приятно за вашите потребители :-(


Вторият : Един или друг ден може да искате да разрешите някои HTML тагове/атрибути; или дори днес може да искате да сте сигурни, че Markdown не генерира някои HTML етикети/атрибути.

Може да се интересувате от нещо като HTMLPurifier :позволява ви да посочите кои тагове и атрибути да се съхраняват и филтрира низ, така че да останат само тези.

Той също така генерира валиден HTML код - което винаги е хубаво ;-)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Недефинирана константа на клас 'MYSQL_ATTR_INIT_COMMAND' в недефинирана константа на клас (PHP 5.5.3)

  2. MySQL двоен главен

  3. Когато се изпълнява EXPLAIN, ако стойността на полето за ключ не е нула, но Extra е празна, използва ли се ключът?

  4. Позоваване на групи в MySQL регулярен израз?

  5. Грешка при вмъкване в sql база данни с помощта на php