這是否可以防範SQL注入攻擊?這是否可以防止注入攻擊?
function sanitize($value) {
// Stripslashes
if (is_array($value)) {
if (get_magic_quotes_gpc()) {
$value = array_map("stripslashes", $value);
}
$value = array_map("mysql_real_escape_string", $value);
} else {
if (get_magic_quotes_gpc()) {
$value = stripslashes($value);
}
$value = mysql_real_escape_string($value);
}
return $value;
}
$_REQUEST = array_map('sanitize', $_REQUEST);
$_GET = array_map('sanitize', $_GET);
$_POST = array_map('sanitize', $_POST);
$_COOKIE = array_map('sanitize', $_COOKIE);
我可以在sanitize()中添加什麼以防止跨站點腳本? 還有哪些渠道可以讓攻擊者插入惡意代碼?
與Xss我不會擔心存儲數據。在輸出數據時使用htmlspecialchars來防止XSS。 – Belinda 2011-03-22 17:15:47
查看關於此事的其他一些主題。這一個很不錯:http://stackoverflow.com/questions/129677/whats-the-best-method-for-sanitizing-user-input-with-php – Bjoern 2011-03-22 17:15:50
這取決於你如何使用這些數據。 – Gumbo 2011-03-22 17:24:24