Products
GG网络技术分享 2025-03-18 16:15 0
您可以使用 JavaScript 在客户端进行验证,以确保网页只被真实用户浏览,而非被爬虫收集。具体实现方式有很多,下面是一种简单的方法:
下面是一个示例代码,可以在网页的 head 标签中放置:
JavaScript 代码:
<script>function makeid(length) {
var result = '';
var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
var charactersLength = characters.length;
for ( var i = 0; i < length; i++ ) {
result += characters.charAt(Math.floor(Math.random() * charactersLength));
}
return result;
}
document.getElementById("token").value = makeid(10);
var token = document.getElementById("token").value;
<?php $_SESSION['token'] = token;?>
</script>
HTML 代码:
<form method="post" action="your-server-side-code.php"><input type="hidden" name="token" id="token" value="">
<!-- other form elements here -->
<input type="submit" value="Submit">
</form>
PHP 代码:
<?phpsession_start();
$token = $_POST['token'];
if($token !== $_SESSION['token']) {
// Handle invalid token, for example:
echo "Invalid token!";
exit;
} else {
// Handle valid token, for example:
echo "Valid token!";
// Perform the rest of your logic here
}
?>
这段代码中,JavaScript 代码生成一个10位长度的随机字符串并将其赋值给隐藏输入框。在页面加载时将这个token存储到session中。在提交表单时,PHP 代码检查提交的token值和session中的token是否相同,如果相同则说明页面是通过真实用户访问的,反之则是被采集了。
请注意, 这只是一个简单的验证方式,并不能100%防止爬虫采集,高级的爬虫可能会绕过这种验证。Demand feedback