Archivlink: javarea.de Forum > PHP, MySQL & CGI > Loginfeld für einen Adminbereich
Vollständigen Link anzeigen: javarea.de Forum > PHP, MySQL & CGI > Loginfeld für einen Adminbereich

Pages: [1]

geschrieben von olli26 am 12.05.2008 - 11:49
Hallo

Ich suche ein Script mit dem ich ein Loginbereich für einen bestehenden Adminbereich erstellen kann.
Derzeit kommt man einfach so durch aufrufen der URL in den Adminbereich. Hatte es auch mit mal htaccess versucht, aber ich kam trotz richtiger Daten nicht in den Adminbereich rein.
Ich brauche nur ein Loginbereich mit Username und Passwort.

Hab auch schon viel gegoogelt aber da ich mich mit programmieren nicht auskenne, hab ich da sganze auch nicht so richtig verstanden.

Kann mir da einer weiter helfen ?


Gruss, Oliver

geschrieben von Micha am 12.05.2008 - 13:12
Hi,

Du solltest keine Scripte einsetzen, die Du nicht halbwegs selbst verstehst bzw. deren Herkunft zweifelhaft ist.

Zum Problem: Ich empfehler Dir hier mal die fertige Lösung von SELFHTML: http://aktuell.de.selfhtml.org/arti..../index.htm

Damit bin ich bisher ganz gut gefahren.

Gruß Micha

geschrieben von zippy am 12.05.2008 - 14:17
-Passwort oder Passwort und Username an das Script posten.
-Im Script vergleichen, obs stimmt, zB mit
PHP-Quelltext
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: 

<?
function login()
{
if(
$_SESSION["username"])//steht schon in der session
                
{                
                               if(
$_SESSION["userip"] == $_SERVER["REMOTE_HOST"])
                    {
                    return 
1;
                    }
                else
                    {
                    echo 
"IP-MISMATCH";
                                        exit(); 
//ev. geklaute session
                    
}
                }
            else if (
$_POST['username'])//meldet sich gerade an
                
{
                
$username =security($_POST['username']);
                
$password =security($_POST['password']);
                
$query "SELECT  username, password  FROM usertable WHERE username LIKE '$username' LIMIT 1";
                   
$result mysql_query($query)
                or die(
"Anfrage fehlgeschlagen: " mysql_error());
                while (
$row mysql_fetch_array($resultMYSQL_ASSOC))
                    {
                    
$dbpassword=$row["password"];            
                    if (
$password==$row["password"])        
                        {    
                                                
$_SESSION["username"] =$this->username;
                                                
$_SESSION["userip"] = $_SERVER["REMOTE_HOST"];
                                                
mysql_free_result($result);            
                        return 
1;
                        }
                    
                    }

}
?>


geschrieben von zippy am 12.05.2008 - 14:32
...und GAAANZ vereinfacht für lediglich einen Berechtigten:
PHP-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 

<?
function login(){
if(
$_SESSION["loggedin"]){
    if(
$_SESSION["userip"] == $_SERVER["REMOTE_HOST"])  return true;
    else exit();
    }
else if   (
$_POST['password']){//meldet sich gerade an  
     
if ($_POST['password'] == 'DEINPASSWORT'){
         
$_SESSION["loggedin"]=true;
         
$_SESSION["userip"] = $_SERVER["REMOTE_HOST"];
         return 
true;
         }
     return 
false;
    }             
 return 
false;                 
}
?>



Die Funktion rufst am Beginn des Scripts auf, etwa mit:

PHP-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 

<?
if (!login()) {
echo 
"...anmeldeformular...";
exit();
}
?>


geschrieben von olli26 am 12.05.2008 - 14:54
Bei http://aktuell.de.selfhtml.org/arti..../index.htm hatte ich es schon ausprobiert und es ging nicht. Der Admin war zwar geschützt, aber meine Zugangsdaten nahm er nicht an.

Bei meiner Index.php ist nur ein Code drin der auf functions.php und eine index.tpl zugreift.

muss ich das dann in die index.php oder index.tpl einbinden ?


gruss, olli

geschrieben von zippy am 12.05.2008 - 16:23
Prinzipiell gilt, was Micha geschrieben hat. Unsere Postings hatten sich überkreuzt, weil ich dabei gegessen hab...

Ich würds in die Index schreiben, wenn das die schützenswerte Datei ist, und dann vor allem anderen mit if(!login())exit(); aufrufen. Am anfang natürlich die session starten, und zwar vor jeder anderen Ausgabe.

Das SELFHTML-Script müsste funzen. Hast du die richtige Namen-Passwort-Kombination eingetragen?

EDIT: Hab dir nen Unsinn geschrieben, weil ich unaufmerksam war. natürlich musst du die functions schützen, oder je nachdem bloss einige Methoden der functions. ich persönlich mach das mit computern und programmen immer so: weil ich nicht programmieren kann, ärgere ich mich ne weilelang rum, und irgendwann in einer somnambulen phase schalte ich nächtlich den pc ein, statt zu träumen, und auf einmal morgens funzt das ganze.

oder auch nicht.


wenn zum beispiel in deiner index.php die ganze seite abgewickelt würde, könntest auf einmal bloß noch du die seite sehen, wenn du die ganze index.php durch ein derartiges schnipsel schützt. du könntest zb erst mal heraus suchen, was genau der bereich ist, den man nur mit passwort verwenden darf. das könnte eine php sein, eine klasse, eine funktion, und was weiß ich noch alles.


Powered by: JBB v.2.0.4 Copyright ©2000-2006, www.javarea.de.