除了某些URL之外,.htaccess阻止本地服务器上的外部访问

时间:2015-02-21 08:02:35

标签: apache .htaccess

我目前在MAMP服务器上设置本地.htaccess,以阻止来自本地系统外部的所有传入流量;

<FilesMatch ".*">
Order deny,allow
Deny from all
Allow from 127.0.0.1
</FilesMatch>

这样可以正常工作,但我使用像PayPal这样的API,需要访问您的网站以获取IPN。是否可以对网站的其余部分保留限制,并允许外部访问仅限于https://example.com/paypal_ipn等特定网址?

我知道我可以在使用IPN时关闭限制,但这不是我想要的。非常感谢。

1 个答案:

答案 0 :(得分:3)

您可以在根目录中使用基于mod_rewrite的规则.htaccess:

RewriteEngine On

RewriteCond %{THE_REQUEST} !/paypal_ipn [NC]
RewriteCond %{REMOTE_ADDR} !^127\.0\.0\.1
RewriteRule ^ - [F]

这将阻止所有不是的请求:

  1. 来自localhost(127.0.0.1
  2. for /paypal_ipn