Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php .htaccess-只允许一次转诊;快速CGI_Php_Apache_.htaccess_Referer - Fatal编程技术网

Php .htaccess-只允许一次转诊;快速CGI

Php .htaccess-只允许一次转诊;快速CGI,php,apache,.htaccess,referer,Php,Apache,.htaccess,Referer,我第一次创建了.htaccess文件,但它对我不起作用 我的htaccess如下所示: RewriteEngine On RewriteCond %{HTTP_REFERER} !^https://(www\.)?mysite.net/.*$ [NC] RewriteRule .* - [F] .htaccess文件位于与子域support.somesite.com 我只想允许https://www.mysite.netdomain(https://www.mysite.net/qa/test

我第一次创建了
.htaccess
文件,但它对我不起作用

我的htaccess如下所示:

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^https://(www\.)?mysite.net/.*$ [NC]
RewriteRule .* - [F]
.htaccess
文件位于与子域
support.somesite.com
我只想允许
https://www.mysite.net
domain(
https://www.mysite.net/qa/test.aspx
和其他有链接到
support.somesite.com

但是,上面的.htacess不起作用。我运行了phpinfo,看到服务器API是cgi/fastcgi,而不是Apache。我不知道这是否是一个问题


这是mod_重写模块的问题吗?我可以将上面的htaccess与fastcgi服务器API一起使用吗?

HTTP\u REFERER与https不兼容。

那么你的建议是什么呢?我找到了以下链接-这几乎就是我的情况。所以我有两页。一个是,它托管在IIS上,有ASPNET页面。另一个是support.somesite.com,它托管在Apache服务器上,但目前客户端只使用html页面。我需要支持。somesite.com只允许作为参考。这只是为了减少一点流量,但它不是那么重要的安全问题。那么我应该使用什么呢?我想添加第一个站点是https,第二个站点是http,所以我正在从https链接到http。就是这样。当您来自https页面时,HTTP_REFERER标头不可用。我没有别的建议,只是按照那个问题中的建议去做。基本上,在url中添加一个秘密(这样从mysite.net/qa链接的url每次都会更改)并在第二个站点中验证它,一个秘密就像(REMOTE_ADDR,hmac(REMOTE_ADDR)),其中hmac就像一个散列函数。然而,IMHO的流量是便宜的,在这种情况下,你不应该做任何事情。