是它仍然是安全的,有一個像網址:PHP文件 - 安全
http://www.website.eu/product.php?id_product=916
如果沒有,什麼是安全的優劣呢? 有人可以請指點一下關於這種安全實踐的最新信息的鏈接。
謝謝
是它仍然是安全的,有一個像網址:PHP文件 - 安全
http://www.website.eu/product.php?id_product=916
如果沒有,什麼是安全的優劣呢? 有人可以請指點一下關於這種安全實踐的最新信息的鏈接。
謝謝
據我所知沒有任何安全缺陷。只要你的代碼能夠清理所有的用戶輸入,並且在發生錯誤時不泄露敏感信息,比如文件路徑或查詢,你應該沒問題。只要確保阻止用戶不應該訪問的目錄的所有訪問權限,例如您的庫或配置目錄。
你可以在這裏做的最基本的事情就是將其轉換爲lofical網址,而不是現在的物理網址。
physical URL - http://www.website.eu/product.php?id_product=916
Logical URL - http://www.website.eu/product/916
這將只公開所需的東西,而不是代碼的完整實現樣式。
爲此,您將不得不對product.php所在文件夾的.htaccess文件進行一些小的更改。
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^product/$ product.php?product_id=$1 [NC]
這沒有任何意義。如果你想做SQL注入,你不需要知道'$ _GET'參數是'id_product',因爲它是在腳本中自動設置的。有或沒有URL重寫,你有相同的腳本。 '$ product_id = $ _GET ['product_id'];'在這兩種情況下。 – GuyT
但是,最好不要公開文件的確切物理URL。 –
謝謝@AkshatGoel的建議,這是一個很好的增強(不要公開確切的物理URL)。但GuyT的評論是正確的。 –
它和底層腳本及其支持軟件/硬件一樣安全。如果您保持服務器軟件的最新狀態並採取措施避免惡意使用,那麼它是完全安全的。如果您暗示要隱藏.php擴展名,完全可以這樣做,但絕不會提高服務器的安全性。通過默默無聞的安全性是行不通的。 – GordonM
@GordonM,非常令人信服的答案。謝謝 –