php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack (1) Themen-Optionen Bewertung: Bewertung: 1 Stimmen, 5,00 durchschnittlich.
  1 links from elsewhere to this Post. Click to view. #1 (permalink)  
Alt 24-05-2012, 12:57
sanktusm
 Registrierter Benutzer
Links : Onlinestatus : sanktusm ist offline
Registriert seit: Aug 2005
Beiträge: 634
sanktusm zeigte ein beschämendes Verhalten in der Vergangenheit
Standard individuelle Loginseite mit php authentifizierung / htacces

Hallo,
ich möchte mein backend per htaccess schützen, kein Problem, nun möchte ich aber nicht dieses hässlich popup anbieten sondern eine schöne loginseite wie bei wordpress etc.

nun habe ich folgende htaccessdatei:
AuthType Basic
AuthName "Administration"
AuthUserFile /srv/www/vhosts/mywords-cms.de/httpdocs/acc/.htpasswd


<Files *.*>
require valid-user
</files>

<Files login.php>
Allow from all
Satisfy any
</files>

die erlaubt mir, dass ich due login seite aufrufen kann, während alle anderen geschützt sind.
folgendes authenticate script habe ich gefunden.

Nun weiß ich nicht weiter, wenn ich die login-daten poste öffnet sich wieder das popup wie üblich bei htaccess geschützen bereichen. Oder es wird angegeben, dass das passwort und login nicht korrekt sind.

Das Login Script sieht folgendermaßen aus:

PHP-Code:
<form action="auth.php?action=logIn" method="POST">
<
input type="text" name="email"><br>
<
input type="password" name="password">
<
input type="submit">
</
form
Vielleicht weiß jemand weiter
PHP-Code:

<?php

$_user_ 
$_POST['email'];
$_password_ $_POST['password'];

session_start();

$url_action = (empty($_REQUEST['action'])) ? 'logIn' $_REQUEST['action'];
$auth_realm = (isset($auth_realm)) ? $auth_realm '';

if (isset(
$url_action)) {
    if (
is_callable($url_action)) {
        
call_user_func($url_action);
    } else {
        echo 
'Function does not exist, request terminated';
    };
};

function 
logIn() {
    global 
$auth_realm;

    if (!isset(
$_SESSION['username'])) {
        if (!isset(
$_SESSION['login'])) {
            
$_SESSION['login'] = TRUE;
            
header('WWW-Authenticate: Basic realm="'.$auth_realm.'"');
            
header('HTTP/1.0 401 Unauthorized');
            echo 
'You must enter a valid login and password';
            echo 
'<p><a href="?action=logOut">Try again</a></p>';
            exit;
        } else {
            
$user = isset($_SERVER['PHP_AUTH_USER']) ? $_SERVER['PHP_AUTH_USER'] : '';
            
$password = isset($_SERVER['PHP_AUTH_PW']) ? $_SERVER['PHP_AUTH_PW'] : '';
            
$result authenticate($user$password);
            if (
$result == 0) {
                
$_SESSION['username'] = $user;
            } else {
                
session_unset($_SESSION['login']);
                
errMes($result);
                echo 
'<p><a href="">Try again</a></p>';
                exit;
            };
        };
    };
}

function 
authenticate($user$password) {
    global 
$_user_;
    global 
$_password_;

    if ((
$user == $_user_)&&($password == $_password_)) { return 0; }
    else { return 
1; };
}

function 
errMes($errno) {
    switch (
$errno) {
        case 
0:
            break;
        case 
1:
            echo 
'The username or password you entered is incorrect';
            break;
        default:
            echo 
'Unknown error';
    };
}

function 
logOut() {

    
session_destroy();
    if (isset(
$_SESSION['username'])) {
        
session_unset($_SESSION['username']);
        echo 
"You've successfully logged out<br>";
        echo 
'<p><a href="?action=logIn">LogIn</a></p>';
    } else {
        
header("Location: ?action=logIn"TRUE301);
    };
    if (isset(
$_SESSION['login'])) { session_unset($_SESSION['login']); };
    exit;
}

?>
Mit Zitat antworten
  #2 (permalink)  
Alt 24-05-2012, 15:06
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Ich habe das gefühl, du vermischst hier zwei verschiedene Dinge...

Wie genau soll das deiner Meinung nach Funktionieren? Und wo ist die Anleitung in der das behauptet wird?
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #3 (permalink)  
Alt 24-05-2012, 15:30
sanktusm
 Registrierter Benutzer
Links : Onlinestatus : sanktusm ist offline
Registriert seit: Aug 2005
Beiträge: 634
sanktusm zeigte ein beschämendes Verhalten in der Vergangenheit
Standard also hier ist das script aufgeführt:

PHP: HTTP-Authentifizierung mit PHP - Manual

leider weiß ich noch wenig rath, ich möchte einfach nur eine anmeldung realisieren wie man sie bei typo3 oder wordpress vorfindet, eben nicht dieses hässliche popup

und es soll sicher sein.

Ich nehme an das bei wordpress und typo3 auch ein htaccess - schutz realisiert ist oder nicht?

gibt es da einen trick, damit man sich vernünftig anmelden kann?
Mit Zitat antworten
  #4 (permalink)  
Alt 24-05-2012, 15:52
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

okay, nur weil du über diesen Weg ebenfalls ein "hässliches PopUp" erzwingen kannst, bedeutet es nicht, dass du beide Methoden nach belieben mischen kannst.

Wordpress, Typo und auch dieses Forum verwenden alle ein eigenes Usermanagement mit Sessions. Ein Beispiel hierfür findest du hier: http://www.php-resource.de/forum/cod...usermanagement Mit Htaccess hat das nichts zu tun.

Wie kommt es eigentlich zu so einer Fragestellung, obwohl ihr das doch alles schon einmal im genannten mywords-cms.de implementiert habt?
EDIT:
oder geht es etwa genau darum?
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!

Geändert von TobiaZ (24-05-2012 um 15:58 Uhr)
Mit Zitat antworten
  #5 (permalink)  
Alt 24-05-2012, 15:58
sanktusm
 Registrierter Benutzer
Links : Onlinestatus : sanktusm ist offline
Registriert seit: Aug 2005
Beiträge: 634
sanktusm zeigte ein beschämendes Verhalten in der Vergangenheit
Standard ich bin dabei eine neue generation herauszubringen

ich muss es wohl dann doch über eine weiche realisieren wie ich das schon gemacht habe, woher kennst du mywords-cms?
Mit Zitat antworten
  #6 (permalink)  
Alt 24-05-2012, 16:00
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Eine Weiche???

Du hast MyWords CMS oben selbst genannt (im Pfad). Und auch schon in den Userpages vorgestellt.
EDIT:
Ich korrigiere mich, dort war nur die Agenturseite vorgestellt, die jedoch das Produkt beinhaltet.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!

Geändert von TobiaZ (24-05-2012 um 16:02 Uhr)
Mit Zitat antworten
  #7 (permalink)  
Alt 24-05-2012, 16:14
sanktusm
 Registrierter Benutzer
Links : Onlinestatus : sanktusm ist offline
Registriert seit: Aug 2005
Beiträge: 634
sanktusm zeigte ein beschämendes Verhalten in der Vergangenheit
Standard also eine function die bei jeder seite abgefragt wird

ob die session login und password vorhanden sind und passen, sollte das nicht der Fall sein, wird das script beendet und man wird auf die loginseite weitergeleitet, außerdem gibt es noch die ip abfrage falls sessions geklaut werden
Mit Zitat antworten
  #8 (permalink)  
Alt 24-05-2012, 16:44
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Deine "Weiche" ist somit eine simple überprüfung:

PHP-Code:
if(!gültige sessionwerte)
redierect_zu_loginseite(); 
Es gibt übrigens keinerlei Grund Username und vorallem das Passwort in die Session zu speichern. Auch eine ständige Überprüfung der Gültigkeit dieser Daten bei jedem Seitenaufruf ist nicht notwendig.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #9 (permalink)  
Alt 29-05-2012, 10:36
sanktusm
 Registrierter Benutzer
Links : Onlinestatus : sanktusm ist offline
Registriert seit: Aug 2005
Beiträge: 634
sanktusm zeigte ein beschämendes Verhalten in der Vergangenheit
Standard ja

aber vielleicht hast du ja einen tipp wie man das besser machen kann
Mit Zitat antworten
  #10 (permalink)  
Alt 29-05-2012, 11:26
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Eine vernünftige, wenn auch ältere Implementierung hatte ich ja bereits gepostet...
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
Antwort

Lesezeichen


LinkBacks (?)
LinkBack to this Thread: https://www.php-resource.de/forum/php-developer-forum/102971-individuelle-loginseite-mit-php-authentifizierung-htacces.html
Erstellt von For Type Datum
loginseite duw - GMX - Web-Suche This thread Refback 07-01-2013 15:53

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Shop mit einer individuelle Artikel-Vorschauen remo86 Apps und PHP Script Gesuche 0 11-04-2007 15:26
Authentifizierung mit PHP / Session tolwin PHP Developer Forum 8 21-09-2005 22:26
benutzer authentifizierung mit php ilch BRAINSTORMING PHP/SQL/HTML/JS/CSS 1 15-08-2005 08:56
Authentifizierung mit htaccess und PHP Tomcat Chriss PHP Developer Forum 1 30-12-2003 23:40
[Einzelauftrag] [B] Erstelle individuelle Homepages in HTML PHP MySQL (CSS, JavaScript) samiyah Archiv / Trash 8 20-07-2003 11:13

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 09:15 Uhr.