這可能是很容易...但在.htaccess文件中寫什麼,以防止任何人從URL訪問特定頁面如何拒絕任何人從URL訪問?
像
http://example.com?id=12
用戶可以更改值從URL訪問ID另一個頁面,所以我想要防止...
這可能是很容易...但在.htaccess文件中寫什麼,以防止任何人從URL訪問特定頁面如何拒絕任何人從URL訪問?
像
http://example.com?id=12
用戶可以更改值從URL訪問ID另一個頁面,所以我想要防止...
你不能因爲用戶可以看到id和鍵入相同的東西到其他標籤和訪問,有一種方法來防止編輯,但儘可能它不適合訪問,創建一個php文件並阻止每個id = 12的請求,或任何你想阻止的請求。
我不認爲你可以使用.htaccess文件來做到這一點。您最好使用會話和/或Cookie來控制對受限內容的訪問。
我會寫一些代碼PHP來處理這個問題,而不是.htaccess規則。
像這樣的工作:
if(array_key_exists('id', $_GET) {
if($_GET['id'] === 12)
die("Cannot view this page");
}
信息在PHP認證和訪問控制的一些研究。有人能夠給你一個代碼片段或簡短答案在這裏有點複雜。
如果您在使用代碼時遇到了特定的問題以實現所學知識,那麼這裏就是尋求幫助的地方。
一致認爲,這是更多的服務器端問題,如果應該允許用戶訪問特定頁面。使用.htaccess規則可能會變得非常複雜。
爲什麼不嘗試這樣的事:
<?php
$allow = array(12, 13); // values that you want to allow access to
if (in_array($_GET['id'], $allow) !== true) {
die("Access denied.");
}
?>
這可能做的伎倆
它會至少防止被調用的腳本,如果該查詢參數存在,這是稍微比使命中實際得到的腳本更安全。
你會通過PHP這樣做:
<?php
$denied = array(12);
if (isset($_GET['id']) && in_array($_GET['id'], $denied)) {
header('HTTP/1.1 403 Forbidden');
exit;
}
?>
這也許應該在你的服務器端腳本來完成,而不是在.htaccess中。 – tskuzzy
您希望允許用戶訪問http://example.com?id=12,但阻止他們訪問服務器上的所有其他頁面? – Matthew
@tkkuzzy:.htaccess是由服務器端定義的。 –