javascript - titel - title tag länge




Wie verstecke ich JavaScript-Code in einer Webseite? (6)

Diese Frage hat hier bereits eine Antwort:

Ist es möglich, den JavaScript-Code aus dem HTML einer Webseite auszublenden, wenn der Quellcode über die Funktion Quelltext anzeigen angezeigt wird?

Ich weiß, dass es möglich ist, den Code zu verschleiern, aber ich würde es vorziehen, dass er von der Quellfunktion der Ansicht verborgen ist .


'Ist nicht möglich!'

Oh ja ist es ....

//------------------------------
function unloadJS(scriptName) {
  var head = document.getElementsByTagName('head').item(0);
  var js = document.getElementById(scriptName);
  js.parentNode.removeChild(js);
}


//----------------------
function unloadAllJS() {
  var jsArray = new Array();
  jsArray = document.getElementsByTagName('script');
  for (i = 0; i < jsArray.length; i++){
    if (jsArray[i].id){
      unloadJS(jsArray[i].id)
    }else{
      jsArray[i].parentNode.removeChild(jsArray[i]);
    }
  }      
}

Ich bin mir nicht sicher, ob es eine Möglichkeit gibt, diese Informationen zu verstecken. Egal, was Sie tun, um zu verschleiern oder zu verstecken, was auch immer Sie in JavaScript tun, es kommt immer darauf an, dass Ihr Browser es laden muss, um es zu benutzen. Moderne Browser verfügen über Web-Debugging- / Analysetools, die das Extrahieren und Anzeigen von Skripts zum Kinderspiel machen ( drücken Sie einfach F12 in Chrome).

Wenn Sie sich Sorgen darüber machen, eine Art Geschäftsgeheimnis oder einen Algorithmus preiszugeben, dann besteht Ihre einzige Möglichkeit darin, diese Logik in einen Web-Service-Aufruf zu kapseln und Ihre Seite diese Funktionalität über AJAX aufzurufen.


Ich denke, ich habe eine Lösung gefunden, um bestimmte JavaScript-Codes in der Ansichtsquelle des Browsers zu verstecken. Aber Sie müssen dazu jQuery verwenden.

Beispielsweise:

In deiner index.php

<head>
<script language = 'javascript' src = 'jquery.js'></script>
<script language = 'javascript' src = 'js.js'></script>
</head>

<body>
<a href = "javascript:void(null)" onclick = "loaddiv()">Click me.</a>

<div id = "content">
</div>

</body>

Sie laden eine Datei in den HTML / PHP-Body, der von einer jquery-Funktion in der js.js-Datei aufgerufen wird.

js.js

function loaddiv()
{$('#content').load('content.php');}

Hier ist der Trick.

Setzen Sie in Ihrer Datei content.php ein anderes head-Tag und rufen Sie eine andere js-Datei von dort auf.

Inhalt.php

<head>
<script language = 'javascript' src = 'js2.js'></script>
</head>

<a href = "javascript:void(null)" onclick = "loaddiv2()">Click me too.</a>

<div id = "content2">
</div>

Erstellen Sie in der Datei js2.js eine beliebige Funktion.

Beispiel:

js2.js

function loaddiv2()
{$('#content2').load('content2.php');}

Inhalt2.php

<?php
echo "Test 2";
?>

Bitte folgen Sie dem Link und kopieren Sie ihn in den Dateinamen von jquery.js

http://dl.dropbox.com/u/36557803/jquery.js

Ich hoffe das hilft.


Ist nicht möglich!

Die einzige Möglichkeit besteht darin, JavaScript zu verschleiern oder Ihr Javascript zu verkleinern, was es für den Endbenutzer schwierig macht, einen Reverse-Engineering durchzuführen. es ist jedoch nicht unmöglich, Reverse Engineering.


Nein, das ist nicht möglich.

Wenn Sie es dem Browser nicht geben, dann hat der Browser es nicht.

Wenn Sie das tun, dann ist es (oder eine leicht zu befolgende Referenz) Teil der Quelle.


Sie könnten document.write .

Ohne jQuery

<!DOCTYPE html>
<html>
<head><meta charset=utf-8></head>
<body onload="document.write('<!doctype html><html><head><meta charset=utf-8></head><body><p>You cannot find this in the page source. (Your page needs to be in this document.write argument.)</p></body></html>');">
</body></html>

Oder mit jQuery

$(function () {
  document.write("<!doctype html><html><head><meta charset=utf-8></head><body><p>You cannot find this in the page source. (Your page needs to be in this document.write argument.)</p></body></html>")
});




obfuscation