Indianerversteher: Login-script -- Mit wie viel Euro muss ich rechnen wenn jemand von euch mir das programmiert?

Beitrag lesen

Wenn ein Login-Versuch fehlschlägt, antwortet das Skript mit einer präzisen Fehlerbeschreibung:

Ja. Aber nur im Debug-Modus, der im Config-Teil abschaltbar ist:

Quelltext (so seit 2016):

(login.php)

$HashedPassword = getHashedPassword( $_POST['username'] );
if (false == $HashedPassword ) {
    if ( DEBUG_MODUS ) {
        error_log('Falscher Benutzer:' . $_POST['username']);
        show_login($_POST['username'], 'Den Benutzer gibt es nicht.');
    } else {
        if ( USE_ERROR_LOG_FOR_LOGIN_ERRORS ) { error_log( 'ftx_login_error' ); }
        show_login( $_POST['username'], 'Fehler bei der Anmeldung' );
    }
    exit;
}
// Schritt 2:  Überprüfen des Passwortes
if (! password_verify ( trim( $_POST['passwort'] ), $HashedPassword ) ) {
    if ( DEBUG_MODUS ) {
        error_log( 'falsches Passwort' );
        show_login($_POST['username'], 'Falsches Passwort.');
    } else {
        if ( USE_ERROR_LOG_FOR_LOGIN_ERRORS ) { error_log('ftx_login_error'); }
        show_login( $_POST['username'], 'Fehler bei der Anmeldung' );
    }
    exit;
}

auth_config.php:

  // Befindet sich das System im Debug-Modus?
  define( 'DEBUG_MODUS', true );
  // Einstellung für Setup/Entwicklung/Debugging:
  if( DEBUG_MODUS ) {  error_reporting( E_ALL ); } else { error_reporting( NULL ); };

Weiterhin sollte beim Session-Start die Option 'cookie_httponly' => true gesetzt werden, damit das Cookie nicht von JavaScript ausgelesen werden kann.

Soweit ich das weiß ist das eine Einstellung, welche grunsätzlich schon in der PHP.ini aktiviert werden sollte. Nicht im Skript.

Das Skript funktioniert sowohl mit HTTPS als auch mit unverschlüsseltem HTTP.

Auch das ist m.E. nicht Sache des Skriptes sondern der Serverkonfiguration. Wenn das Skript gestartet wurde, dann sind die Daten bereits übertragen und ggf. für einen Angreifer sichtbar. Dann noch in Schönheit zu sterben ist nutzlos.

Für die PHP 5.3 Kompatibilität … Im Code wird die PHP-Funktion rand dafür benutzt ...

(Dann folgt ein Auszug aus dem Handbuch, der random_int() empfiehlt.

Du kritisierts die Verwendung von rand() aber das mir nahe gelegte random_int() gibt es erst seit PHP 7. Wieso sollte ich also random_int() verwenden um die Kompatibilität zu PHP 5.3 herzustellen? Weil der Syntaxfehler dann das Ausführen verhindert?

0 62

Login-script -- Mit wie viel Euro muss ich rechnen wenn jemand von euch mir das programmiert?

einsiedler
  • php
  1. 0
    Emil
    1. 0
      einsiedler
  2. 0
    Felix Riesterer
    1. 3
      Matthias Scharwies
      • php
      • wordpress
    2. 0
      einsiedler
      1. 0
        Felix Riesterer
  3. 1
    Mutter der Porzellankiste
    1. 0
      Matthias Scharwies
      1. 0
        Mutter der Porzellankiste
    2. 0
      einsiedler
    3. 8
      1unitedpower
      • php
      • sicherheit
      1. 0
        Matthias Apsel
        • php
        • selfhtml-wiki
        • sicherheit
        1. 0
          1unitedpower
      2. 0
        Indianerversteher
        1. 0
          1unitedpower
          1. 0
            Indianerversteher
            1. 0
              Indianerversteher
            2. 2
              Camping_RIDER
              1. 0
                Indianerversteher
                1. 6
                  JürgenB
                  1. 0

                    Login-script -- Mit wie viel Euro muss ich rechnen wenn jemand von euch mir das programmiert? - Moderiert -

                    Indianerversteher
                    1. 7

                      Login-script -- Mit wie viel Euro muss ich rechnen wenn jemand von euch mir das programmiert?

                      JürgenB
                2. 0

                  Mathematik zum Montag

                  Indianerversteher
                  1. 0
                    Gunnar Bittersmann
                    1. 0
                      Indianerversteher
                  2. 2
                    Camping_RIDER
                    1. 0
                      Indianerversteher
                    2. 0
                      Indianerversteher
                      1. 0
                        Camping_RIDER
                  3. 3
                    Matthias Apsel
                    • sicherheit
                    1. 2
                      marctrix
                  4. 0
                    1unitedpower
                    1. 0
                      Mitleser
                      1. 2
                        1unitedpower
                        1. 0
                          Mitleser
                          1. 0
                            marctrix
                          2. 2
                            Christian Kruse
                            1. 0
                              Mitleser
                              1. 0
                                1unitedpower
                                1. 0
                                  Mitleser
                              2. 0

                                Bevor gefragt wird, wieso denn alle unzutreffend seien

                                Mitleser
                                1. 0
                                  1unitedpower
                                  1. 0
                                    Mitleser
                                    1. 2
                                      Matthias Apsel
                                      • meinung
                                      1. 0
                                        Mitleser
                                        1. 0
                                          Christian Kruse
                  5. 2
                    marctrix
                    1. 0
                      Tabellenkalk
              2. -2
                Indianerversteher
                1. 0
                  Camping_RIDER
                  1. 0
                    Indianerversteher
                    1. 1
                      Camping_RIDER
                      1. 0
                        Indianerversteher
            3. 0
              1unitedpower
              1. 0
                Indianerversteher
                1. 0
                  Camping_RIDER
                  1. 0
                    Indianerversteher
                  2. 0
                    Indianerversteher
      3. 0
        Indianerversteher
        1. 0
          Camping_RIDER
          1. 0
            Indianerversteher