隐藏页面源值,但显示页(Hide values from page source but show

2019-10-29 19:21发布

我希望能够在页面上显示一些值,但它们隐藏在页面的源代码。 Im相当肯定这是不可能的,但我想我会问。

编辑

我写我自己的验证系统,以防止黑客/垃圾邮件发送者。 传递数据时,但原始值可以在页源当前观看的使用加密IM(因而有人能编写源上的环和拉数据)。

Answer 1:

据官方统计,按您的标签不包括JavaScript:不...

然而,有可能写入到DOM加载后,但可能不会达到你到底想要什么。

你可以这样做:

<div id="something">

</div>

然后在页面加载使用JavaScript在您的页脚注入该div的价值:

<script type="text/javascript">
    document.getElementById("something").innerHTML = "This is a previously hidden value";
</script>

这将其写入负载后的DOM,而不是将其写入网页源代码。 真正的问题是什么是你真正想干什么? 如果你想完全隐藏的东西,那么这是非常简单,只是不便。 任何人想钻出来就能跟踪下来。

如果你与你的真实意图更新您的问题,那么也许我们可以提供更好的解决方案。

编辑

根据你的编辑你想不显示原始值的验证系统。 一种选择是将值存储在数据库中,只有通过该行形式的参考编号,假设这是你的意思。 你可以在服务器端所有的处理,并尽量减少传递到客户端的敏感数据的量。



Answer 2:

要做到这一点的方法是有一个<div id='fillme'>您的网页上(或其他容器),然后使用AJAX与页面加载后的信息来填充它。 这样,当有人点击“查看源文件”,他们将JavaScript的运行后看到HTML(或PHP或其他)已加载的文件,而不是最终结果的内容。 jQuery有精彩的AJAX功能,你会用这样的代码结束:

$.ajax({
    type: 'POST',
    url: '/server/side/script.php',
    dataType: 'json',
    data: { thing: value, thing2: value },
    async: false,
    success: function(data) {
        $('#fillme').html(data);
    },
    error: function() {
        alert('oops');
    }
});


Answer 3:

最直接的答案是否定的,这是不可能的 - 因为浏览器必须接收任何它打算显示。

随着中说,这取决于你的意图有办法来显示内容的页面,但隐藏在源。

一个共同的地方,这是一个问题是,你希望收到反垃圾邮件插件隐藏,但需要显示给用户的电子邮件 - 如果这个(或类似的东西)的话,我提出了几个解决方案:

  1. 使用HTML字符实体遮掩的话:请参见这里 。

  2. 使用JavaScript来动态地生成它

  3. 使用HTML编码: 这是一个很好的工具。

  4. 使用插件如SilverLight这样与DRM: 在这里看到 。

  5. 即成图像 (注意,一些垃圾邮件机器人懂得使用OCR)

  6. 使用类似的reCAPTCHA mailhide

在一天结束的时候,用户将几乎可以肯定能够复制不管它是你正在试图隐藏-但如果你只是想抵御垃圾邮件机器人或者自动化工具,这些选项之一可能为你工作。



Answer 4:

由于该页面的源代码是所有浏览器需要在页面上产生的一切数据,这是不可能没有。

Ofcourse您可以显示图像而不是值,是不是从源代码中直接读取。 或使用HTML5画布或东西。



Answer 5:

不幸的是,简短的回答这个问题是,你不能。 已经有各种方法提出,但所有这些都是很容易规避。 最终,只有确保消防方式,以确保没有人能够窃取你的源代码是从来没有把它在互联网上的。



文章来源: Hide values from page source but show on page