boehseronkel
Neues Mitglied
wie rufst du denn diese funktion auf ? So wie in einem unserer Post´s oben ?
Deswegen wollte ich den ganzen Source und nicht nur die funktion, woher soll ich denn bitte wissen, wie du die funktion aufrufst und noch etwas herr Schlauschiss ... ich habe mir die mühe gemacht obwohl ich ja angeblich deines erachtens nach zu faul bin und habe eine seite zurück geklickt und jetzt halt dich fest ! der von dir gepostete quelltext am anfang weicht von dem der neu gepostet wurde ab ! durch simple "return"
Es geht in der Programmierung immer zu kleinigkeiten manchmal ist es nur ein Buchstabe welcher den Programmfluss beeinflusst entweder hörste auf rumzumaulen und machst das was verlangt wird um dir zu helfen oder du läst es ( bezug vorheriger post von mir )
bzw. deine login funktion ist absolut unsicher !!!
Haste schon mal über SQL Injection nachgedacht ? Das würde dir die db zerlegen ...
Und weil ich so verdammt nett bin und du ja auch meine vorderungen erfüllt hast poste ich dir mal eine login funktion die du guten gewissens verweden kannst !
btw. deine funktion darf in deinem status gar kein array ausgeben ( sry kann gar kein array ausgeben )
############################
inc.php
index.php
So far ... Sven
Deswegen wollte ich den ganzen Source und nicht nur die funktion, woher soll ich denn bitte wissen, wie du die funktion aufrufst und noch etwas herr Schlauschiss ... ich habe mir die mühe gemacht obwohl ich ja angeblich deines erachtens nach zu faul bin und habe eine seite zurück geklickt und jetzt halt dich fest ! der von dir gepostete quelltext am anfang weicht von dem der neu gepostet wurde ab ! durch simple "return"
Es geht in der Programmierung immer zu kleinigkeiten manchmal ist es nur ein Buchstabe welcher den Programmfluss beeinflusst entweder hörste auf rumzumaulen und machst das was verlangt wird um dir zu helfen oder du läst es ( bezug vorheriger post von mir )
bzw. deine login funktion ist absolut unsicher !!!
Haste schon mal über SQL Injection nachgedacht ? Das würde dir die db zerlegen ...
Und weil ich so verdammt nett bin und du ja auch meine vorderungen erfüllt hast poste ich dir mal eine login funktion die du guten gewissens verweden kannst !
btw. deine funktion darf in deinem status gar kein array ausgeben ( sry kann gar kein array ausgeben )
############################
inc.php
PHP:
<?php
@session_start();
@mysql_connect("HOST","USER","PASS");
@mysql_select_db("DB");
function check_string($string) {
// erlaubte zeichen a-z,A-Z,0-9,-,_
if((preg_match('/^[a-zA-Z0-9\-\_]+$/',$string))) return true;
return false;
}
function login($benutzername,$kennwort,$modus=1,$cookie_gelesen=1) {
// ############# Konfiguration start #############
// ### Cookies ###
// Name des Cookies
$conf['cookie_name'] = "login_cookie";
// Ablaufzeit des Cookies (1 Monat)
$conf['cookie_zeit'] = time()+3600*24*7*4;
// Inhalt des Cookies (Wird im spaeterem Verlauf festgelegt)
$conf['cookie_inhalt'] = "";
// ### Sonstiges ###
// Modus ( 1 = Session und Cookie setzen / 2 = Session ohne Cookie setzen )
$conf['modus'] = $modus;
// CookieSet ( 1 = Benutzername und Kennwort sind nicht aus einem Cookie entnommen / <1 = Benutzername und Kennwort sind einem Cookie entnommen somit ist das Kennwort schon verschluesselt )
$conf['cookie_gelesen'] = $cookie_gelesen;
// ### Variablen ###
// Benutzername
$vars['benutzername'] = htmlspecialchars(trim($benutzername));
// Kennwort
$vars['kennwort'] = htmlspecialchars(trim($kennwort));
// ############# Konfiguration ende #############
// Ist der Benutzername oder das Kennwort "leer" oder sind ungueltige Zeichen im String dann gib ein false wert zurueck
if(strlen($vars['benutzername']) == 0 OR strlen($vars['kennwort']) == 0 OR !check_string($vars['benutzername']) OR !check_string($vars['kennwort'])) {
return false;
}else {
// Ist das Kennwort NICHT aus einem Cookie dann muss es mit md5 verschluesselt bzw. verhasht werden
if($conf['cookie_gelesen'] == 1) {
$vars['kennwort'] = md5($vars['kennwort']);
}
// SQL Abfrage ob benutzername und kennwort gleich den in der Datenbank sind
$sql = @mysql_query("SELECT benutzer_id FROM tbl_benutzer WHERE benutzername = '".$vars['benutzername']."' AND kennwort = '".$vars['kennwort']."' ");
// Ist die Abfrage erfolgreich dann check den Modus
if(@mysql_num_rows($sql) == 1) {
if($conf['modus'] == 1) {
// Cookie Inhalt wird aus benutzername@kennwort zusammengebaut
$conf['cookie_inhalt'] = $vars['benutzername']."@".$vars['kennwort'];
// Cookie wird gesetzt
@setcookie($conf['cookie_name'],$conf['cookie_inhalt'],$conf['cookie_zeit']);
// Session für den login wird gesetzt
$_SESSION['success'] = true;
return true;
}else {
// Session für den login wird gesetzt
$_SESSION['success'] = true;
return true;
}
}else {
// SQL Abfrage hat nicht geklappt
return false;
}
}
}
PHP:
<?php
// Pruefen ob der Browser Cookies akzeptiert
if(isset($_COOKIE['browser_check'])) {
$browser_check = true;
}elseif($_GET['check'] != 1) {
@setcookie("browser_check","set",time()+3600);
header("Location: index.php?check=1");
}
include("inc.php");
// Wenn $_GET['logout'] gesetzt ist dann loesche $_SESSION['success']
if(isset($_GET['logout'])) {
// Wenn $_COOKIE['login_cookie'] gesetzt ist dann loesche Cookie
if(isset($_COOKIE['login_cookie'])) @setcookie("login_cookie",0,time()-3600);
// Loesche SESSION['success']
unset($_SESSION['success']);
//Leite weiter zur index.php
header("Location: index.php");
}
// Wenn $_COOKIE['login_cookie'] gesetzt ist dann ueberpruefe den Inhalt und fuehre ggf. den auto login aus
if(isset($_COOKIE['login_cookie']) AND !isset($_POST['sender']) AND !isset($_GET['logout'])) {
// Hole den Inhalt aus dem Cookie
$cookie_inhalt = $_COOKIE['login_cookie'];
// Trenne benutzername und kennwort anhand des Trennzeichens @
$cookie_inhalt = explode("@",$cookie_inhalt);
// Gehe mit Cookiedaten in die login funktion
login($cookie_inhalt[0],$cookie_inhalt[1],1,2);
}
// Wenn Sumbit gepostet wurde
if(isset($_POST['sender'])) {
// Wenn Cookie setzen "aktiv"
if($_POST['co'] == 'on') {
if(login($_POST['username'],$_POST['password']) == false) {
echo "Sry da hat was nicht geklappt";
}
}else {
if(login($_POST['username'],$_POST['password'],2,1) == false) {
echo "Sry da hat was nicht geklappt";
}
}
}
?>
<html>
<head>
<title>test</title>
</head>
<body bgcolor="#FFFFFF" topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0" >
<?php
if(isset($_SESSION['success'])) {
echo "drin<br><a href='index.php?logout=true'>Logout</a>";
}else {
?>
<form target="_self" method="post" name="main">
<?php if(!isset($browser_check)) echo "Ihr Browser akzeptiert keine Cookies, daher wird dieses Feld deaktiviert<br><br>"; ?>
User : <input type="text" name="username"><br>
Pass : <input type="text" name="password"><br>
Cookie (ja/nein) : <input type="checkbox" name="co" <?php if(!isset($browser_check)) echo "disabled";?>><br>
<input type="submit" name="sender">
</form>
<?php } ?>
</body>
</html>