是否有一种通用的方法来阻止表单上的XSS?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漏洞,以保护?有没有更好的方法来做到这一点?还是没有通用的方法?
无论何时您需要提出多个问题,您的问题很可能过于宽泛。针对PHP XSS参考问题关闭。对于SQL注入,请教你自己http://bobby-tables.com/ - 是的,你的代码很容易SQL注入。 [如何防止PHP中的SQL注入?](http://stackoverflow.com/q/60174/367456) – hakre
mysql_函数已弃用,请使用[mysqli](http://php.net/manual/en /book.mysqli.php)或[PDO](http://php.net/manual/tr/book.pdo.php)而不是mysql_函数。 – salep