使用链接而不是表单按钮进行爬行的PHP年龄验证
我正在开发一个需要年龄验证的网站。如果有人访问该网站,则必须将其重定向到年龄验证页面,而不管键入的URL是什么。在理想情况下,这个年龄验证页面将不同于index.php,类似于/verification或类似的内容 我知道当使用表单按钮时,爬虫程序在通过验证时会遇到问题,所以我需要的是一个脚本,它可以处理两个链接:我超过18岁,我不到18岁。这两个链接将是链接到网站主页或网络中其他地方的图像 大多数年龄验证脚本都使用出生日期选择器,但经过一点研究,我无意中发现了以下代码:使用链接而不是表单按钮进行爬行的PHP年龄验证,php,forms,session,Php,Forms,Session,我正在开发一个需要年龄验证的网站。如果有人访问该网站,则必须将其重定向到年龄验证页面,而不管键入的URL是什么。在理想情况下,这个年龄验证页面将不同于index.php,类似于/verification或类似的内容 我知道当使用表单按钮时,爬虫程序在通过验证时会遇到问题,所以我需要的是一个脚本,它可以处理两个链接:我超过18岁,我不到18岁。这两个链接将是链接到网站主页或网络中其他地方的图像 大多数年龄验证脚本都使用出生日期选择器,但经过一点研究,我无意中发现了以下代码: 酒精年龄验证示例页面
酒精年龄验证示例页面
进入本网站前,请确认您已年满21岁
有人能帮我用图片+链接代替提交按钮,并重定向到mydomain.com/verification代替mydomain.com/index.php来证明年龄吗?除了脚本,我还需要使用任何.htaccess规则吗
提前谢谢。太复杂了。只要贴一张这样的图片:一个爬虫机器人有多大了?@Dagon你是从页面浏览量算的还是怎么算的/讽刺。当它达到测试版时,我会开始计数。@SLaRe不要复制和粘贴另一个问题的整个代码,试着制作一些显示图像并接受答案的代码,然后发布一个具体的问题,说明什么不适合你。不,您不需要。htacces只访问PHP和会话就足够了,如果会话没有有效的年龄验证,请将其发送到验证页面。
<?php
session_start();
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if (isset($_POST['YES'])) {
$redirect = isset($_GET['return']) ? urldecode($_GET['return']) : './';
$expire = isset($_GET['x']) && is_numeric($_GET['x']) ? intval($_GET['x']) : -1;
if ($expire == - 1) {
$_SESSION['verified'] = "yes";
header("location: " . $redirect);
exit(0);
}
if ($expire == 0) {
setcookie("verified", "yes", mktime(0, 0, 0, 01, 01, date("Y") + 30));
$_SESSION['verified'] = "yes";
header("location: " . $redirect);
exit(0);
}
setcookie("verified", "yes", (time() + $expire));
$_SESSION['verified'] = "yes";
header("location: " . $redirect);
exit(0);
}
else {
header("location: http://www.youtube.com/watch?v=gppbrYIcR80");
exit(0);
}
}
?>
function verified(){
$redirect_url = 'http://www.YOURSITEROOT.com/verify.php';
$expires = - 1;
session_start();
$validated = false;
if (!empty($_COOKIE["verified"])) {
$validated = true;
}
if (!$validated && isset($_SESSION['verified'])) {
$validated = true;
}
if (is_numeric($expires) && $expires == - 1 && !isset($_SESSION['verified'])) {
$validated = false;
}
if ($validated) {
return;
}
else {
$redirect_url = $redirect_url . "?return=" . $_SERVER['REQUEST_URI'] . "&x=" . $expires;
Header('Location: ' . $redirect_url);
exit(0);
}
}
verified();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>
Alcohol Age Verification Example Page
</title>
<link href="style.css" type="text/css" rel="stylesheet" />
</head>
<body>
<form action="" method="POST">
<p id="textVerify">
PLEASE VERIFY THAT YOU ARE OVER AGE 21 BEFORE ENTERING THIS SITE
</p>
<input name="NO" id="no" type="Submit" value="NO - Leave" />
<input name="YES" id="yes" type="Submit" value="Yes - Enter" />
</form>
</body>
</html>