我希望能够在页面上显示一些值,但它们隐藏在页面的源代码。 Im相当肯定这是不可能的,但我想我会问。
编辑
我写我自己的验证系统,以防止黑客/垃圾邮件发送者。 传递数据时,但原始值可以在页源当前观看的使用加密IM(因而有人能编写源上的环和拉数据)。
我希望能够在页面上显示一些值,但它们隐藏在页面的源代码。 Im相当肯定这是不可能的,但我想我会问。
编辑
我写我自己的验证系统,以防止黑客/垃圾邮件发送者。 传递数据时,但原始值可以在页源当前观看的使用加密IM(因而有人能编写源上的环和拉数据)。
据官方统计,按您的标签不包括JavaScript:不...
然而,有可能写入到DOM加载后,但可能不会达到你到底想要什么。
你可以这样做:
<div id="something">
</div>
然后在页面加载使用JavaScript在您的页脚注入该div的价值:
<script type="text/javascript">
document.getElementById("something").innerHTML = "This is a previously hidden value";
</script>
这将其写入负载后的DOM,而不是将其写入网页源代码。 真正的问题是什么是你真正想干什么? 如果你想完全隐藏的东西,那么这是非常简单,只是不便。 任何人想钻出来就能跟踪下来。
如果你与你的真实意图更新您的问题,那么也许我们可以提供更好的解决方案。
编辑
根据你的编辑你想不显示原始值的验证系统。 一种选择是将值存储在数据库中,只有通过该行形式的参考编号,假设这是你的意思。 你可以在服务器端所有的处理,并尽量减少传递到客户端的敏感数据的量。
要做到这一点的方法是有一个<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');
}
});
最直接的答案是否定的,这是不可能的 - 因为浏览器必须接收任何它打算显示。
随着中说,这取决于你的意图有办法来显示内容的页面,但隐藏在源。
一个共同的地方,这是一个问题是,你希望收到反垃圾邮件插件隐藏,但需要显示给用户的电子邮件 - 如果这个(或类似的东西)的话,我提出了几个解决方案:
使用HTML字符实体遮掩的话:请参见这里 。
使用JavaScript来动态地生成它
使用HTML编码: 这是一个很好的工具。
使用插件如SilverLight这样与DRM: 在这里看到 。
即成图像 (注意,一些垃圾邮件机器人懂得使用OCR)
使用类似的reCAPTCHA mailhide
在一天结束的时候,用户将几乎可以肯定能够复制不管它是你正在试图隐藏-但如果你只是想抵御垃圾邮件机器人或者自动化工具,这些选项之一可能为你工作。
由于该页面的源代码是所有浏览器需要在页面上产生的一切数据,这是不可能没有。
Ofcourse您可以显示图像而不是值,是不是从源代码中直接读取。 或使用HTML5画布或东西。
不幸的是,简短的回答这个问题是,你不能。 已经有各种方法提出,但所有这些都是很容易规避。 最终,只有确保消防方式,以确保没有人能够窃取你的源代码是从来没有把它在互联网上的。