它可能很容易......但是在.htaccess文件中写什么来阻止任何人从URL访问特定页面
喜欢
http://example.com?id=12
用户可能会更改网址中的ID值以访问其他网页,因此我想阻止该...
答案 0 :(得分:1)
我认为你不能使用.htaccess文件。最好使用会话和/或cookie来控制对受限制内容的访问。
答案 1 :(得分:1)
我会编写一些代码PHP来处理这个问题,而不是.htaccess规则。
这样的事情会起作用:
if(array_key_exists('id', $_GET) {
if($_GET['id'] === 12)
die("Cannot view this page");
}
答案 2 :(得分:1)
对PHP中的身份验证和访问控制进行一些研究。有人能够在这里给你一个代码片段或简短的答案,这有点复杂。
如果您的代码遇到特定问题,无法实施所学知识,那么这就是寻求帮助的地方。
答案 3 :(得分:0)
你不能因为用户可以看到id并向其他选项卡输入相同的内容并访问,有一种方法可以防止编辑,但是就不访问而言,创建一个php文件并阻止每个id = 12个请求,或者您要阻止的任何请求。
答案 4 :(得分:0)
同意如果允许用户访问特定页面,这更像是服务器端问题。使用.htaccess规则会变得非常复杂。
为什么不尝试这样的事情:
<?php
$allow = array(12, 13); // values that you want to allow access to
if ( in_array($_GET['id'], $allow) !== true ) {
die("Access denied.");
}
?>
答案 5 :(得分:0)
这可能会成功
RewriteEngine on
RewriteRule ^/?id=12$ /denied [L]
如果存在查询参数,它至少会阻止调用脚本,这比允许命中实际到达脚本稍微安全一些。
答案 6 :(得分:0)
您可以通过PHP执行此操作:
<?php
$denied = array(12);
if (isset($_GET['id']) && in_array($_GET['id'], $denied)) {
header('HTTP/1.1 403 Forbidden');
exit;
}
?>
答案 7 :(得分:-1)
您可以使用post方法,因此用户不知道文件之间传递了什么变量。