Geolocation faken?

SvenF311

doesn't like
ID: 151941
L
24 April 2006
307
61
Hallo!

Folgendes Problem, ich arbeite an einem QtWebkit-basierten Webbrowser der jedoch keine Geolocation unterstützt. Im Prinzip sollte das Qt SDK das alles schon können, aber offenbar nur mit Mobile Devices. Ich brauche (HTML5) Geolocation jedoch auf einem Desktop-Rechner.

Die Geo-Daten kann ich von einem IP-basierten Service bekommen, aber wie bringe ich diese von C++ in die Website? HTML5 und JavaScript sind absolut nicht meine Welt, daher mal naiv gefragt, kann ich (durch den Webbrowser) ggf. einfach bei jedem HTML-Dokument einen Header hinzufügen, der mir ein gefaktes navigator.geolocation Objekt erstellt oder sonst irgendwie die Geo-Daten in die Website einpflanzt?

TIA & MfG
Sven
 
geolocation kann man nicht faken, da du eine irreversible Änderung vollziehst.
Im Klartext gesprochen, Deine IP ist das Bindeglied für Geolocation...

Nachtrag:
Ob man über Header Geolocation anfordern kann, weiss ich nicht, aber Deine IP ist mit dem was im Geolocation header stehen würde nicht konform. Entweder kann die Software eines der folgenden Sachen:
1> nur IP -> Geolocation
2> Geolocation Header -> Geolocation ( wäre mühelos fakebar - wozu aber dann Geolocation? )
3> beides -> Konflikt IP !== Geolocation Header -> 1>
 
geolocation kann man nicht faken, da du eine irreversible Änderung vollziehst.
Im Klartext gesprochen, Deine IP ist das Bindeglied für Geolocation...

natürlich kann er das, das nennt man dann einen Polyfill: Eine Funktion von HTML5 dem Browser beibringen, die es selbst nicht kann. Solange er dabei die ganzen Details der Geolocation-API nachimplementiert, ist das alles kein Problem. Woher er die Location nimmt ist irrelevant, diese kann auch aus der IP bestimmt werden.

SvenF311 du musst also nur ein Polyfill irgendwie in jede Webseite reinbekommen oder du schaust dir an wie man eine JavaScript-API mittels C für QtWebkit schreibt.
 
geolocation kann man nicht faken, da du eine irreversible Änderung vollziehst.
Im Klartext gesprochen, Deine IP ist das Bindeglied für Geolocation...
Vielleicht habe ich mich nicht klar genug ausgedrückt. Ich habe nicht vor irgendetwas abzuändern, sondern ich programmiere an einem eigenen Minimalbrowser. Hierzu verwende ich eine Web-Engine, die (zumindest auf meiner Plattform) keine Geolocation unterstützt. Mein Browser muss jedoch einige Websites anzeigen können, die HTML5 Geolocation voraussetzen.

Ich kann weder die Web-Engine noch die Websites großartig beeinflussen. Daher halt die Idee, Positionsdaten aus anderer Quelle in die temporär zwischengepufferten HTML-Dateien zu schreiben. Und zwar so, dass die Website diese als HTML5 Gelocation erkennen und verarbeiten kann. Konflike sollte es hierbei nicht geben, da die Web-Engine keine Positionsdaten bereitstellt. Wenn die Website zusätzlich eine Bestimmung über IP durchführt und somit mehrere Positionsquellen anzapft, wäre sie selber für die Interpretation verantwortlich - wie bei jedem anderen Browser auch.


SvenF311 du musst also nur ein Polyfill irgendwie in jede Webseite reinbekommen oder du schaust dir an wie man eine JavaScript-API mittels C für QtWebkit schreibt.
Ahh, Polyfill nennt sich sowas. Besten Dank! Mit dem Keyword habe ich unter https://slides.peterkroener.de/mmt29/ ein kleines Beispiel gefunden. Bei meinem Firefox mit den ganzen Script-Blockern funktioniert das natürlich nicht (hätte mir auch eher einfallen können :roll:), aber in meinem Eigenbaubrowser scheint es zu laufen. Jetzt muss ich das Skript nur noch in die HTML-Seiten rein bekommen ... sollte machbar sein.


PS: Am Qt-Framework herumzubasteln ist echt ein Mordsaufwand. Fehlende Header und ungültige Typecasts ... das lässt sich schon ohne mein Zutun nicht kompilieren :doh:
 
sieht so aus, als hab ich das wirklich
nu hab ichs aber - sry

Nachtrag:
Was hast Du unternommen, um den Webserver gegen Floods jeglicher Art zu schützen ?
Oder gegen vorgetäuschte Handshakes ?
 
Zuletzt bearbeitet: