情况......
我计划运行一个用于备份数据库的cron作业。由于php的安装方式,我不得不使用lynx来执行正在执行备份的php脚本。
因为这个脚本必须存在于我的public_html文件夹中,所以我想拒绝所有请求,除了直接来自我的服务器的请求(即:localhost)。另外,我假设我将来自的ip是127.0.0.1。我不确定这是否属实,但我想不出在这种情况下我的ip会是什么。我是否正确运行cron作业并从127.0.0.1命中脚本?
这是我的.htaccess的样子:
order allow,deny
deny from all
allow from 127.0.0.1
结果,我不断获得403 Forbidden。除了我自己,这是我想要为其他所有人做的事情。也许我会以错误的方式解决这个问题......有谁看到我做错了什么?
答案 0 :(得分:29)
反过来使用订单,即:
order deny,allow
deny from all
allow from 127.0.0.1
答案 1 :(得分:5)
<强> Require local 强>
如果满足以下任一条件,本地提供程序允许访问服务器:
这样可以方便地匹配源自本地主机的连接:
Require local
答案 2 :(得分:0)
狮子座的答案解决了我的问题。这是我设置的,因此我可以阻止直接访问图像:
<IfModule mod_rewrite.c>
<Files ~ "\.(jpg|jpeg|png|gif|pdf|txt|bmp|mp4|mov|ogg|wmv|webm|flv|mpg|mp2|mpeg|mpe|mpv|m4p|m4v|mp3|wav|acc|oga|m4a)$">
order deny,allow
deny from all
Require local
allow from all
</Files>
</IfModule>
我不想输入IP,以防以后更改本地IP
答案 3 :(得分:0)
在我添加以下内容之前,这里的所有答案都不允许我访问http://localhost:8888/:
if constexpr (std::is_constructible_v<T, Args...>) {
new (ptr) T(std::forward<Args>(args)...);
} else {
new (ptr) T{std::forward<Args>(args)...};
}
因此,就我而言,这是我的整个allow from localhost
文件:
.htaccess
order deny,allow
deny from all
# my IP
allow from xx.xx.xx.xx (use your own IP address here)
# Local development
allow from localhost
是代码注释。该文件仅允许我从浏览器在线(IP)访问本地站点,而从本地主机访问本地站点。
请记住,使用#
时顺序很重要。您先将order deny,allow
个放在文件中,然后再将deny
个放在文件中。
答案 4 :(得分:0)
尝试在您的/ assets /文件夹中添加具有以下内容的.htaccess文件:
Options +Indexes
# or #
IndexIgnore *
这样,您将在浏览器中看到文件夹为空。