有没有一种方法可以加密或加扰特定文本,使其无法从浏览器查看源代码。例如,如果我在查看源 html 中显示了一个视频 ID 117,并且我想对其进行加密或使其难以阅读,这是否可能。
最佳答案
如果您希望视频链接除了在您刚刚返回给客户端的页面的上下文中之外没有用处,您可以使用服务器端代码做一些事情。
通常是专门为页面生成的一次性或限期 ID。例如,ab23jjgk23098jajzklwravmzzxwrpo2q3476as
而不是 117
。在服务器上,您有一张表将这些一次性/限时 ID 映射到真实 ID。在表中,您还可以将 ID 链接到页面请求的 IP 地址,然后仅当视频请求来自同一 IP 地址时才考虑 ID。重要的是 ID 不实际上包含视频 ID(混淆与否),因此是服务器端表,并且它们实际上是随机的。
我说的是“表”,但当然它不一定真的是数据库表。它可以是任何可以让您存储键/值对的东西,例如 memcached
。
根据您在下方的评论更新。
如果没有服务器端映射(数据库、 session 、memcached
等),您所能做的就是进行一些混淆,任何半技术人员都可以轻松破解。如果您要输出的是 URL(在链接中,在 object
标记中等),您可以使用 URL 编码使其难以阅读,例如:
<a href='video.php?%6e%6f%6e%73%65%6e%73%65=%66%6f%6f&%69%64=%31%31%37&%72%75%62%62%69%73%68=%62%61%72'>video</a>
...点击后,将使用参数 nonsense=foo
、id=117
调用您的 video.php
文件,和 rubbish=bar
(这是在查询字符串中编码的内容,使用百分比编码的实体)。但同样,尽管它可能会阻止非技术人员,但技术人员不会被吓倒。
关于php - 加密来自浏览器查看源的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6235596/