使用PHP会话进行年龄验证

Rya*_*yan 1 php session

我实施了年龄验证系统,用户只有在选中主页上的“我是21岁”复选框后,才能查看网站页面。

他们这样做的方式是在选中复选框时设置一个PHP会话变量。然后,对于所有php网页,我的代码都会进行检查,以确保设置了“我是21岁”会话变量。

因此,这适用于我要阻止的任何PHP网页。但是缺点是我必须在每个php文件的顶部添加age块php代码段,并且它不适用于任何非php文件。

所以我的问题是,无论如何我是否可以使用“ I am 21”会话变量来简单地阻止/允许访问整个目录?这样我就不必在每个PHP文件中都添加年龄限制,从而可以阻止非PHP文件(例如PDF)。例如,是否可以在.htaccess中访问PHP会话变量?

Mar*_*c B 5

您可以将其设置在cookie中,然后添加一些httpd.conf和/或.htaccess规则来检查该cookie是否存在。就像是

RewriteCond %{HTTP_COOKIE} !/IsOldEnough=1/ [NC]
RewriteRule ^.* http://www.disney.com
Run Code Online (Sandbox Code Playgroud)

如果我没有正确设置IsOldEnoughCookie和/或不等于1的任何人(如果我的语法正确),则将其重定向到迪士尼站点。