哪种更好的方法可以防止XSS攻击?这是我正在尝试执行的代码。

这行代码足以阻止XSS攻击吗?还是我必须用'strip_tags'解析每个元素。感谢您的任何建议。

  $xss = array_map('strip_tags', $_POST);


要么

在这种方法中,我必须使用“ strip_tags”更改许多表单元素。

$f_name = strip_tags($_POST["f-name"]);
$a_id = isset($_POST['a_id']) ? (int)strip_tags($secure_POST['a_id']) : 0;

$qry = $pdo_conn->prepare('INSERT INTO TABLE1(id, f_name) VALUES (?, ?)');
$qry->execute(array($a_id, $f_name));

最佳答案

XSS表示Cross Site Scripting,并且正在向网站注入恶意html元素。可以通过在显示时设置适当的字符集(如utf8)和htmlentities来防止这种情况。

您希望将原始数据保留在数据库中,以防万一。如果您要更改反XSS战术,则可以一次完成所有操作,因为尚未准备好数据。

我认为您的意思是反sql-injection。准备好的语句可以自己完成(如果定义了正确的字符集,如utf8),则无需担心。
不过,您可以事先进行一些检查,例如检查$ _POST ['int']是否真的只有int值(例如)。

关于php - 哪种方法可以更好地防止XSS?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18495018/

10-13 02:55