-1
在我的網站上,有一個用戶的個人資料頁面。我目前所做的只是通過GET
請求傳遞用戶ID
,並用它來查詢用戶的詳細信息。在個人資料網址中顯示用戶ID是否安全?
因此,用戶個人資料網址是這樣的...
http://www.example.com/user.php?id=345
所以,我的問題是,是安全的URL中顯示該用戶的ID(用戶表的主鍵),所以,任何人都可以看到它......?
在我的網站上,有一個用戶的個人資料頁面。我目前所做的只是通過GET
請求傳遞用戶ID
,並用它來查詢用戶的詳細信息。在個人資料網址中顯示用戶ID是否安全?
因此,用戶個人資料網址是這樣的...
http://www.example.com/user.php?id=345
所以,我的問題是,是安全的URL中顯示該用戶的ID(用戶表的主鍵),所以,任何人都可以看到它......?
這很正常。
但我建議你有一個表單驗證,以防止SQL注入。永遠不要相信什麼用戶給你
我會用那種表情,但另外
if (!preg_match('/^[0-9]+$/', $_GET['id'])) {
echo 'ID disallowed.';
}
或有數字的限制(1相匹配,以999999)
if (!preg_match('/^[0-9]{1,6}$/', $_GET['id'])) {
echo 'ID disallowed.';
}
這是完全正常的。我想這取決於你會認爲不安全的東西,這可能會以任何方式被利用? – JimL
如果你沒有清理傳入的數據,那就是了。一般來說,它對系統本身來說不是脆弱的,只是暴露了第三人的ID,不多也不少。作爲建議,你可以在數據庫中使用散列作爲'id'(壞髒例子md5('email' + salt)或類似的東西)。 – Wizard
怎麼樣增加另一個字段到表中有另一個唯一的數字。 ?並用它來查詢記錄? – TharinduLucky