我傳遞一個數據庫生成的id值鏈接到另一個頁面。在我撥打$_GET
的接收頁面中,我想防止人們在網址(例如www.mysite.com?id=43)中的?
之後插入虛假值。如何檢查查詢字符串中的ID是否有效?
我想檢查傳入的值並確保它是數據庫中的有效標識符,或者有沒有辦法檢查NULL或空值?這是我已經試過:
來源頁面:
echo "<a href=\"get-post-pg2.php?id=" .urlencode($row['id']) ."\">Second Page</a>";
目標頁面:
$id = $_GET['id'];
if(isset($_GET)) {
echo $id;
} else
echo 'foo';
}
isset()是檢查值的好方法! – powtac 2012-03-08 20:10:53
要確保只有整數值,可以使用'echo(int)$ id;' – powtac 2012-03-08 20:11:23
'empty()'檢查isset,null和空字符串。但是,如果必須保護該值,則應該使用'$ _SESSION'來持久保存,而不是'$ _GET'將其傳遞到您自己站點上的另一個頁面。 – 2012-03-08 20:11:56