我确信这是可能的,但它超出了我对.htaccess文件的微薄能力。
我们有一个内部的php应用程序,我们内部有基本的安全性,但不需要太担心。我想在网上提供工作人员外出时使用。我想基于htaccess或htpassword文件获得额外的安全性。
是否可以编写执行以下操作的htaccess文件
有谁能告诉我如何用.htaccess文件写这个?
更新:感谢所有答案,我已经发布了对我有用的答案,以帮助他人。
答案 0 :(得分:5)
您可以使用
RewriteCond %{REMOTE_ADDR} !^192\.168\.
指定外部IP的条件,或使用
RewriteCond %{REMOTE_ADDR} ^192\.168\.
了解本地IP的情况。
您只需要以明智的方式将这些内容整合到现有的htaccess规则中。
答案 1 :(得分:3)
我认为这确实可以做你想要的; <击> http://codesanity.net/2009/11/conditional-htpasswd-multienvironment-setups/ 击> <击> http://tomschlick.com/2009/11/08/conditional-htpasswd-multi-environments/ 击>
https://tomschlick.com/2009/11/08/conditional-htpasswd-multi-environments
答案 2 :(得分:2)
你去吧
order deny,allow
allow from 192.168.22.0/255.255.255.0
deny from all
您可以使用子网掩码来确保访问者来自同一网络。如果您需要寻址另一个网络,只需使用这些IP(如服务器所见)
答案 3 :(得分:2)
要完成此答案,请执行以下工作。
#allows everything if its on a certain host
SetEnvIf HOST "^www.mysite.com" external_url
SetEnvIf HOST "^localhost" local_url
Order Deny,Allow
AuthName "Restricted Area"
AuthType Basic
AuthUserFile path/to/your/.htpasswd
AuthGroupFile /
Require valid-user
#Allow valid-user
Deny from all
Allow from env=external_url
Allow from env=local_url
Satisfy any
如果您通过www.mysite.com访问,则会弹出一个限制区域登录框,但如果您来到本地,则不会显示任何内容。