Wie kann ich alle meine Websites nur über Browser und nicht über automatische Skripte zugänglich machen?

Wie kann ich alle meine Websites nur über Browser und nicht über automatische Skripte zugänglich machen?

Ich habe, dass meine Websites von einigen Auto-Running gehackt wurden libwww-perl BOT/0.1 (BOT for JCE)undGecko/20100101

Gibt es eine Möglichkeit, dass alle meine Websites nur für echte Browser und nicht für diese automatisierten Skripte verfügbar sind?

Antwort1

Nein, Sie können nicht sicherstellen, dass Ihre Websites nur für echte Browser verfügbar sind. Dies liegt daran, dass die einzigen Datenquellen, die Sie haben, um die Plattform und den Webbrowser des Clients zu bestimmen, die Anforderungsheader sind, die von Hackern vollständig gefälscht werden können.

Beispielsweise könnte ein Hacker ein Tool wie Fiddler verwenden, um eine benutzerdefinierte HTTP-Anforderung an Ihre Website zu senden, die einen gefälschten User-AgentAnforderungsheader enthält, der genauso aussieht wie Internet Explorer, Chrome, Firefox, Googlebot oder ein anderer HTTP-Client. Daher ist es sehr schwierig, wenn nicht unmöglich, einen Hacker anhand der HTTP-Anforderungsdaten von einem legitimen Benutzer zu unterscheiden.

Antwort2

Ich könnte Ihnen eine Liste mit zahllosen Abwehrmaßnahmen geben, die Sie ergreifen könnten (Einschränkung der Benutzeragenten, Anzeige Ihrer Inhalte mithilfe von JavaScript aus XML-Dateien, Captchas – eine tolle Methode, Ihr Publikum zu verärgern!), aber diese Maßnahmen werden das Unvermeidliche nur hinauszögern, während sie herausfinden, wie sie diese Maßnahmen umgehen können.

Es wäre besser, dem Problem einen Pfahl durchs Herz zu treiben, als zu versuchen, eine Verteidigung nach der anderen in Gang zu setzen. Wenn Sie dazu in der Lage sind, sehen Sie sich die Anwendung an und versuchen Sie herauszufinden, wie sie sich Zugang verschafft haben, und versuchen Sie, die Lücken zu schließen. Die offensichtlichsten Stellen, an denen Sie nachsehen sollten, sind Formulareingaben – werden diese an SQL-Strings übergeben, ohne vorher analysiert zu werden? Generieren sie SQL-Strings, anstatt vorbereitete Anweisungen zu verwenden (die SQL-Injection-Versuche von vornherein abwehren)? Wenn es etwas ist, das Sie beheben können, tun Sie es. Wenn es das Produkt einer anderen Person ist, erstellen Sie einen Patch und senden Sie ihn an die Person.

Das Schlimmste, was Sie in Sachen Sicherheit tun können, ist davon auszugehen, dass Ihnen so etwas nicht passieren wird. Würmer, Viren und Autobots sind normalerweise nicht intelligent genug, um zu erkennen, dass Ihre kleine Site keine Bedrohung darstellt.

Seien Sie schlau, seien Sie vorsichtig und seien Sie aufmerksam.

verwandte Informationen