我在开发环境中,我们正在使用基本的.htaccess / .htpasswd身份验证来阻止潜伏者。但是我的一些AJAX调用正在返回HTTP / 401身份验证失败错误。我是否可以仅允许访问这些特定的URL?我不能通过在子文件夹中弹出一个新的.htaccess来轻松实现它,因为CodeIgniter使用了ReWrites。
答案 0 :(得分:1)
不允许仅访问这些特定网址。不幸的是,.htaccess和.htpasswd身份验证仅在目录级别上运行。并且你完全正确的为什么只使用子目录将无法工作 - CI重写的b / c,这发生在Apache将控制权转移到CodeIgniter的index.php前端控制器之后。
简单的选择,如果您正在处理的事情(1)不可能首先被黑客攻击,(2)即使不能泄露敏感数据,也是通过默默无闻的方式使用安全性。没有任何指向您的开发站点的链接,包括搜索引擎爬虫的noindex指令,并继续您的快乐方式。这样做的另一个好处是,您只需告诉他们要访问的URL,就可以与同事和朋友一起测试网站的版本。
如果您更担心安全性,那么您可能正在为您的网站用户构建一个auth模块。在这种情况下,对于您的开发环境,只需在构造函数中为所有控制器调用该auth模块,如果用户未登录,则重定向到登录页面。
祝你好运!