Seiten Password

Dieses Thema Seiten Password im Forum "Webentwicklung, Hosting & Programmierung" wurde erstellt von caballonegro, 29. Dez. 2005.

Thema: Seiten Password Hallo, ich habe hier schon nachgelesen, es gibt zwei ähnliche Themen zu PHP_AUTH_USER , doch leider kann man da...

  1. Hallo,
    ich habe hier schon nachgelesen, es gibt zwei ähnliche Themen zu PHP_AUTH_USER , doch leider kann man da nichts mehr zufügen. deswegen hier ein neues Thema


    Ich habe genau diesen Code in einem Script um ein file upload.php zum hochladen von Bildern  zu schützen.


    Code:
    if ( (!isset($PHP_AUTH_USER)) || ! (($PHP_AUTH_USER == $LOGIN) && ( $PHP_AUTH_PW == $PASSWORD )) ) {
    	header(WWW-Authenticate: Basic entrer=\Form2txt admin\);
    	header(HTTP/1.0 401 Unauthorized);
    	error(Unauthorized access...);
    }
    die Variablen
    $LOGIN = Benutzername;
    $PASSWORD = Passwort;

    werden über einen include config.php gesetzt.

    Das ganze hat super funktioniert bis ich heute damit auf den 1+1 Server umgezogen bin.

    Jetzt geht es nicht mehr
    Es lässt mich trotz richtigem usernamen und richtigen passwort nicht mehr mein upload script starten. 
    Die Hotline von 1und1 verweist mich auf die extrem günstige 09001000415 Nummer um mir dann 1,-Euro pro Minute abzuzocken.

    Wer weiß Rat warum das bei 1u.1 nicht mehr geht ??


    Gruß
     
  2. exe
    exe
    Das liegt wahrscheinlich an den Sicherheitseinstellungen von 1&1, versuchs mal so:

    Code:
    if ( (!isset($SERVER['PHP_AUTH_USER'])) || ! (($SERVER['PHP_AUTH_USER'] == $LOGIN) && ($SERVER['PHP_AUTH_PW'] == $PASSWORD )) ) {
    header(WWW-Authenticate: Basic entrer=\Form2txt admin\);
    header(HTTP/1.0 401 Unauthorized);
    error(Unauthorized access...);
    }
    mehr zu dem thema findest du hier: http://de.php.net/register_globals :)
     
  3. Hallo Exe,
    habe es probiert, es funzt mit deinem Vorschlag leider nicht.....

    Schade.... dennoch vielen Dank

    Ich habe übrigens einmal deinen Vorschlag auf dem alten Serverplatz versucht, dort funktionierte es leider auch nicht .

    Was für ein Elend,
    da will man mal kurz so eine simple Bildergalerie vom Server X nach Server Y übertragen und handelt sich nichts als Ärger ein ..... gr........
     
  4. exe
    exe
    ah tut mir leid hatte da nen tippfehler drinn, so gehört's:

    Code:
    if ( (!isset($_SERVER['PHP_AUTH_USER'])) || ! (($_SERVER['PHP_AUTH_USER'] == $LOGIN) && ($_SERVER['PHP_AUTH_PW'] == $PASSWORD )) ) {
    header(WWW-Authenticate: Basic entrer=\Form2txt admin\);
    header(HTTP/1.0 401 Unauthorized);
    error(Unauthorized access...);
    }
    hoffe mal das klappt so ;)
     
  5. Hallo Exe,
    danke für die Korrektur.

    Habe gehofft das es nun geht, aber leider immer noch nicht auf dem neuen 1 u. 1 Server.

    Auf dem alten Serverplatz läuft deine Korrektur nun, von daher denke ich,
    das dort von dir nichts falsch sein kann.

    Was hat sich 1 u 1 hier nur einfallen lassen das das nicht funktioniert ??
     
  6. Hoffentlich versteht das nun einer...
    Mein Hoster 1und1 hat geantwortet.....

    [sup]Sehr geehrter Herr,

    dies ist nicht möglich, da PHP bei uns als CGI ausgeführt wird.
    In dieser Konstellation ist es nicht möglich diesen Header zu senden.
    Wir bitten um Ihr Verständnis.[/sup]


    Mir ist jetzt nicht klar welche alternative man zur Ausführung als CGI hat und was ist nun besser oder schlechter für mich als User??
    Wer kennt sich mit diesem ganzen Hickhack so aus, das er das bitte einmal erjklären kann
    Mein Ursprünliches Problem habe ich inzwischen durch neuen Code gelöst.

    Die zu schützende datei bekommt ein : include('auth.php');  zugefügt

    die auth.php sieht so aus:
    Code:
    <?php
         session_start();
    
         $hostname = $_SERVER['HTTP_HOST'];
         $path = dirname($_SERVER['PHP_SELF']);
    
         if (!isset($_SESSION['angemeldet']) || !$_SESSION['angemeldet']) {
          header('Location: http://'.$hostname.($path ==->/' ?->' : $path).'/login.php');
          exit;
          }
    ?>
    die login.php so:
    Code:
    <?php
    
    require('config.php');
    
    
    if ($_SERVER['REQUEST_METHOD'] ==->POST') {
    	session_start();
    
    	$username = $_POST['username'];
    	$passwort = $_POST['passwort'];
    
    	$hostname = $_SERVER['HTTP_HOST'];
    	$path = dirname($_SERVER['PHP_SELF']);
    
    	// Benutzername und Passwort werden überprüft
    
    // entweder so mit direkter eingabe der  erlaubten Daten....	
                 //if ($username ==->benjamin' && $passwort ==->geheim')
    
    //oder so...... 
                    if ($username == $LOGIN && $passwort == $PASSWORD)
    
    	{
    		$_SESSION['angemeldet'] = true;
    
    		// Weiterleitung zur geschützten Startseite
    		if ($_SERVER['SERVER_PROTOCOL'] ==->HTTP/1.1') {
    			if (php_sapi_name() ==->cgi') {
    				header('Status: 303 See Other');
    			}
    			else {
    				header('HTTP/1.1 303 See Other');
    			}
    		}
    // wenn eine korreckte Eingabe erfolgte gehts hier weiter zu meiner geschützten Datei (upload.php)
    		header('Location: http://'.$hostname.($path ==->/' ?->' : $path).'/upload.php');
    		exit;
    	}
    }
    ?>
    
    
    <!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Strict//EN [url]http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd>[/url]
    <html xmlns=[url]http://www.w3.org/1999/xhtml[/url] xml:lang=de lang=de>
     <head>
      <title>Geschützter Bereich</title>
     </head>
     <body>
     <table border=0   width=100% id=AutoNumber1 height=610>
        <tr>
          <td width=100% align=center height=608>
          <form action=login.php method=post>
          <table border=0  width=30% >
            <tr>
              <td width=50><b><font face=Verdana>Username:</font></b></td>
              <td width=120><input type=text name=username /></td>
            </tr>
            <tr>
              <td width=50><b><font face=Verdana>Passwort:</font></b></td>
              <td width=120><input type=password name=passwort/></td>
            </tr>
          </table>
    
    
      
       <br />
         <br />
       <input type=submit value=Benutzerdaten absenden />
      </form>
      
      </td>
       </tr>
      </table>
    
     </body>
    </html>
    Wer kann eigentlich mal die Unteschiede zum Serverprotokoll erklären..
    Code:
    <?php
              if ($_SERVER['SERVER_PROTOCOL'] ==->HTTP/1.1') {
    			if (php_sapi_name() ==->cgi') {
    				header('Status: 303 See Other');
    			}
    			else {
    				header('HTTP/1.1 303 See Other');
    			}
    		}?>
    und wer lust hat kann dann noch eien logoff.php installieren.
    Code:
    <?php
         session_start();
         session_destroy();
    
         $hostname = $_SERVER['HTTP_HOST'];
         $path = dirname($_SERVER['PHP_SELF']);
    
         header('Location: http://'.$hostname.($path ==->/' ?->' : $path).'/login.php');
    ?>
    
    
    <html>
    <br><br>
    <br><br> go to <a href=upload.php>upload</a> 
    <br><br> go to <a href=index.php>Galerie</a> 
    <br><br> go to <a href=delete_pic.php>Lösche einzelnes Bild</a>
    <br><br> go to <a href=login.php>Anmelden</a>
    </body>
    </html>
    Natürlich kann man das jetzt noch ausschmücken,
    zb. mit einer Fehlermeldung wenn die Daten nicht stimmen.
    Hat da jemand eine Idee ??
     
Die Seite wird geladen...

Seiten Password - Ähnliche Themen

Forum Datum
Seitendarstellung fehlerhaft Windows 7 Forum 16. Feb. 2016
IE 11 zeigt keine Seiten an Web-Browser 9. Dez. 2015
Fehler beim öffnen von https-Seiten Software: Empfehlungen, Gesuche & Problemlösungen 13. Mai 2015
Kästen, Fragezeichen usw. bei Aufruf von einigen Webseiten Web-Browser 13. Feb. 2015
Jugenschutzgbeauftrager für manche Webseiten Pflicht, Webdesigner haften. Webentwicklung, Hosting & Programmierung 30. Nov. 2014