我有這個站點如何防止url參數?
site.com/path/file.php
我想阻止用戶添加file.php?id=
或file.php
後的任何事情我應該怎麼辦?我想這樣做的網址,因爲它是,並防止任何額外的參數
我想要做的事情是解析的網址,但這將有助於玩參數?
我的意思是如果解析器讀取file.php?id
和請求的網頁file.php?page=
我有這個站點如何防止url參數?
site.com/path/file.php
我想阻止用戶添加file.php?id=
或file.php
後的任何事情我應該怎麼辦?我想這樣做的網址,因爲它是,並防止任何額外的參數
我想要做的事情是解析的網址,但這將有助於玩參數?
我的意思是如果解析器讀取file.php?id
和請求的網頁file.php?page=
你能趕上任何參數,在URL或張貼,有:
if (count($_GET)+count($_POST) > 0)
{
<execute some error code>
die('Ah, you cannot do that!');
}
這是幫助太謝謝 –
一種方法,你可以嘗試不使用相同的頁面處理功能。使用AJAX請求並限制您指定的Post PHP頁面,如「/include/processmyform.php」或其他內容,以允許AJAX請求/僅允許來自Web服務器的AJAX請求。
define('IS_AJAX', isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest');
if(!IS_AJAX) {
#You can use this condition to ignore or block their request.
die('That method is not allowed!');
} else {
#If they did post AJAX, make sure it's a legitimate request from your server.
$pos = strpos($_SERVER['HTTP_REFERER'],getenv('HTTP_HOST'));
if($pos===false) {
die('That method is not allowed!');
} else {
#All good - Cooking with hot grease!
$id = htmlspecialchars($_POST['id']);
$somevar = htmlspecialchars($_POST['someparam']);
}
}
你不能阻止它,但你可以忽視它或重定向無效請求。 –
如果你不使用GET參數,somone添加它們並不重要。我相信很少有人會嘗試只是隨機添加params到一個網址。 – JimL
你可以在'.htaccess'中做一個重定向。 – chris85