2012-04-01 7 views
1

Ich habe ein Greasemonkey-Skript, das ein HTML-Formular dynamisch in einige Webseiten einfügt. Das Formular kann dann vom Benutzer zur Verarbeitung an ein PHP-Skript in einer anderen Domäne gesendet werden.Verhinderung der Server-Verfolgung von Greasemonkey, domänenübergreifendes Formular übermittelt

Das GM-Skript fügt etwas wie folgt aus:

<form method="post" action="http://somedomain.com/process.php"> 
<input type="text name="sometext"> 
<input type="submit" name="s" value="submit!"> 
</form> 

Jetzt gibt es eine Möglichkeit für die Website zu wissen, wo diese Form vorgelegt wird? Ist es möglich, dies zu verhindern (mit Browser oder anderen Einstellungen), und wenn ja, wie?

Antwort

0

Ich bin nicht wirklich sicher, was Sie fragen, aber Sie setzen etwas in das DOM der Seite (Client-Seite) mit Greymonkey, richtig?

Nun, normalerweise würden sie das nicht bemerken, und Sie posten (immer noch von der Client-Seite) an einen anderen Ort, damit Sie im Klaren sind.

Aber wenn die Seite WIRKLICH PARANOID ist, Alufolie Hut Stil, ich nehme an, sie könnten Feuer Ereignisse sein, dass, wenn sie NACH dem Feuer Sie haben die dom geändert und tun Sachen. Aber das wäre irgendwie lächerlich anzunehmen. noch, könnte es so etwas wie

  • fangen alle vorträgt aus irgendeiner Form (einschließlich Ihrer) tun
  • alle Formulare auf der Website finden und lesen ihre ‚Aktion‘
  • den gesamten Code auf der Website finden, die nicht war dort ursprünglich.

Aber dieser Code sollte für Sie von der Quelle sichtbar sein. Könnte verschleiert werden und alles, aber trotzdem würde es Client-Seite laufen, also sollten Sie in der Lage sein, es zu kontrollieren. Ich würde mir darüber keine Sorgen machen.

+0

Vielen Dank für unsere Antwort. Ja, ich injiziere eine lange Kette von HTML-Code in die Quelle der Seite. Mir geht es nicht um diese Art von Paranoia. Nur gedacht, wenn sie etwas wie Google Analytics verwenden (einige von ihnen sind), kann es ihnen sagen, wo mein Formular eingereicht wird, es sei denn, der Benutzer blockiert GA mit einem selektiven Skriptblocker. (was wiederum eine Lösung für das ganze Problem sein kann, aber eine etwas langweilige) – manilow

+0

Ich sehe nicht, wie das funktionieren würde, abgesehen von einem Skript, das Ihre Klicks erfasst, aber die Event-Handler Ihres Formulars sind nicht da wann dieses Skript am wahrscheinlichsten ausgeführt wird. Dein Skript ist also in Ordnung, da du eine komplette clientseitige Sache machst. Nur wenn sie weiterhin Event-Listener hinzufügen, um sicherzustellen, dass kein zusätzliches Formular hinzugefügt wurde (was zu viel Paranoia wäre), könnten sie theoretisch etwas finden, was mir einfällt, also sind Sie wahrscheinlich im Klaren :) – Nanne

+0

Ausgezeichnet. Danke für deine ausführliche Antwort. – manilow

1

Die Website kann möglicherweise JavaScript verwenden, um den von Ihnen hinzugefügten HTML-Code zu erfassen, einschließlich der Aktions-URL und aller Daten im Formular. Es ist sehr unwahrscheinlich, dass die Eigentümer der Websites dies tun, aber es ist eine Möglichkeit.

Eine Lösung besteht darin, JavaScript für diese WebSite zu deaktivieren. Greasemonkey wird auch dann ausgeführt, wenn sich JavaScript in Ihrem Browser befindet.

+0

+1. Die Deaktivierung des JS einer Website ist die ultimative Anti-, Anti-Greasemonkey-Abwehr. (GM kann Paranoid ersetzen, Seite JS wenn nötig.) –