嗨,关于 XSS 和 PHP 的问题......
我正在构建一个 PHP 应用程序,所有输入都通过客户端然后服务器端验证进入数据库,使用 filtervar 进行清理.....存储在数据库中的加密密码,如果我输入 scripttag -- 不管 -- 它得到的脚本标记就这样存储在数据库中,它不会在那里造成任何伤害。
当输入被直接输出时,XSS 是否只是一种威胁,并且使用 htmlentities 的唯一时间是在输出用户输入的数据时。
我的应用程序不这样做,但是有没有办法让攻击者注入一些恶意代码并导致它被输出,即使我的编程逻辑不允许这样做。
我想覆盖所有基地......
期待您的回答............是的,我正在使用 PDO 准备语句、bindParam、执行以防止 SQL 注入,并将数据安全地存储在数据库中,我也在使用:
if(filter_var($_POST['firstname'], FILTER_SANITIZE_STRING)){
$clean['firstname'] = $_POST['firstname'];
};
对于消毒可以改进............
我刚刚修复了代码,if 语句阻止了 filter var 清理脚本标签,如下所示:
$clean = array();
$clean['firstname'] = (filter_var($_POST['firstname'], FILTER_SANITIZE_STRING));
$clean['lastname'] = (filter_var($_POST['lastname'], FILTER_SANITIZE_STRING));
$clean['username'] = (filter_var($_POST['username'], FILTER_SANITIZE_STRING));
现在脚本标签不再在数据库中......