【问题标题】:How do I able to see the source code of this website www.samy.pl?我怎样才能看到这个网站 www.samy.pl 的源代码?
【发布时间】:2017-09-08 22:04:53
【问题描述】:

website (www.samy.pl) 使用了某种技术,因此没有人可以检查代码
(Ctrl+Shift+I) 或查看源代码 (Ctrl+U)。它可以检测您是否打开了控制台或检查器代码自动更改。

这怎么可能?

【问题讨论】:

  • @Adam 不,它和那个网站不一样。
  • 按 F12 打开您的控制台。使用 IE11 来欺骗他们的脚本。
  • 如果我转到更多工具>开发人员工具或 chrome 上的 (ctrl+shift+i) 选项,该网站重定向到另一个页面,这样没有人可以看到主页的代码。那怎么办呢?
  • 网站以某种方式检测到您何时打开控制台,并且源发生了变化。

标签: javascript html iframe web


【解决方案1】:

您可以随时保存网站。 在 chrome 中打开菜单 -> 更多工具 -> 将页面另存为..

您应该能够在 chrome 中运行 html 文件,并使用开发工具而不会阻止您。

【讨论】:

  • 它仍然会被阻止,因为代码是正在下载的内容并且是阻止它的内容。但是您可以在文本编辑器中打开它来查看代码。
  • 是的,打开文件查看代码确实有效!
【解决方案2】:

this answer 中提到了 console“清除”API。

这是我认为正在发生的事情:

首先,我认为 Google Chrome DevTools 在打开/启动时会发出一个事件。 页面作者使用以下处理程序逻辑侦听此“启动”事件:

  1. 运行chrome.devtools.inspectedWindow.eval DevTools inspection API
  2. 将document.body.innerHTML 设置为winky-face div
  3. 还有一个setInterval,它在“no source for you”的console.log() 之前执行console.clear()。

我在阅读“no source for you”页面时还检查了 Chrome DevTools 的 EventListeners 选项卡。

不幸的是,您可以查看的两个事件侦听器似乎没有做任何有用的事情:

  • 一个返回false
  • 其他将表单及其关联的提交操作连接在一起。

希望对你有所帮助

【讨论】:

  • 所以他们也清除了他们的脚本标签,并删除了任何与控制台混淆的事件监听器和/或回调。
【解决方案3】:

哈哈哈,这个不错,对samy的期望不要太低!

现在我明白为什么人们认为这是错误的答案(如果你不这样做,源将被替换)

1. 导航到打开检查器的站点,您最终会看到“没有来源!您找到了复活节彩蛋 #7。”

2.然后检查来源以找到复活节彩蛋#2:

view-source:https://samy.pl

你会看到:

/*
No source for you! Easter egg #2
*// AFTER SOME LONG WHITE SPACES HERE  /.source.replace(/.{7}/g,function(w){document.write(String.fromCharCode(parseInt(w.replace(/ /g,'0').replace(/   /g,'1'),2)))});

这是他加载网站的方式(通过注入 js),将两种类型的空格替换为 1 和 0,然后通过一些正则表达式将其解析为字符代码,然后将其解析为字符串:D

https://de.wikipedia.org/wiki/Whitespace_(Programmiersprache)

如果您将该部分粘贴到 js 控制台,您将获得加载页面的标签。

ps。要查看渲染的源代码,只需正常加载页面并在禁用 javascript 后按 F12。

玩得开心!

【讨论】:

  • 这不再有效。
  • " ...
【解决方案4】:

在某处创建一个index.html,其中包含一个<iframe src='https://samy.pl/'>。在浏览器中加载它,然后打开 devtools。您将在 iframe 中看到源代码。

【讨论】:

  • 这并没有真正增加答案,不是吗?它只是显示了您如何查看网站源代码,但没有回答如何重新创建它?
【解决方案5】:

更新: 转到查看源:http://samy.pl,这是查看源右键单击带给您的链接。我认为它只适用于 Chrome。

如果您使用的是 chrome,请转到右上角的菜单。然后进入更多工具,点击开发者工具。

【讨论】:

    【解决方案6】:

    经过大量的修补和推测,我的室友最终以相当幼稚的方式成功了。

    只需打开 Chrome 开发工具并在源代码被替换之前将其复制出来。为 Chrome 进程设置低优先级并使用 CPU 进行一些繁重的工作(编译或其他)会有所帮助。

    切,切。

    【讨论】:

      【解决方案7】:

      啊!我找到了一种非常简单的方法。
      1. 打开 Firefox(Chrome 仅向您显示其中的一部分)。
      2. 在网址栏中,输入javascript:alert(document.documentElement.outerHTML);
      3. 按Enter。
      4. 瞧!

      【讨论】:

        【解决方案8】:

        寻找源代码的新方法!但它很复杂!
        打开一个新标签。
        打开 Devtools(检查选项卡)
        单击“切换设备”工具栏(类似移动设备的图标)

        点击“No Throttling”可减慢页面加载时间

        选择“低层移动”

        打开页面! 当您看到页面上出现图标时,您现在可以看到源代码了! :)

        【讨论】:

          【解决方案9】:

          抱歉很晚 但我想我有答案

          他用了这个node package 他也有contributed 和forked

          软件包文档说,如果 devtools 未停靠,它将无法工作

          【讨论】:

            【解决方案10】:

            您可以在几乎所有浏览器中简单地使用开发者工具。只需按 F12,开发者工具部分就会出现。

            谢谢

            【讨论】:

            • 这也可能被网站上的代码屏蔽了,因为如果右键被屏蔽了,那些键盘命令被屏蔽了,那么F12可能也被屏蔽了。
            • F12 确实有效,它带来了开发工具,但网站检测到这一点并加载其他内容。网站对浏览器的控制有限。为什么你认为他们在限制 js xss。
            猜你喜欢
            • 1970-01-01
            • 2022-12-06
            • 2019-01-12
            • 1970-01-01
            • 1970-01-01
            • 2012-09-02
            • 1970-01-01
            • 2016-11-07
            • 2016-04-06
            相关资源
            最近更新 更多