Portal > Foren > PHP > PHP-Programmierung > "invisible" postdaten
Antwort
 
Themen-Optionen
Alt 16.12.2007, 16:54 Nach oben    #1
Neuer Benutzer
 
Registriert seit: 03.09.2005
Beiträge: 27
Standard "invisible" postdaten

Ich hab ein problem:

ich hab ein formular, das per post an ein anderes Php script gesendet wird. Jetzt hab ich aber in dem einen datei, variablen die ich im anderen script auch brauche. Nun möchte ich diese mitsenden. Also nicht extra ein input feld für diese daten machen, wo der benutzer diese ja eigentlich wieder verändern könnte. Ich will sie versteckt mitsenden. Gibts da irgenwelche möglichkeiten?
Galge ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.12.2007, 17:09 Nach oben    #2
Neuer Benutzer
 
Registriert seit: 22.08.2007
Ort: Wien
Beiträge: 19
Standard

in einer Session speichern und dann abrufen
siyabonga ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.12.2007, 17:20 Nach oben    #3
Der Student
 
Benutzerbild von Flor1an
 
Registriert seit: 03.01.2007
Ort: München
Beiträge: 86
Standard

Funktioniert aber nur wenn beide Dateien auf dem selben Server mit der selben Domain laufen.
__________________
Wenn ich du wäre, wäre ich lieber ich.

http://www.clubstars.net
http://www.x-tinct.de
Flor1an ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.12.2007, 17:27 Nach oben    #4
Gabriel
 
Registriert seit: 27.09.2006
Ort: Radebeul
Beiträge: 406
Standard

um ein wert über ein Formular zu senden den der benutzer weder sehen noch verändern kann, geht über
<input type="hidden" />
aber das is unsicher...denn letztendlich kann alles verändert werden. Da kommt man mit sessions besser
__________________
kampfgnom ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.12.2007, 19:30 Nach oben    #5
Bastian Fenske
 
Registriert seit: 04.01.2006
Ort: Kassel
Beiträge: 826
Standard

Zitat:
Zitat von kampfgnom Beitrag anzeigen
aber das is unsicher...denn letztendlich kann alles verändert werden.
Dass kannst du mit einer gesalzenen Prüfsumme verhindern. Aber Sessions sind der übliche Weg. Allerdings ist das Thema nicht gerade trivial, auch wenn unzählige Bücher und Tutorials hier einen anderen Eindruck vermitteln.

Basti
Basti ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.12.2007, 20:41 Nach oben    #6
Gabriel
 
Registriert seit: 27.09.2006
Ort: Radebeul
Beiträge: 406
Standard

Das mein ich eigentlich ncicht. Sondern das jeder nutzer inhalte eines hidden feld verändern kann. Weiß nich wie man das mit ner prüfsumme verhindern soll
__________________
kampfgnom ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.12.2007, 22:27 Nach oben    #7
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.211
Standard

Zitat:
Zitat von kampfgnom Beitrag anzeigen
um ein wert über ein Formular zu senden den der benutzer weder sehen noch verändern kann, geht über
<input type="hidden" />
das ist schlicht falsch!

aber das sagst du ja auch selbst:

Zitat:
Zitat von kampfgnom Beitrag anzeigen
aber das is unsicher...denn letztendlich kann alles verändert werden.
ALLES, was als COOKIE, GET, POST oder sonstwie vom user kommt ist unsicher!
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.12.2007, 01:20 Nach oben    #8
Bastian Fenske
 
Registriert seit: 04.01.2006
Ort: Kassel
Beiträge: 826
Standard

Zitat:
Zitat von kampfgnom Beitrag anzeigen
Das mein ich eigentlich ncicht. Sondern das jeder nutzer inhalte eines hidden feld verändern kann. Weiß nich wie man das mit ner prüfsumme verhindern soll
Du kannst natürlich nicht verhindern, dass er die Daten verändert … genauer gesagt, dir eben jeden beliebigen Request zuschickt. Aber wenn du von den Daten einen Fingerabdruck machst nach einer Methode, die er nicht ebenfalls für alle anderen beliebigen Werte erstellen kann (weil ihm das Salz fehlt), dann siehst du ja, ob die Daten manipuliert wurden oder nicht.

PHP-Code:

function getFingerprint($s)
{
    return 
md5(Config::getSalt() . $s);
}

function 
printHiddenField($sName$sValue)
{
    
printf(
        
'<input type="hidden" name="%s" value="%s" />',
        
$sName,
        
htmlspecialchars($sValue));
}

$sDataToPass serialize(array());
$sFingerprint getFingerprint($sDataToPass);

printHiddenField('data'$sDataToPass);
printHiddenField('fingerprint'$sFingerprint);

// …und nach dem ping pong eben:

$aPostedData null;

if (isset(
$_POST['data'])) {

    
$sPostedData unserialize($_POST['data']);
    if (!isset(
$_POST['fingerprint']) || $_POST['fingerprint'] !== getfingerprint($sPostedData))
        die(
'no way');
}

// $aData sollte hier nun also unverändert ankommen. 
Aber, wie geschrieben … das macht so eigentlich niemand. Einzig sinniger Fall ist in meinen Augen eben, wenn die Daten tatsächlich über den Browser übermittelt werden müssen, dabei einsehbar sein dürfen aber nicht manipuliert werden dürfen. Und den Fall hatte ich selbst z.B. noch nie.

Einfacher ist es, du speicherst die Daten auf deinem Server in einer Datei und übergibst im Hidden-Field nur den Dateinamen, der so lang und zufällig gewählt ist, dass ihn niemand so einfach erraten kann. Und in etwa das ist es, was die eingebauten Session-Funktionen von PHP tun.

Dazu musst du noch eine unschöne PHP-Eigenart glattbügeln, um eine Session-Fixation auszuschließen, musst ggf. noch ein Timeout für die Sitzung und eine verlässliche maximal erlaubte Zeit zwischen zwei Requests einbauen und sonst noch das ein und andere berücksichtigen.

Basti
Basti ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.12.2007, 19:39 Nach oben    #9
Neuer Benutzer
 
Registriert seit: 03.09.2005
Beiträge: 27
Standard

Für mein Problem ist das hidden field einfach optimal. Die funktion für die ich es brauche steht eh nur Admins mit den möglichen Rechten zu. Und ausserdem wenn einer die Werte ändernsollte, was bringts ihm? damit ist er genausoweit wie wenn ers normal macht, oder er macht sich selber was kaputt.

Naja aber ansonsten ist das ein sehr Interesantes Thema.

Danke für die schnellen Antworten
Galge ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Alle Zeitangaben in WEZ +2. Es ist jetzt 01:47 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44