使用.htaccess和php动态允许ip地址
在问我的问题之前,我想声明我不了解apache服务器,因此我不知道我要问的问题是否可行 在我的服务器上有一个名为admin的文件夹。目前,其访问仅限于使用.htaccess的3个ip_地址,如下所示:使用.htaccess和php动态允许ip地址,php,apache,Php,Apache,在问我的问题之前,我想声明我不了解apache服务器,因此我不知道我要问的问题是否可行 在我的服务器上有一个名为admin的文件夹。目前,其访问仅限于使用.htaccess的3个ip_地址,如下所示: Order Deny,Allow Deny from all Allow from xx.xxx.xxx.xxx xx.xxx.xxx.xxx xx.xxx.xxx.xxx 现在我想问一下,是否可以使用php动态添加/更新ip_地址,并将php创建的文件包含在.htaccess中 比如说 &
Order Deny,Allow
Deny from all
Allow from xx.xxx.xxx.xxx xx.xxx.xxx.xxx xx.xxx.xxx.xxx
现在我想问一下,是否可以使用php动态添加/更新ip_地址,并将php创建的文件包含在.htaccess中
比如说
<form action="#" method="post">
<input type="text" name="ip_one" />
<input type="text" name="ip_two" />
<input type="text" name="ip_three" />
</form>
file.php
<?php
$ip_one = $_POST['ip_one'];
$ip_two = $_POST['ip_two'];
$ip_three = $_POST['ip_three'];
//AND THEN REPLACE THE EXISTING IP ADDRESSES IN THE .HTACCESS WITH THE THRE VALUES ABOVE
?>
毫无疑问,这不是达到我想要的目的的途径。有没有一种方法可以动态管理ip地址?理论上可以通过某种脚本来实现。一个想法可能是制作某种页面,您必须对其进行身份验证才能运行。脚本将获取您的ip,并将其插入.htaccess文件
尽管要这样做,您可以取消ip限制,转而实现密码身份验证方案,因为这基本上就是当时的情况。最重要的缺点是,您需要PHP用户(即web用户)拥有足够的权限来写入.htaccess文件。通常这是不允许的,否则web用户可能会破坏这一点 我可以想象运行crontab来实现这一点 您可以让PHP创建一个伪.htaccess.PHP,每当crontab运行时,它都会拾取该.htaccess.PHP文件并将其移动到.htaccess。因为crontab拥有的权限比php(又名web用户)多,所以应该可以这样做
仍然-确保您的php脚本不能创建一个.htaccess,它允许人们做比您想要的更多的事情。Hi Elshar,谢谢您的回答。我不知道如何使用php在.htaccess文件中传递ip地址。您是否有一个示例或链接来解释如何继续?谢谢