试图弄清楚如何“隐藏”图像和源代码

时间:2019-03-28 02:51:42

标签: php jquery

我正在(慢慢地)学习如何使我的网站更安全。我正在检查D&D Beyond,发现了一些我以前从未见过的东西,我想了解更多。

  1. 当您查看源代码时,源代码的某些部分不会显示。

很难解释。我试图在另一篇文章中对此进行解释,但我得到了很多刻薄的言论。我告诉你,我知道我所看到的。我想知道这是怎么可能的以及如何复制它。

我通常使用PHP / JQuery编写,因此我主要想学习使用这些语言的更多信息。

示例: 您可以使用其角色生成器创建角色,然后查看角色表。角色统计信息的主要部分包含在一个很大的父div中:“。character_sheet”

如果您将字符表手动保存到桌面,则可以看到此部分的HTML。如果您在Firefox中查看此部分,则还可以查看数据。但是,如果在浏览器中尝试按CTRL + U,则不会显示此部分中的HTML。如果您尝试curl / fopen / file_get_contents

,它也不会出现。

此外,正常情况下看不到图像。 例如:我知道如何禁用在网站上的右键单击,但是如果有人想获取我的图像,他们所要做的就是打开我的源代码,查看图像url并从那里保存。

在D&D Beyond网站上,我可以调出Firefox的Web检查器(应在其中放置图像),查看CSS,等等。没有链接到图像,应该在其中。我不知道他们如何使图像在没有CSS / HTML的情况下出现。我很想知道这是怎么做到的。

如果任何人有任何见解/猜测/等,并且可以指出正确的方向来学习更多信息,我将非常感谢!

2 个答案:

答案 0 :(得分:1)

PHP之类的服务器端代码始终对访问者隐藏(除非您具有某种安全漏洞)。

访问者可以始终始终看到客户端代码,例如HTML,JavaScript和CSS。即使您无法立即在DOM中看到它,它也会隐藏在某个地方。

最可能的情况是该文件隐藏在嵌入式.js.css文件中,其外观类似于以下内容:

<script src="scripts.js"></script>
<link rel="stylesheet" type="text/css" href="theme.css">

HTML可以通过JavaScript输出到页面,但不会在DOM中显示(尽管它会在PHP echo中显示)。还可以通过使用 <iframe> 标签和 HTML imports 来“隐藏” HTML。

JavaScript有多种方法可以掩盖/格式错误,因此很难进行追踪。您可能会在DOM / .js文件中看到一些奇怪的“不可读”代码,而这些代码又可能会输出HTML本身。

答案 1 :(得分:0)

请考虑以下几点,

  1. 所有客户端资源都是可见的,尽管您可以通过javascript使其易于阅读,并且最好在服务器端执行大多数代码。

  2. 您需要了解如果您的应用程序是公共网站,搜索引擎会喜欢什么,并会被这些搜索引擎索引,因为某些搜索引擎不会将其抓取到仅包含JavaScript代码的网页。

  3. 您可以使用CSS background-image Property创建没有<img>标签的图像。

  4. 有一些有用的库,可以使您的代码更易读,例如Closure Compiler ServiceJSFuckJS Packers,尽管最好自己动手并像这些技术一样添加据您所知,请注意,这会使您的代码更大。

  5. ,并且根本没有白页源,它应该至少包含<script>,并且如果您看到的是真实白页,则可能会从服务器端禁用它以使其在窗口顶部可见,并且如果嵌入到iframe中或通过向其发送特定的标头或其他内容,则可能有效。

  6. 您可以让服务器端和客户端进行协作:)以获得出色的结果并更加安全。