php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 07.07.2006, 12:11  
Erfahrener Benutzer
 
Registriert seit: 16.08.2004
Beiträge: 145
DDogg
Standard Nach Login mit Session Username auslesen

Hallo, ich möchte gerne nach dem üblichen Sessionlogin den Benutzernamen ausgeben und Ihn auch in einer sql Abfrage verwenden

Code:
<?session_start();

if ((!isset($usercheck)) OR (!isset($passcheck)))
{
die ("Bitte geben Sie Ihren Benutzernamen und Ihr Passwort ein.");
}
$MySQL_Host="XXXX";
$MySQL_DB="XXXX";
$MySQL_User="XXXX";
$MySQL_Passw="XXXX";

$conn = @ mysql_connect($MySQL_Host,$MySQL_User,$MySQL_Passw);
if (!$conn)
{
die ("Sorry, Verbindungsversuch zur Datenbank ist fehlgeschlagen !");
}

mysql_select_db($MySQL_DB,$conn);

$result =  mysql_query("SELECT passwort, username FROM denkmal_net_user WHERE username = '$usercheck'",$conn);
$zeileholen =  mysql_fetch_array($result,MYSQL_ASSOC);
     mysql_close($conn);
if (!$zeileholen)
{
die ("Sorry, aber dieser Name ist leider nicht bekannt !");
}
if ($zeileholen["passwort"] <> $passcheck)
{
die ("Sorry, aber dieses Passwort passt nicht zum Usernamen !");
}
$user = $zeileholen["username"];
session_register('username');

heder ("Location:inhalt.php");
?>
Dazu ist ja auch session_register('username'); angelegt. Aber wie grieg ich Ihn raus??

echo "$username"; ist nicht. Genausowenig in einer sql abfrage .... select level from X where username = $username ....

Wie muss ich die Variable $username im echo und in der sql Abfrage schreiben das es funktioneirt?
DDogg ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 07.07.2006, 12:17  
Gast
 
Beiträge: n/a
Standard

Benutze nicht mehr session_register('username'), sondern $_SESSION['username']='Michigras'. Zum Aufrufen dann $_SESSION['username'] benutzen.
 
Alt 07.07.2006, 15:42  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard

Noch ein paar Anmerkungen:

* Anstatt <? immer <?php verwenden. Damit bist du unabhängig von der Option short_open_tags, die du womöglich mal abschalten musst, wenn du z.B. XML-Files als Templates benutzt.

* Kommt $usercheck aus $_POST['usercheck'] oder hast du register_globals noch auf on stehen? In letzerem Fall das mal schnell abschalten und die Eingaben prinzipiell entschärfen: mysql_real_escape_string().

* Nach erforlgeichem Login musst du immer die Session-Id wechseln (session_regenerate_id()), sonst kann ein Angreifer viel leichter auf eine fremde Session aufspringen.

* Auch solltest du nach dem Session-Start eine neue SID generieren, um Session-Fixation-Angriffe abzublocken.

* Das Ablaufen der Session kontrolliere ich auch prinzipiell selbst.

* Der Location-Header erwartet einen absoluten URI (bzw. die Programme, die ihn verarbeiten - auch wenn wohl alle Browser da ein Auge zudrücken). Siehe RFC 2616, 14.30

* Deutche Variablen- und Tabellennamen (+ Kommentare etc.) solltest du dir garnicht erst angewöhnen. Gibt nur ein unnötiges Durcheinander und ggf. Zeichensatzprobleme.

* Damit der Code leichter lesbar wird, solltest du ihn einrücken. Gibt verschiedene Standards - kannst dich zur Inspiration ja mal danach umschauen (z.B. in der PEAR-Dokmentation oder bei anderen großen OS-Projekten).

So, wollte dich nicht erschlagen, aber Login- und Session-Implementierungen sind in PHP halt schnell derart zusammengeschrieben, dass sich hinterher doch jeder reinhacken kann und ums sicher zu machen brauchts halt ein wenig Überblick in der Thematik. Also lieber mal in die Materie einlesen, die Angriffsvektoren anschauen, verstehen und dann erst ransetzen.

Oder erstmal vorhandene Klassen benutzen oder eben mit den Basics anfangen.

Viel Spaß,
Basti
Basti ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Login per Session oder htaccess? FI-DD PHP Tipps 2008 9 31.01.2008 21:19
Login, Session und der ganze Rest nikosch PHP Tipps 2007 10 25.03.2007 05:48
Session Logout Login Navigation TailerD PHP Tipps 2006 10 24.06.2006 17:12
Kann keine Session auslesen und habe keine Fehlermeldung Klaus Server, Hosting und Workstations 7 26.05.2006 12:31
login + session PHP Tipps 2005-2 23 30.08.2005 21:29
Array in Session speichern und wieder auslesen Riot PHP Tipps 2005-2 3 08.07.2005 11:43
Session Login LA-Finest PHP Tipps 2005-2 4 05.07.2005 10:46
login mit session id PHP Tipps 2005 10 26.01.2005 12:32
session start nur bei jedem 2. login PHP Tipps 2004-2 9 16.12.2004 13:39
Session Problem beim Login PHP Tipps 2004-2 6 15.12.2004 09:37
login mit session geht ne PHP Tipps 2004-2 4 08.12.2004 15:48
Alle Session Variablen auslesen? SRWeb PHP Tipps 2004-2 2 07.12.2004 20:10
Session auslesen PHP-Fortgeschrittene 6 23.11.2004 08:55
Login / Session / Benutzerdaten SvenLittkowski PHP Tipps 2004 4 06.09.2004 17:08
Session Login funkt nicht, wenn Cookies immer aus sind schifti PHP-Fortgeschrittene 18 06.09.2004 07:48

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
session username, username aus session auslesen, php session username auslesen, php session username anzeigen, session username auslesen, session[\username\], username in session, username aus session, session username anzeigen, session username ausgeben, username in session schreiben, session benutzername, $session username, http://www.php.de/php-tipps-2006/41097-nach-login-mit-session-username-auslesen.html, php username auslesen, php session username abfragen, session für usernamen anzeige, session login, session.username, session benutzername anzeigen

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




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.