フィルター $_GET 変数が mysql インジェクションを防ぐのに十分かどうかまだよくわからないため、この質問をしています。そのため、最初にフィルター関数があります
function filter_url($url)
{
if (is_array($url))
{
foreach ($url as $key => $value)
{
// recurssion
$url[$key] = filter_url($value);
}
return $url;
}
else
{
// remove everything except for a-ZA-Z0-9_.-&=
$url = preg_replace('/[^a-zA-Z0-9_\.\-&=]/', '', $url);
return $url;
}
}
私は$_GET=filter_url($_GET);
電話する前にいつも持っています
$filter_case =isset($_GET['product_ID'])?"and product_ID={$_GET['product_ID']}":"";
する必要があります$mysqli->real_escape_string($_GET['product_ID'])
か? それでも暗示する必要がある場合、どのようなSQLインジェクションがクエリメソッドを乗り越えますか?
$mysqli->real_escape_string($_SESSION['member_ID'])
その上、私が考えていることは重要ですか? 誰でも彼の$_SESSION
変数を操作できるのですか?