Zamaninda cok arastirmistim tam istedigimi bulamamistim yada anlayamamistim sizlerin de isinizi gorecegini dusunerek bi' calisma yaptim.
PHP:
-
<?
-
-
$user='admin'; // kullanici adi tanimladik
-
$pass='123456'; // sifre tanimladik
-
if($_GET['act']=='logout'){ // eger GET ile gelen 'act' esitse 'logout' a dedik (cikis sayfamiz)
-
-
echo 'cikis yaptiniz<br/>';
// cikis yaptiniz yazisini bastik
-
-
}else{ // eger GET ile gelen 'act' esit degilse 'logout' a
-
if($_SESSION['login']=='ok'){ // eger session 'login' esitse 'ok' a (yani giris yapilmissa)
-
echo 'hosgeldin '.
$_SESSION['user'].
'<br/><a href="'.
$_SERVER['PHP_SELF'].
'?act=logout>cikis</a>';
// kullaniciya hosgeldin diyoruz
-
-
}
-
if($_POST['user'] && $_POST['pass']){ // eger POST ile gelen 'user' ve 'pass' inputlari varsa
-
if($_POST['user']==$user && $_POST['pass']==$pass){ // eger POST ile gelen 'user' kullanici adimiza ve 'pass' sifremize esitse
-
$_SESSION['user']=$_POST['user']; // SESSION 'user' i gelen POST user'e esitledik, sistemde herhangi bi yerde kullanici adini kullanabilmek icin
-
$_SESSION['login']='ok'; // SESSION 'login' e 'ok' verisini verdik (giris yapip yapilmadigini anlamak icin)
-
echo 'hosgeldin '.
$_SESSION['user'].
'<br/><a href="'.
$_SERVER['PHP_SELF'].
'?act=logout">cikis</a>';
// ekrana hosgeldin kullaniciadi yazdik
-
}else{ // eger POST ile gelen 'user' kullanici adimiza ve 'pass' sifremize esit degilse (k.adi veya sifre yanlissa)
-
echo 'yanlis kullanici veya sifre';
// ekrana yanlis kullanici veya sifre yazdik
-
-
}
-
}else{ // eger POST ile gelen 'user' ve 'pass' inputlari yoksa
-
-
<form name="form" method="post" action="'.$_SERVER['PHP_SELF'].'">Kullanici Adi:<input name="user" type="text"><br/>Sifre:<input name="pass" type="password" id="pass">
-
<br>
-
<input type="submit" value="Giris">
-
</form>';
-
// giris formumuzu ekrana bastik
-
}
-
}
-
?>
Herhangi bir hata veya sorun ile karsilasirsaniz buraya yazin yardimci olamaya calisayim..

Loading ...
Etiketler: code, giris, guvenlik, güvenlik, kod, login, login sistemi, php, security, session, uye girisi
Veritabanina kayit yaptiginiz sayfalarda kullanabileceginiz basit bir guvenlik kodunun yapimi ve islevini anlatmak istedim.
PHP:
-
<?
-
-
if($_GET['act']=='ok'){ // get ile gelen 'act' verisi esitse 'ok' a
-
if($_POST['SecInput']==$_SESSION['Sec']){ // post ile gelen SecInput esitse Sec isimli sessionuna
-
echo 'guvenlik kodu dogru';
// guvenlik kodu dogrudur islemleri burada yapabiliriz
-
}else{ // SecInput esit degilse Sec isimli sessionuna
-
echo 'guvenlik kodu yanlis<br><a href="#" onClick="history.back(-1);">geri</a>';
// guvenlik kodu yanlis geri don diyoruz
-
-
}
-
}else{ // get ile gelen act verisi esit degilse 'ok' a
-
-
$SecCode =
substr(md5(rand(0,
999)),
0,
6);
// guvenlik kodumuzu olusturmak icin 0 ile 999 arasi rastgele sayi olusturduk sayiyi md5 yaptik ve ilk 6 karakterini aldik ve $SecCode degisgenine esitledik
-
$_SESSION['Sec']=$SecCode; // $SecCode isimli degisgenimizi Sec isimli sessionumuza esitledik
-
echo '<b>Guvenlik kodu:</b> '.
$SecCode.
'<form action="'.
$_SERVER['PHP_SELF'].
'?act=ok" method="POST"><input type="text" name="SecInput" /><input type="submit" value="OK"></form>';
// ekrana guvenlik formu bastik, guvenlik kodunun yazilacagi inputa SecInput ismini verdik form action POST kullandik
-
}
-
?>
Yukarıdaki çalışmayı mantığı anlamanız için yapmıştım, şimdi de resimli güvenlik kodu yapalım.
PHP:
-
<?
-
-
if($_GET['act']=='ok'){ // get ile gelen 'act' verisi esitse 'ok' a
-
if($_POST['SecInput']==$_SESSION['Sec'] && !$_POST['SecInput']==''){ // post ile gelen SecInput esitse Sec isimli sessionuna
-
echo 'guvenlik kodu dogru';
// guvenlik kodu dogrudur islemleri burada yapabiliriz
-
}else{ // SecInput esit degilse Sec isimli sessionuna
-
echo 'guvenlik kodu yanlis<br><a href='.
$_SERVER['HTTP_REFERER'].
'>geri</a>';
// guvenlik kodu yanlis geri don diyoruz
-
-
}
-
}elseif($_GET['s']=='img'){
-
$y = 60;
-
$g = 20;
-
$code = imagecreate($y, $g);
-
$bgc = imagecolorallocate($code, 0, 0, 0);
-
$tc = imagecolorallocate($code, 255, 255, 255);
-
imagefill($code, 0, 0, $tc);
-
imagestring($code, 3, 10, 3, $_SESSION['Sec'], $bgc);
-
header("Content-Type: image/gif");
-
imagejpeg($code);
-
imagedestroy($code);
-
}
-
else{
-
-
$SecCode =
substr(md5(rand(0,
999)),
0,
6);
// guvenlik kodumuzu olusturmak icin 0 ile 999 arasi rastgele sayi olusturduk sayiyi md5 yaptik ve ilk 6 karakterini aldik ve $SecCode degisgenine esitledik
-
$_SESSION['Sec']=$SecCode; // Sec isimli sessiona da guvenlik kodumuzu esitledik
-
echo '<b>Guvenlik kodu:</b> <img src='.
$_SERVER['PHP_SELF'].
'?s=img><form action="'.
$_SERVER['PHP_SELF'].
'?act=ok" method="POST"><input type="text" name="SecInput" /><input type="submit" value="OK"></form>';
// ekrana guvenlik formu bastik, guvenlik kodunun yazilacagi inputa SecInput ismini verdik form action POST kullandik
-
}
-
?>
Herhangi bir sorun veya aksilik olursa yardımcı olmaya çalışırım.

Loading ...
Etiketler: code, guvenlik, güvenlik, kod, php, security, session