使用.htaccess限制对Intranet的外部访问

Tob*_*len 2 regex .htaccess mod-rewrite

我确信这是可能的,但它超出了我对.htaccess文件的微薄能力.

我们有一个内部的PHP应用程序,我们内部有基本的安全性,但不需要太担心.我想在网上提供工作人员外出时使用.我想基于htaccess或htpassword文件获得额外的安全性.

是否可以编写执行以下操作的htaccess文件

  • 如果用户从office.mydomain.com访问,则表示它们是内部的(office.mydomain.com解析为内部IP,如192.168.22.22),因此允许无阻碍访问
  • 如果用户从外部访问它将是external.myoffice.com - 如果这是一个额外的安全性,我想使用.htaccess和密码文件来让用户输入一个apache密码.

谁能告诉我如何用.htaccess文件写这个?

更新:感谢所有的答案,我已经发布了对我有用的答案,以帮助他人.

Kev*_*udé 5

您可以使用

RewriteCond %{REMOTE_ADDR} !^192\.168\.
Run Code Online (Sandbox Code Playgroud)

指定外部IP的条件,或使用

RewriteCond %{REMOTE_ADDR} ^192\.168\.
Run Code Online (Sandbox Code Playgroud)

对于本地IP的条件.

您只需以合理的方式将这些内容集成到现有的htaccess规则中.

  • @Toby Allen:要将其用于访问控制,你需要在`RewriteRule`中使用`forbidden | F`标志. (2认同)