Herkunft der Tiles im Quellcode von OL verschleiern?

Hallo,
wenn ich irgendwo eine Karte mit OL bereit stelle, kann man ja im Quellcode sehen, woher die Tiles kommen. Kann man das irgendwie einfach und effektiv verhindern?

Selbst wenn es nicht im Quelltext stehen würde…der Browser muss doch in jedem Fall wissen, von wo er die Grafikdatei laden kann und diese Adresse kann jeder vernünftige Browser anzeigen.

Genau, einfach im Browser mit der rechten Maustaste das Kontextmenü aufrufen und Grafik anzeigen auswählen. So geht das in FireFox 4. Andere Browser werden ähnliche Mechanismen haben.

Edbert (EvanE)

Wenn dir nicht gefällt, dass man Tiles auch von von anderen Domains abrufen kann, dann könntest du die Karte per PHP ausgeben (map.php), Session oder Cookie setzen, und dann einen Tile-Wrapper basteln (entweder .htaccess + mod_rewrite oder z.B. tile.php?x=&y=&z=), der dann erst auf vorhandensein dieses Cookies/Session überprüft.

Alternativ könntest du per .htaccess Tiles nur ausliefern lassen, wenn der Referer (also die aufrufende Domain) stimmt. Dies wird aber im Internet für nicht so gut befunden, weil nicht jeder Browser den Referer mitsendet.

Viel Erfolg,
Malte

okay, danke für die Infos. Das mit dem “Grafik Anzeigen” lässt sich ja noch vermeiden, aber man kriegts ja trotzdem über “Grafik Info anzeigen” raus.
Die Idee mit htaccess find ich momentan am besten und auch einfach zu realisieren auch wenn es nicht optimal ist. Danke nochmal.
Kurz zum Hintergrund: Ich stelle vielleicht eine Karte ins Internet. Die Tiles kommen aber von mir zu Hause. Und ich möchte nicht, dass die Adresse allgemein bekannt wird und auch nicht, dass sich jemand an dieser Tile-Quelle bedient.

Hi,

man kann natürlich auch Rechtsklick auf die Bildfläche abfangen.

Oder alles hinter flash verstecken.

Gruß,
ajoessen

Wenn du auf dem Server ein PHP-Skript schreibst das dann die Titel von deinem Heimserver holt und weiterreicht bleibt deine Adresse im Netz unbekannt. Per Rechts-Klick bekommt man dann nur die Adresse des PHP-Skripts. Bei der Methode darfst du aber kein Abrechnungssystem über Trafik auf der Homepage-Seite haben. Schließlich läuft dann jeder Titel zweimal pro Abruf durch den Hoster.

Das mit diesem Tile-Wrapper in PHP hatte ich mir auch schon mal überlegt. Dann etwas gesucht obs das nicht schon gibts und dann irgendwie davon abgekommen. Gibts das vielleicht schon fertig? Also so eine Art Tile-Cache in PHP.

hi thomas,

geht es dir darum, dass die Anwender nur nicht wissen, wo die Tiles herkommen oder um den Server an sich?
also: willst du den restlichen Teil des Servers verbergen, auf dem eventuell andere Sachen drauf sind?

Das könnte man bei Apache2 mit virtuellen Host machen, die völlig separate Domains besitzen, aber auf einem Server rennen.

Gruss
Walter

p.s. nimm meinen Server nicht als Beispiel; da rennt alles zusammen auf einem vhost, weil mir hier eine Trennung nicht notwendig erschien.

Warum willst du denn die Herkunft der Tiles verbergen?
Was in den Köpfen von Leuten die z.B. auch Rechtsklicksperren in Webseiten einbauen, wollte ich schon immer gern mal wissen…
Wenn ich etwas per HTTP zum Download bereitstelle, dann stelle ich es auch bereit und jeder kann die Quelle herausfinden, da helfen weder Rechtsklicksperren noch Java-Script-Obfuscatoren etwas dagegen, mal abgesehen, das man das schon im Browser mit Addons wie RightToClick umgehen kann, wenn es nicht schon von Haus aus gehen sollte. Dann gibts auch noch die größeren Geschütze wie Wireshark…

Ums kurz zu machen: man kann die Herkunft nicht wirklich verbergen. Warum auch? Stell’ es andernfalls einfach nicht ins Netz.

Ah, hatte ich erst nicht gelesen. Ich würde dir, wenn du kannst eher zur PHP-Proxy-Variante bzw. zur Verwendung von Cookies raten, denn z.B. ich und sicher auch noch so einige andere auf Datenschuitz bedachte Leute haben den Referer-Header geblockt, denn wozu muß auch jede Website wissen, von welcher Seite ich gerade komme? das geht dann also nicht, bzw. muß ich dann extra den passenden Referer eintragen.

…und ich würde mich dann im Gegenzug fragen, was in den Köpfen der Leute vorgeht, die eine TileUsagePolice oder ähnliches einfach ignorieren und massenhaft Tiles laden und durch ihr Verhalten solche Sachen erst nötig machen. :wink:

Die “richtigen TileServer” haben da auch ihre Mittelchen. Die gehen dann über eine Downloadspeedbegrenzung, wenn man zu viele Kacheln lädt. Das könnte evtl. auch etwas für dich sein.

Falls du meich meinen solltest: Hat hier jemand was vom Ignorieren von usage policies geschrieben? Für solche Sachen freilaufende Massendownloadscripte, würde ich z.B. in Bezug auf den Tag alle 12 h per Script auf der Hauptseite einen neuen Cookie setzen, wo z.B. die IP und der das Halbtages-Datum bzw die hochgezählte Nummer des 12 h-Blockes mit einem geheimen Key gehasht und dann als Cookie an den User geschickt wird, der Tile Server prüft dann auf eine maximale Differenz von 2 Zeitblöcken (falls der Besucher kurz vor Ende eines Zeitblockes auf die Seite kommt) und wenn die Zeit abgelaufen ist dann gibts keine Teils mehr, das hilft aber nur gegen hart eincodierte URLs. Das hilft aber auch nicht wirklich gegen bessere Scripte, die vorher auf der Hauptseite erst mal einen neuen Cookie ziehen gehen, da hilft nur Bandbreitenkontrolle.

Was ist denn ein “richtiger Tileserver”? Die machen doch auch nur HTTP? Klar, Bandbreitenkontrolle ist das einzig sinnvolle, weil den Referercheck kann man ja noch leichter umgehen als die Cookie-Variante.

mit “richtiger Tileserver” meinte ich die etwas größeren Brüder eines HomeServers mit einer entsprechenden Bandbreite, der nur Tiles ausliefert und sonst nichts.

Wenn nur Bandbreite das Thema ist, vergib einfach ein Cookie und frag das ab. Entweder so wie Fabi2 schreibt mit codiertem Datum. Meiner Erfahrung nach reicht aber auch was total einfaches. Dann haben 5 begeisterte Cracker ihr Erfolgserlebnis, aber die breite Masse scheitert auch an der Kindersicherung und um die Masse gehts ja. Schlimm wirds nur, wenn einer der 5 für die Masse ein Tool schreibt, aber das passiert erst, wenn man mit dem Knacken Deines Tileservers berühmt werden kann.

Bei Bedarf hätte ich hier eine einfache .htaccess rumliegen, die Cookies setzt (ohne Datum, immer das gleiche) und Bilder nur mit gesetztem Cookie ausliefert.