Ergebnis 1 bis 9 von 9
  1. #1
    Fortgeschrittener
    Registriert seit
    26.10.2008
    Beiträge
    31

    Standard "Content-Type: image/jpeg" mit post manipulieren?

    Hallo,

    ich habe eine show_pic.php diese datei soll per
    Code:
    <img src="show_pic.php?id=test.jpg">
    eine image anzeigen. Das ganze ist ja kein problem, nur in diesen fall kann ich nicht darauf verzichten
    Code:
    header("Content-Type: image/jpeg");
    zu verwenden und das ganze über base64_decode anzuzeigen.

    Zusätzlich benutze ich noch diese index.php:
    Code:
    <?php
        $_POST[blabla]=="hallo"; // nur ein beispiel, in echt sind es formulare
        echo '<img src="show_pic.php?id=test.jpg">';
    ?>
    Jetzt möchte ich gerne das der $_POST[blabla] Wert auch in die show_pic.php übergeben wird. Der POST darf aber nicht an den Url dran gehängt werden.

    Hat jemand eine Idee wie ich das problem lösen kann?

  2. #2
    Kevin Lee Poulsen Avatar von VeN0m
    Registriert seit
    30.12.2008
    Beiträge
    1.270

    Standard

    POST wird nie an die URL drangehängt. GET wird an die URL gehängt, POST wird "still und leise" übertragen.
    Würde mal sagen, dass Du das Formular per POST an das selbe Dokument übermittelst und den Content-Type in der index.php angibst. Das müsste eigentlich auch gehen.

    Code:
    <?php
    if(!$_POST) {
    
    Formular 
    
    } else {
    
    header("content-type: image/".$_POST['content_type']."");
    print "<img src=\"show_pic.php?id=test.jpg\">";
    
    }
    
    ?>
    Ist doch das, was Du suchst, oder? Außer, dass ich print bevorzuge... ^^
    Come to the dark side - We have cookies

  3. #3
    Fortgeschrittener
    Registriert seit
    26.10.2008
    Beiträge
    31

    Standard

    nein das problem war, dass ich eine show_pic.php habe und die erstellt das bild mit den zugehörigen header, also darf das hauptscript nicht diesen header haben. Jetzt gebe ich durch ein formular in hauptscript eine post variable dazu. Diese variable soll aber auch an show_pic.php gesendet werden ohne es mit _GET dran zuhängen. Einfügen der show_pic.php tue ich ja wie schon oben gesagt mit
    Code:
    <img src="show_pic.php?id=test.jpg">doch so kann der post befehl nicht an show_pic.php gesendet werden, der ihn aber braucht um das bild zu bearbeiten.

    Hoffe war verständlich^^

  4. #4
    Kevin Lee Poulsen Avatar von VeN0m
    Registriert seit
    30.12.2008
    Beiträge
    1.270

    Standard

    Naja wie willst Du das machen? POST übermittelt sich ja wie Du es schon passend ausgedrückt hast unsichtbar und wird nicht an die URL drangehängt.
    Nun, wie übergibt man eine POST-Variable? Entweder per HTTP-Request mit z.B. Live HTTP Headers, Telnet und so weiter. Oder direkt per Formular. Da das Bild aber ja in der index.php gezeigt wird, in dem die show_pic.php mit einem GET-Wert als Bild eingefügt wird, so kannst Du kein Formular an die show_pic.php übermitteln ohne, dass der Inhalt der index.php weg wäre. Was möchtest Du denn übermitteln, was auf keinen Fall per GET gesendet werden darf?
    Come to the dark side - We have cookies

  5. #5
    Fortgeschrittener
    Registriert seit
    26.10.2008
    Beiträge
    31

    Standard

    um genau zu sein will ich per formular den key eingeben, den show_pic.php dann benutzt um das bild zuenschlüsseln und dann anzuzeigen. Das passwort kann ich ja schlecht über get übermitteln^^
    Naja die einzige idee die mir einfällt wäre ein login mit cookie. Aber dann fehlt mir wiederum die sicherheit, den die _SESSION könnte dann ausgelesen werden und das wäre dann wiederum nicht so sicher.
    Geändert von Arnon77 (14.06.2009 um 17:03 Uhr)

  6. #6
    Kevin Lee Poulsen Avatar von VeN0m
    Registriert seit
    30.12.2008
    Beiträge
    1.270

    Standard

    Wie wäre es, wenn Du Dir einen eigenen Verschlüsselungsalgorhytmus zusammenbastelst? Als Grundlage kannst Du ja Base64 oder sowas nehmen. Erst verschlüsselst Du das Ding und dann zählst Du jeweils zwei dazu:
    1 wird zu 3, a zu c, c zu e etc.
    Kommt keiner drauf und das kann keiner entschlüsseln.

    Oder Du trägst den Aufrufer in eine Datenbank ein. "online" oder so. Jeder Aufrufer bekommt einen Key zugeteilt. Beim Aufruf wird geprüft, ob die IP mit dem Key übereinstimmt (Datenbankabfrage). Wie wäre es mit so einer Methode?

    Übrigens kann man per Live HTTP Headers auch ganz einfach ein über POST übermitteltes Passwort abfangen .
    Come to the dark side - We have cookies

  7. #7
    Fortgeschrittener
    Registriert seit
    26.10.2008
    Beiträge
    31

    Standard

    also das mit zeichen mit anderen ersetzen ist mir dann viel zu unsicher^^
    den en und decrypting prozess hab ich ja schon längst. Es geht nurnoch um die einfügen von bilder die verschlüsselt sind. Aber ich denke das mach ich dann doch lieber mit cookies. Und dieses Live HTTP Headers ist doch ein firefox addon oder? dann ist es ja egal, da der user es ja manuel einfügen muss.

    Ich überleg grad den masterkey in eine php datei zu schreiben und diese nach logout immer wieder neu zu verschlüsseln. Um dann an die daten zu kommen muss man aber erst mal diese datei entschlüsseln. Der key besteht dann aus masterkey+ z.B ein md5 hash einer anderen seite. Wenn man gehackt wird bringt einen das passwort auch nichts mehr. Den es ändert sich jedes mal. Und man kann bei dem fall eines diebstahls einfach die andere seite löschen.

  8. #8
    Kevin Lee Poulsen Avatar von VeN0m
    Registriert seit
    30.12.2008
    Beiträge
    1.270

    Standard

    Ja, nur haben die meisten, die "böse Absichten" haben Live HTTP Headers installiert . Ist aber auch sonst sehr nützlich.
    Die Idee mit dem Masterkey klingt nicht schlecht; vielleicht wäre ein salted Hash aber auch nicht schlecht. Oder improved hash algorythm *klick*.

    An die Übertragung des PW's per URL wirst Du jedenfalls nicht vorbei kommen. Das wichtige ist dann nur, dass das PW zwar entschlüsselt aber nicht von einem "Hacker" gecracked werden kann.
    Come to the dark side - We have cookies

  9. #9
    Fortgeschrittener
    Registriert seit
    26.10.2008
    Beiträge
    31

    Standard

    die idee mit den improved hash algorythm hört sich sehr gut an! Dann könnte ich sogar überlegen ob ich passwörter in klartext schreibe. Denn man könnte den login noch die anzahl der md5 hashes hinzufügen und so müsste man erst einmal wissen wie oft das passwort das letzte mal verschlüsselt wurde.
    Das könnnte sogar sehr praktisch werden wenn man nicht nach jeden logout ein neues passwort haben will sondern einfach die md5 anzahl und das normale passwort angibt^^

    Und das formular mit der POST variable werde ich wohl oder übel mit einer session lösen.

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •