如何授予服务器访问PHP文件的权限,而其他人则不能?

时间:2020-09-13 11:39:32

标签: php apache .htaccess permissions ubuntu-18.04

我已将其添加到位于项目根目录的.htaccess文件中

<Files *.php>
    Require host lamtakam.test lamtakam.com
    Require ip ::1 95.216.xx.xx
</Files>

我曾经使用xx.xx来将我的真实IP隐藏在公共社区中,实际上,这里有数字而不是x

现在,我需要每天从同一服务器调用文件(使用cron作业crontab),如下所示:

0 22 * * * wget /path/to/file.php

但是我得到这个错误:

--2020-09-13 13:33:55--  https://lamtakam.com/path/to/file.php
Resolving lamtakam.com (lamtakam.com)... 104.31.74.192, 172.67.174.239, 104.31.75.192, ...
Connecting to lamtakam.com (lamtakam.com)|104.31.74.192|:443... connected.
HTTP request sent, awaiting response... 403 Forbidden
2020-09-13 13:33:55 ERROR 403: Forbidden.

注意:我使用Cloudflare ,这些IP属于它:104.31.74.192, 172.67.174.239, 104.31.75.192

有什么想法,当我可以从同一台服务器上访问file.php时,该怎么做? (而不是其他任何地方)

1 个答案:

答案 0 :(得分:0)

您可以在crontab中像这样使用curl

curl -k https://localhost/path/to/file.php'

或:

curl --insecure https://localhost/path/to/file.php

根据man grep

-k, --insecure

(TLS)默认情况下,将验证每个SSL连接curl的安全性。此选项允许卷曲继续进行,甚至可以对服务器进行操作 连接否则被认为是不安全的。

并通过允许IP:Files和主机:127.0.0.1来修改localhost指令:

<Files *.php>
    Require host localhost lamtakam.test lamtakam.com
    Require ip ::1 127.0.0.1 95.216.xx.xx
</Files>