Php 如何使用reCaptcha从机器人程序中隐藏我网站上的PDF文件?

Php 如何使用reCaptcha从机器人程序中隐藏我网站上的PDF文件?,php,ajax,recaptcha,captcha,Php,Ajax,Recaptcha,Captcha,我目前正在尝试在我的个人网站上共享一个PDF文档。 当这不是一个问题时,我需要对机器人隐藏它。 我试着使用谷歌的隐形reCAPTCHA,但遇到了一些问题。 网络爬虫可以搜索源代码,所以非活动按钮不起作用。 我是否需要一个特殊的页面来检查是否完成了reCAPTCHA?也许有一种简单的方法可以始终显示链接,但在发现非人类链接时,可以使用PHP帮助隐藏链接HREF或表单操作属性 <form id="resume" action="subpage_that_shows_my_pdf

我目前正在尝试在我的个人网站上共享一个PDF文档。 当这不是一个问题时,我需要对机器人隐藏它。
我试着使用谷歌的隐形reCAPTCHA,但遇到了一些问题。 网络爬虫可以搜索源代码,所以非活动按钮不起作用。 我是否需要一个特殊的页面来检查是否完成了reCAPTCHA?也许有一种简单的方法可以始终显示链接,但在发现非人类链接时,可以使用PHP帮助隐藏链接HREF或表单操作属性

        <form id="resume" action="subpage_that_shows_my_pdf_file_link.html" method="POST">
            <button class="g-recaptcha" data-sitekey="666" data-callback="onSubmit" type="submit">Submit</button>
        </form>
事实上,谷歌文档对此没有帮助。

好的,我用验证码应答完成了。我的主要代码部分:

index.php

file.php


在特殊页面上,只有在这个特定会话中,谷歌隐形验证码回答“是”,看起来像普通用户时,才会显示代码:

试图使用谷歌的隐形重新验证码,但出现了一些问题。分享问题,分享代码问题正如我所写的-机器人仍然可以在源代码中看到直接链接你做错了,带有reCAPTCHA的页面发布到新页面,新页面检查reCAPTCHA并提供文件。好的,所以机器人仍然可以访问该页面并找到PDF链接,如何防止它们?不要将链接放在一个只有通过reCAPTCHA测试才能访问的页面上
        <form id="reCaptchaForm" action="file.php" method="POST">
            <button class="g-recaptcha" data-sitekey="..." data-callback='onSubmit' >link</button>
        </form>
if(isset($_POST['g-recaptcha-response'])) {
$secretKey = '...';
$response = $_POST['g-recaptcha-response'];
$remoteIp = $_SERVER['REMOTE_ADDR'];
$reCaptchaValidationUrl = file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=$secretKey&response=$response&remoteip=$remoteIp");
$result = json_decode($reCaptchaValidationUrl, TRUE);
if($result['success'] == 1) {
    $userMessage = '<meta http-equiv="refresh" content="0;URL='file.pdf'" />';
}