[PHP] Browser Variablen HTTP_ACCEPT_ manipulieren?

Diskutiere [PHP] Browser Variablen HTTP_ACCEPT_ manipulieren? im Web & Grafik Forum im Bereich Internet & Telekomunikation Forum; Hallo, ich möchte gerne ein Script erstellen bei dem geprüft wird, ob die URL in einem Browser oder aus einer Applikation heraus aufgerufen wird...
  • [PHP] Browser Variablen HTTP_ACCEPT_ manipulieren? Beitrag #1
DanielxK48x

DanielxK48x

Bekanntes Mitglied
Dabei seit
02.06.2000
Beiträge
1.376
Reaktionspunkte
1
Ort
das weis keiner...
Hallo,

ich möchte gerne ein Script erstellen bei dem geprüft wird, ob die URL in einem Browser oder aus einer Applikation heraus aufgerufen wird.
Leider kann man ja mit Plugins und Tools die Agent-Information manipulieren, sodass diese Abfrage natürlich keine Sicherheit ist.
Aus diesem Zweck habe ich mir mal in PHP so einige Variablen angeschaut und bin auf diese 3 recht interessanten Vars gekommen:

$_SERVER["HTTP_ACCEPT"]
$_SERVER["HTTP_ACCEPT_ENCODING"]
$_SERVER["HTTP_ACCEPT_LANGUAGE"]

Greift man diese ab erhält man Ergebnisse wie z.B.:

text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
gzip, deflate
de,en-US;q=0.7,en;q=0.3

Ich habe nun festgestellt, dass wenn ich eine URL mit mit einer bestimmten APP aufrufe in allen 3 Vars nix drin steht.
Nun frage ich mich, ob es für einen Besucher die Möglichkeit gäbe über den Browser auch diese 3 Infos zu löschen - ähnlich wie die Agent-Version Manipulation?
Wenn nicht wäre das die perfekte Lösung für mich. :)
Hat jemand ne Info dazu?
 
Zuletzt bearbeitet:
  • [PHP] Browser Variablen HTTP_ACCEPT_ manipulieren? Beitrag #2
Resident

Resident

Bekanntes Mitglied
Dabei seit
22.06.2008
Beiträge
1.206
Reaktionspunkte
7
Ort
Deathmold
Evtl versteh ich dich falsch, aber mach doch ne Abfrage welcher Browser genutzt wird, wenn das kein result zurückliefert kannst du rel. sicher sein, dass es ne App war?!

Oder eine andere Idee wäre zu separieren zwischen mobile und Desktop User durch die verwendete screen resolution?
 
  • [PHP] Browser Variablen HTTP_ACCEPT_ manipulieren? Beitrag #3
DanielxK48x

DanielxK48x

Bekanntes Mitglied
Dabei seit
02.06.2000
Beiträge
1.376
Reaktionspunkte
1
Ort
das weis keiner...
Evtl versteh ich dich falsch, aber mach doch ne Abfrage welcher Browser genutzt wird, wenn das kein result zurückliefert kannst du rel. sicher sein, dass es ne App war?!
Leider kann man ja mit Plugins und Tools die Agent-Information manipulieren, sodass diese Abfrage natürlich keine Sicherheit ist.

Oder eine andere Idee wäre zu separieren zwischen mobile und Desktop User durch die verwendete screen resolution?
Die App kann kein Javascript auswerten - deshalb kann ich leider auch keine Auflösung, Farbtiefe usw. vom Seitenbesucher auswerten.

Die eigentliche Frage war auch, ob man den übertragenen Inhalt der 3 Variablen als Browsernutzer manipulieren kann:
$_SERVER["HTTP_ACCEPT"]
$_SERVER["HTTP_ACCEPT_ENCODING"]
$_SERVER["HTTP_ACCEPT_LANGUAGE"]
 
Zuletzt bearbeitet:
  • [PHP] Browser Variablen HTTP_ACCEPT_ manipulieren? Beitrag #4
fox99

fox99

Bekanntes Mitglied
Dabei seit
27.11.1999
Beiträge
3.948
Reaktionspunkte
27
Ort
Omicron Persei 8
beim firefox "about:config" aufrufen und "network.http.accept-encoding" bearbeiten,
damit ist schon das $_SERVER["HTTP_ACCEPT_ENCODING"] kaputt...

aber mal anders herum gefragt: was hält die app davon ab, diese header zu setzen?
 
  • [PHP] Browser Variablen HTTP_ACCEPT_ manipulieren? Beitrag #5
DanielxK48x

DanielxK48x

Bekanntes Mitglied
Dabei seit
02.06.2000
Beiträge
1.376
Reaktionspunkte
1
Ort
das weis keiner...
Ach mensch ich sehe gerade auch die anderen 2 Sachen kann man darüber manipulieren.
So fällt die Validierung darüber also leider schon ins Wasser. ^^
Danke für den Tipp.
 
  • [PHP] Browser Variablen HTTP_ACCEPT_ manipulieren? Beitrag #6
fox99

fox99

Bekanntes Mitglied
Dabei seit
27.11.1999
Beiträge
3.948
Reaktionspunkte
27
Ort
Omicron Persei 8
könntest ja mal nach "https client certificate authentication" suchen. wenn du das zertifikat dafür ausreichend sicher in der app hast, wirst du die meisten wohl aussperren...
 
  • [PHP] Browser Variablen HTTP_ACCEPT_ manipulieren? Beitrag #7
DanielxK48x

DanielxK48x

Bekanntes Mitglied
Dabei seit
02.06.2000
Beiträge
1.376
Reaktionspunkte
1
Ort
das weis keiner...
Das Problem dabei ist, dass man die "App" - eigentlich ein Spiel - nicht abändern kann.
Also kann ich ein Client-Zertifikat nicht einpflegen, dass das Spiel sie auch sendet beim Aufruf der URL.
 
  • [PHP] Browser Variablen HTTP_ACCEPT_ manipulieren? Beitrag #8
DanielxK48x

DanielxK48x

Bekanntes Mitglied
Dabei seit
02.06.2000
Beiträge
1.376
Reaktionspunkte
1
Ort
das weis keiner...
Ich habe mir mal weitere Gedanken gemacht und bin auf eine weitere Möglichkeit gestoßen - allerdings auch leider manipulierbar.^^
Das Spiel kann beim Aufruf einer URL keine Bilder anzeigen.
Ergo lass ich von PHP mittel GD eine Grafik ausgeben und innerhalb dieses Grafik-Scriptes wird einfach eine session variable geschrieben, die ich überall abrufen kann.
Das Einbinden geht natürlich einfach über <img src="beispiel.php" alt="" />
Das Spiel ignoriert den <img> Tag glücklicherweise und führt so das script dahinter nicht aus.
Allerdings wer im Browser die Funktion hat Grafiken nicht zu laden kann auch hier diese Validierung umgehen.
Mit Javascript könnt man das gleich machen - auch hier kann das Spiel keins ausführen.
Also könnte man mittels JS einfach ein Script laden, was erneut eine session schreibt.
Vielleicht fallen euch ja noch paar Möglichkeiten ein. ;)
 
  • [PHP] Browser Variablen HTTP_ACCEPT_ manipulieren? Beitrag #9
fox99

fox99

Bekanntes Mitglied
Dabei seit
27.11.1999
Beiträge
3.948
Reaktionspunkte
27
Ort
Omicron Persei 8
gd hört sich sehr kompliziert an... könntest auch per fpassthru() eine existierende datei ausgeben... oder ein 302-redirect?

hmm... keine bilder, kein js? gehen denn wenigstens cookies für die session?
 
Thema:

[PHP] Browser Variablen HTTP_ACCEPT_ manipulieren?

ANGEBOTE & SPONSOREN

https://www.mofapower.de/

Statistik des Forums

Themen
213.179
Beiträge
1.579.170
Mitglieder
55.874
Neuestes Mitglied
hnte
Oben