当前位置:  开发笔记 > 编程语言 > 正文

除非来自特定页面,否则限制对页面的访问

如何解决《除非来自特定页面,否则限制对页面的访问》经验,为你挑选了2个好方法。

我试图弄清楚如何限制对页面的访问,除非页面从特定的"门"页面导航到.基本上我希望页面无法访问,除非你来自我的站点地图中的页面.我不确定这是否可能.如果可能,您可以限制使用html或javascript的建议吗?



1> Konrad Rudol..:

如果可能,您可以限制使用html或javascript的建议吗?

不.因为没有安全的方法只使用这两种技术.在客户端进行的所有操作都可能被操纵(非常简单).如果你想确定,你必须通过检查REFERER(sic!)标题在服务器端强制执行此操作.

记住,即使这可以被操纵.

如果您在mod_rewrite启用时使用Apache ,则以下代码将根据引用页面限制访问:

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://www\.example\.com/.*
RewriteRule /* http://www.example.com/access-denied.html [R,L]

编辑:我刚检查了手册 ...不幸的是,这里不能提供401状态代码.因此上述解决方案并不完美,因为虽然它阻止了访问,但它并没有相应地设置HTTP状态.: - /在我的嘴里留下了不好的味道.



2> Piskvor cc-b..:

唯一有效的方法是在服务器上设置和检查一些访问令牌(在客户端操作任何数据都是微不足道的,因此普通的JS和HTML是不够的;对于Referer头部来说是相同的).PHP中的简化示例:

gate_page.php:

Protected area

protected_pa​​ge.php:

entry page first.';
    exit();
}

// whatever happens to be at the protected page

当然,添加一些密码检查和/或其他安全元素很容易,这是最低限度的.

推荐阅读
wurtjq
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有