Php 如何拒绝任何人从URL访问?
这可能很容易。。。但是在.htaccess文件中写入什么来阻止任何人从URL访问特定页面呢 像Php 如何拒绝任何人从URL访问?,php,.htaccess,Php,.htaccess,这可能很容易。。。但是在.htaccess文件中写入什么来阻止任何人从URL访问特定页面呢 像 用户可以更改url中的id值以访问另一个页面,因此我想防止…您不能,因为用户可以看到id并在其他选项卡和访问中键入相同的内容,有一种方法可以防止编辑,但如果不访问,请创建一个php文件并阻止每个id=12的请求,或者任何您想要阻止的请求。我认为您不能使用.htaccess文件来阻止。您最好使用会话和/或cookies来控制对受限内容的访问。我将编写一些PHP代码来处理此问题,而不是.htaccess规
用户可以更改url中的id值以访问另一个页面,因此我想防止…您不能,因为用户可以看到id并在其他选项卡和访问中键入相同的内容,有一种方法可以防止编辑,但如果不访问,请创建一个php文件并阻止每个id=12的请求,或者任何您想要阻止的请求。我认为您不能使用.htaccess文件来阻止。您最好使用会话和/或cookies来控制对受限内容的访问。我将编写一些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.");
}
?>
您可以改用post方法,这样用户就不知道文件之间传递的是什么变量。这可能会起到作用
RewriteEngine on
RewriteRule ^/?id=12$ /denied [L]
如果存在该查询参数,它至少可以防止调用脚本,这比允许点击实际访问脚本稍微安全一些。您可以通过PHP执行此操作:
<?php
$denied = array(12);
if (isset($_GET['id']) && in_array($_GET['id'], $denied)) {
header('HTTP/1.1 403 Forbidden');
exit;
}
?>
这可能应该在服务器端脚本中完成,而不是在.htaccess中。是否允许用户访问,但阻止他们访问服务器上的所有其他页面?@tkkuzzy:.htaccess根据定义是服务器端的。任何有点技术性的用户都可以查看它,这没有提供真正的保护。
<?php
$denied = array(12);
if (isset($_GET['id']) && in_array($_GET['id'], $denied)) {
header('HTTP/1.1 403 Forbidden');
exit;
}
?>