2017-06-10 1 views
-2

Ich sehe Zuteilung über Cpatcha und Submission Formen/Methoden zu blockieren Bots und Content Scrappers/Leechers aber nichts über die Blockierung derer, die den gesamten JavaScript-Inhalt nehmen und ausführen, um zu erhalten und anzuzeigen, was es wird ausgegeben.verhindern, dass Bots/Scrappers Javascript ausführen, um Ausgabe

Ist es möglich zu verhindern, dass Bots JavaScript ausführen, um die Ausgabe zu erhalten.

Ich habe untersucht, wenn Anweisungen innerhalb von JavaScipt Bildschirmauflösungen, Tastaturen, Maus, Touch-Screens grundlegende menschliche Funktionen usw. überprüfen, aber es ist ein schwieriger Bereich, um Informationen zu finden.

if (bot){ //don't execute Javascript don't let the bot get the real output. 
return; 
} 

Antwort

1

Der einzige bekannte Mechanismus ist Verkleinerungs und Verschleierung Ihrer javacsript Funktionen zu nutzen. Ändern Sie sie bei jeder Bereitstellung oder jeden Tag durch einen Skriptprozess. Eine andere Sache ist, keine Fenstermethoden auf dem globalen Raum zu haben.

Sie möchten vielleicht Web Assembly betrachten, aber nicht alle Browser haben es derzeit angenommen.

Es gibt keine direkte Möglichkeit, dies perfekt zu erreichen. Wenn die Leute genug Zeit haben, können sie es knacken.

+0

Danke für die Informationen, die ich bereits Verschleierung benutze, aber sie gingen einen Schritt weiter, indem Sie stattdessen das JavaScript ausführen, um die Ausgabe zu erhalten. Jetzt führen sie also verschleierten Code aus, was für sie ein Sicherheitsrisiko darstellen sollte. – C0nw0nk

+2

Sobald Sie den Code oder die Funktionalität dem Client zur Verfügung stellen, verlieren Sie die Kontrolle darüber, was am Frontend getan werden kann. Als eine Sache, die ich nicht vorschlagen würde, könnten Sie versuchen, ältere Funktionsnamen als Funktionen offenzulegen, die nichts bewirken. Aber wenn sie Desktop-Automatisierungstools oder Selen-Frameworks zum Testen verwenden, können Sie nichts tun. – Sairam

+0

Also selbst einfache Logikprüfungen wie IF HTML-Element-ID-Namen in JavaScript existieren würde nicht gegen sie arbeiten? Ich dachte, vielleicht würde ihr Bot nicht wissen, welche Elemente und IDs auf der Seite vorhanden sind oder sein sollten. Sogar vorhandene Javascript-Var aus anderen Skripten. – C0nw0nk

Verwandte Themen