代码之家  ›  专栏  ›  技术社区  ›  Vicky

如何防止使用javascript查看页面源?

  •  4
  • Vicky  · 技术社区  · 15 年前

    如何防止使用文件>另存为下载页面的源代码?

    5 回复  |  直到 6 年前
        1
  •  4
  •   Tom Jefferys    15 年前

    不能。在浏览器中查看该页时,该页已被有效下载。如果您想要保护内容,您可能会混淆源代码,并且根据您所做的操作,您可能会在页面下载后使其无法正常工作(即使页面的某些行为依赖于对服务器的Ajax请求)。但总会有解决办法的。

        2
  •  30
  •   Daniel Rikowski    14 年前

    这是不可能的,你甚至不应该费心去尝试它。 ,因为:

    • 那些意识到 一个源,很可能有知识下载它无论如何。
    • 那些不知道整个源代码概念的普通用户只会对阻止源代码的无用尝试感到恼火(“为什么我的鼠标右键不在这个站点上工作?”我只想创建一个书签。”)

    看看微软、亚马逊和Co.,还有Deviantart这样的网站:所有这些企业显然在他们的网站上花费了大量的精力(金钱),而且他们没有做任何事情来阻止源代码的访问。

    另一方面,我看到过许多小型的私人网站,除了网页的创建者之外,没有其他真正的内容或价值,他们试图阻止访问他们的源代码。

    根据经验: 任何一种复制控制技术,骚扰您的 合法的 客户,不会得到回报,从长远来看会损害您的业务。

        3
  •  12
  •   Quintin Robinson    15 年前

    你不能阻止这种行为。即使您能够在任何特定的浏览器中阻止它,您仍然在提供浏览器为您呈现的代码内容,但有人可以创建一个原始请求并查看源代码。

        4
  •  9
  •   dano    15 年前

    作为一个更具建设性的回答,如果你在谈论阻止人们下载你的javascript文件,你不能,但是你尝试模糊/混淆/包装成一个非常难以阅读的脚本文本。

    Try this javascript obfuscator . 看起来效果不错!

    值得一提的是,这并不能阻止有决心的人,但肯定会使他们减速。

        5
  •  0
  •   Rubaiyat Toslim    7 年前
    <!-- Right Click Disable -->
    <script type="text/javascript">
    <!-- 
    var message=""; 
    function clickIE() {if (document.all) {(message);return false;}} 
    function clickNS(e) {if 
    (document.layers||(document.getElementById&&!document.all)) { 
    if (e.which==2||e.which==3) {(message);return false;}}} 
    if (document.layers) 
    {document.captureEvents(Event.MOUSEDOWN);document.onmousedown=clickNS;} 
    else{document.onmouseup=clickNS;document.oncontextmenu=clickIE;} 
    
    document.oncontextmenu=new Function("return false") 
    </script>
    <!-- Right Click Disable -->