我有2个独立的服务器(服务器A和服务器B),每个服务器都有一个PHP脚本(脚本1和脚本2)。
我在服务器B上运行了我想要运行的PHP脚本2,但仅限于服务器A上的PHP脚本1.我不希望任何其他http请求通过受保护脚本所在的服务器B上的目录。< / p>
换句话说 - &gt;在服务器B上运行脚本2 仅当 http请求来自服务器A上的脚本1. {注意:我不想按IP按键,只能通过引用脚本]
使用Allow和Denys在.htaccess文件中是否可行?或者是以其他方式完成的。
我无法通过_SERVER var执行此操作,因为我似乎无法捕获PHP脚本2中的引用脚本。
感谢。
答案 0 :(得分:1)
您可以拒绝访问服务器B上除服务器A(使用ip = 888.888.888.888)之外的所有IP,方法是将其添加到脚本根目录中的.htaccess:
order deny,allow
deny from all
allow from 888.888.888.888
但这取决于服务器A如何访问服务器B上的脚本 - 如果它是服务器端调用它应该工作。
我还建议使用令牌系统:
服务器A向服务器B发送请求和令牌(类似于md5(秘密字符串+请求数据))
服务器B检查令牌,并在所有内容都检出时运行脚本。
答案 1 :(得分:0)
这是一种方法。
将以下内容放在服务器B的根目录中的.htaccess
中# if the ip address matches the server of script1, set MY_ALLOW (default=1)
#change the ip to match the ip of server A
Setenvif Remote_Addr ^12\.34\.567\.89$ MY_ALLOW_SCRIPT2
#if the script is not allowed
RewriteCond %{ENV:MY_ALLOW_SCRIPT2} !1
# return a 403 forbidden
RewriteRule ^script2 - [F]