是否有可能有一个链接不可见/隐藏在网页源,但活跃时,按钮点击

Is it possible to have a link invisible/hidden in webpage source but active when button click?

本文关键字:活跃 按钮 网页 链接 有一个 有可能 隐藏 是否      更新时间:2023-09-26

嘿,伙计们,我想知道,有没有可能有一个链接不可见/隐藏在网页源,但活跃时,一个按钮被点击?我为什么想要这个?因为我正在创建一个网页类型的游戏,但我不希望用户能够只是右键单击,看到源代码(我不是说禁用右键),所以他们可以看到下一个URL,并手动输入到网页浏览器,以获得下一个页面/水平,我希望它是给他们当他们完成挑战,点击提交按钮。对不起,如果我没有很容易地解释这一点,如果你不太明白,只是说,我会尝试重新表达我想说的话:)

最好使用Jquery,包括PHP

    <script language="JavaScript">
  function TheFunction(answer) {
    if (answer == "theanswer") {
      alert("Well done, time for level 2.");
      location.href = "<?php echo "hi"; ?>.php"; // <-- or somthing like this
    }
    else {
        alert("Wrong answer.");
    }
  }
</script>

您可以使用xmlhttprequest (AJAX)从php脚本中获取下一个URL,如下所示:

$urls = array(
    1 => 'myGame1.php',
    2 => 'thisIsPage2.php',
    3 => 'iLikeJavaScript.html'
);
if (isset($_POST['nextPageUrl']), is_int($_POST['nextPageUrl'])) {
    echo $urls[$_POST['nextPageUrl']];
}

在这个例子中,你有一个包含所有url的数组,只回显你需要的那个。或者,您可以从数据库中加载下一页,生成一个新的随机文件,无论您需要什么。

在你的javascript方面,你使用这样的东西(假设你使用的是jQuery,"正常"javascript也是可能的,只是有点复杂):

function TheFunction(answer) {
    if (answer == "theanswer") {
        alert("Well done, time for level 2.");
        $.ajax({
            url: 'yourPage.php', 
            data: { nextPageUrl: 2 }
        }).done(function (msg) {
            location.href = msg;
        });
    }
    else {
        alert("Wrong answer.");
    }
}

这只是实际解决方案的一种方法。每个客户端验证都可以被绕过,因此您不妨检查php文件中的答案,以确保没有人手动执行AJAX请求。

这可以简单地通过修改php文件,并通过ajax(扩展data -object)将答案传递给脚本来完成。

$urls = array(
    1 => array('url' => 'myGame1.php', 'answer' => 'theanswer'),
    2 => array('url' => 'thisIsPage2.php', 'answer' => 'theanswer2'),
    3 => array('url' => 'iLikeJavaScript.html', 'answer' => 'theanswer3'),
);
if (isset($_POST['nextPageUrl']), is_int($_POST['nextPageUrl'])) {
    if ($urls[$_POST['nextPageUrl']]['answer'] == $_POST['thisAnswer'])
        echo $urls[$_POST['nextPageUrl']]['url'];
}

你可以尝试从一个根本不包含下一个按钮/链接的网页开始,然后使它,当他们完成"挑战"时,网页更改为有下一个挑战链接的版本。

你可以使用javascript (jQuery: http://www.w3schools.com/jquery/jquery_hide_show.asp)

但这并不能保护你的网页,因为人们总是可以看到javascript。你必须保护php中的下一个页面/级别。

这是可能的…假设你有一个mysql数据库…
你必须把你的链接放进去……例如,看看我为你写的这段代码:

$query = "select * from lnkstabl";
$res = mysql_query($query);
$row = mysql_fetch_array($res);
echo '<a href="http://' . $row['link'] . '">go to link</a>';

您可能正在考虑这样的事情:

在服务器端,像这样创建一个包含javascript代码的文件JS.php:

echo '
  function Try(answer) {
    if (answer == "theanswer") {
      alert("Well done, time for level 2.");
      location.href = "<?php echo "hi"; ?>.php"; // <-- or somthing like this
    }
    else {
        alert("Wrong answer.");
    }
  }';
header('Content-Type: text/javascript');

客户端

<script src="path/to/JS.php"></script>