Ein Kunde bietet einen Service an, für den ein wenig JavaScript in die Seite eines Kunden eingefügt werden muss. Als Marketingtool für potenzielle Kunden habe ich eine Webanwendung erstellt, die zeigt, wie die Seite des Kunden mit dem JavaScript meines Kunden aussehen würde. Das ist ziemlich cool und das Vertriebsteam ist begeistert!
Die App verwendet einen Reverse-Proxy (mod_proxy), damit die Site des Kunden so aussieht, als befände sie sich auf unserer Domain. So kann die App JavaScript ohne Cross-Site-Scripting-Einschränkungen hinzufügen. Es ist jetzt auf autorisierte Benutzer beschränkt.
Dieses Setup hat gut funktioniert – vielleicht sogar zu gut! Jetzt möchte der CEO dieses Tool auf seiner Homepage jedem zugänglich machen. Aber wie wir alle wissen …
Offene Reverse-Proxys sind fast immer schlecht.
Gibt es eine Möglichkeit, dies so zu sichern, dass diese Demo-App möglich ist? Das heißt, es so zu beeinträchtigen, dass es für Spammer und Hacker unbrauchbar, aber gut genug ist, um potenziellen Kunden einige Demoseiten zu zeigen?
Einige Ideen, die ich hatte
- Erlauben Sie pro Stunde und IP-Adresse nur die Übertragung einer bestimmten Anzahl von Dateien per Proxy.
- Beschränkung auf die Verarbeitung ausschließlich von GET-Anfragen
- Keine Cookies setzen
- Führen Sie eine schwarze Liste mit Domänen, die nicht als Proxy verwendet werden sollen (Pay-per-Click-Werbeserver).
- Fügen Sie Warnungen in den Seiteninhalt ein („Dies ist nicht der XYZ-Server“), die dann von meinem Anwendungsskript entfernt werden.
Irgendwelche anderen Ideen, oder ist das ein sinnloses Unterfangen?
Antwort1
Vielleicht reicht es schon aus, eine HTTP-Authentifizierung bei Ihrem Host hinzuzufügen. So kann Ihr Vertriebsmitarbeiter den Kunden die Demoseite ganz einfach zeigen, für alle anderen sollte sie jedoch unerreichbar sein.
Vergessen Sie nicht, https zu verwenden, um Eardropping zu vermeiden.