是否有一种通用的方法来阻止表单上的XSS?
我们是否考虑以下基本示例代码......
HTML:
<form action="test.php" method="POST">
<input type="text" name="test">
</form>
PHP:
function new_test($test) {
array_walk($test, 'array_sanitise');
$fields = '`' . implode('`, `', array_keys($test)) . '`';
$data = '\'' . implode('\', \'', $test) . '\'';
$query = mysql_query("INSERT INTO `test` ($fields) VALUES ($data)");
if (!$query) {
die('Could not query:' . mysql_error());
}
}
$test = array(
'test' => $_POST['test']
);
new_test($test);
这足以防止SQL注入和XSS违规?有没有更好的方法呢?或者没有通用的方法吗?
答案 0 :(得分:2)
您可以在此处详细了解XSS的不同方法:https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet
我发现您只使用了array_sanitise
,其代码未添加到问题中,因此很难说它是什么。但基于它的用法,它似乎是某种SQL转义,所以希望它有助于防止SQL注入。希望。