在我的web應用程序中,我使用「example.com/single.php?id=x」,抓取get參數並在頁面上顯示一條記錄。如何處理PHP中沒有任何獲取參數的URL
什麼是如何處理的URL「example.com/single.php」最佳實踐/建議(如果有人脫下手動參數)
我消毒我的投入,所以我從安全的角度來看並不是要求內容方面的問題。我顯示什麼,所有記錄?目前,它不顯示在該地區的任何地方將有單個記錄...
感謝
在我的web應用程序中,我使用「example.com/single.php?id=x」,抓取get參數並在頁面上顯示一條記錄。如何處理PHP中沒有任何獲取參數的URL
什麼是如何處理的URL「example.com/single.php」最佳實踐/建議(如果有人脫下手動參數)
我消毒我的投入,所以我從安全的角度來看並不是要求內容方面的問題。我顯示什麼,所有記錄?目前,它不顯示在該地區的任何地方將有單個記錄...
感謝
single.php
是一個相當強大的指針,該URL是否有顯示一個記錄,所以沒有「默認」顯示(如顯示所有記錄)。
我會死它()與一個很好的「記錄未找到」的錯誤消息,甚至拋出404像堆棧溢出呢。
ü可以把single.php
默認ID和如果u得到GET然後用這一個
$display_id = empty($_GET['id']) ? specific id number : int($_GET['id']) ;
你會做什麼時要求的最小集合了single.php中所需的參數,如果更換任何ID其中一個參數不存在,則會拋出錯誤的請求。
例如:
//Validate
if(empty($_GET["id"]))
{
die("Invalid Request");
}
//Sanitation
if(!is_numeric($_GET["id"]))
{
die("Invalid Request");
}
//Force type's for security
$id = (int)$_GET["id"];
什麼我顯示,所有的記錄?
這完全取決於頁面的用途。 如果它是打算顯示所有沒有參數的記錄 - 然後顯示它。 (我有很多頁面顯示沒有參數的記錄列表,並顯示帶有參數傳遞的編輯表單,非常方便實用。)
如果沒有 - 當沒有找到頁面時,404響應是一個嚴格的規則。
一個好的應用程序也會檢查意外的參數(「example.com/single.php?id=x & foo-bar」),在這種情況下拋出403。
好的,所以在PHP中,if(no get),{then display ...}然後呢?包括(404.php)? – benhowdle89 2011-02-25 12:11:52
@benhowdle yup。 'header(「HTTP/1.1 404 not found」);包括( 「404.php」);' – 2011-02-25 12:13:45