Ich bau mir nen Rechen-Captcha

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #61
    Sollte man das Anhängen der SID nicht besser dem session.trans_sid überlassen. Bzw. im Formular nicht als GET Parameter sondern als hiddenfield.
    Sehe keinen entscheidenden Vorteil die Session ID via hiddenfield und nicht via URL zu übetragen. Brauche die Session nur solange bis das Captcha gelöst ist, danach wird sie geschrottet. Und mit Session.trans_sid stehe ich eh auf Kriegsfuss, weil ich selber bestimmen möchte wo genau sie angehängt wird und wo nicht

    Das mit PHP_SELF werde ich mal noch anpassen. Danke für den Hinweis

    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #62
      trans_sid
      Ja, da kann man vortrefflich drüber streiten..
      Glaubenskriege anzetteln

      Also:
      Mir ist es deutlich lieber, wenn es abgeschaltet ist.
      Damit: Sessions nur mit SID per Cookie

      Nach Möglichkeit vertrete ich folgende Linie:
      Gäste(und damit auch SUMAs) dürfen ohne Sessions surfen
      Eingeloggte mit Session
      Spätestens bei Admins ist dann unbedingter Cookie Zwang

      Zum Formular:
      Grundsätzlich halte ich es für unglücklich, wenn an das action Attribut GET Parameter angehangen werden!
      Weil: spätestens wenn das Formular von POST auf GET umgestellt wird (bei Suchformularen üblich) werden die Parameter vom Browser abgeschnitten. Ein unerwünschter Seiteneffekt. Und du kannst das Formular wieder überarbeiten.
      Für den Benutzer ist es völlig wurscht, wenn die Parameter in Hiddenfields liegen. Aber wenn man im Team entwickelt können einem solche Böcke den letzten Nerv rauben.

      Meine Empfehlung:
      Keine GET Parameter im action Attribut!

      weil ich selber bestimmen möchte wo genau sie angehängt wird und wo nicht
      Nachvollziehbar, aber auch nur halbweit gedacht
      Oder ich verstehe nicht, welche Sorgen dich plagen...

      Will man wirklich die SID in den Urls weitergeben, warum auch immer, dann sollte man doch schon trans_sid benutzen.
      Weil: Es besteht die Gefahr, dass die Session nicht aktuallisiert wird und abläuft, obwohl der Benutzer noch auf der Seite aktiv ist.
      Die Urls welche keine SID bekommen sollen, setzt man dann eben absolut.


      Wir werden alle sterben

      Kommentar


      • #63
        Oder ich verstehe nicht, welche Sorgen dich plagen...
        Ich meinte damit, dass ich nicht an alle internen Links die Session ID anhängen will, sondern nur an einen. trans_sid würde die ID doch an JEDEN internen Link anhängen, oder?
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #64
          Original geschrieben von jahlives
          Ich meinte damit, dass ich nicht an alle internen Links die Session ID anhängen will, sondern nur an einen. trans_sid würde die ID doch an JEDEN internen Link anhängen, oder?
          intern -- extern...
          Wenn der Protokoll und Host Part in der Url vorhanden ist, wird die SID NICHT angehangen! Egal ob sie auf deinen Server verweist oder nicht.

          Asserdem ist es doch wurscht, ob nur einmal oder immer angehangen wird. Zumindest kann ich den Grund nicht erkennen, warum es nicht wurscht sein sollte.

          Natürlich ist es bei deinem Verfahren überaus wichtig, dass der Besucher dann auch auf diesen Link klickt, damit seine Session nicht verfällt.
          Zuletzt geändert von combie; 21.05.2008, 16:43.
          Wir werden alle sterben

          Kommentar


          • #65
            Original geschrieben von Griecherus
            Mir ist noch aufgefallen, dass du das Ergebnis der Funktion randomString() $text zuordnest:
            PHP-Code:
            $text randomString(5); 
            Allerdings hat randomString laut Definition keinen Rückgabewert, sondern dient scheinbar lediglich dazu, den generierten random string in der Session abzulegen. Oder übersehe ich da etwas?
            PHP-Code:
            function randomString($len) {
                
            $possible array_merge(range('a','h'),range('A','H'),range('j','z'),range('J','Z'),range(2,9));
                
            shuffle($possible);
                
            $str implode('',array_slice($possible,0,$len));
                
            $_SESSION['captcha_spam'] = $str;

            Grüße
            Ist vermutlich zwischen den Postings übersehen worden. Wollte nur nochmal drauf hinweisen

            Grüße
            Nieder mit der Camel Case-Konvention

            Kommentar


            • #66
              @Griecherus
              Tja die Codes sind so wie ich sie damals geschrieben habe. Da muss ich mal drüber. Danke für den Wink

              Gruss

              tobi

              p.s. bereits angepasst --> http://wiki.tobisworld.ch/index.php?...ots#Verwendung
              Zuletzt geändert von jahlives; 22.05.2008, 13:47.
              Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

              [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
              Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

              Kommentar

              Lädt...
              X