PHP(Session) ile Login sistemi yapalim

Zamaninda cok arastirmistim tam istedigimi bulamamistim yada anlayamamistim sizlerin de isinizi gorecegini dusunerek bi' calisma yaptim.

PHP:
  1. <?
  2. session_start(); // session baslatiyoruz
  3. $user='admin'; // kullanici adi tanimladik
  4. $pass='123456'; // sifre tanimladik
  5. if($_GET['act']=='logout'){ // eger GET ile gelen 'act' esitse 'logout' a dedik (cikis sayfamiz)
  6. session_unset(); // sessionu temizledik
  7. echo 'cikis yaptiniz<br/>'; // cikis yaptiniz yazisini bastik
  8. exit();
  9. }else{ // eger GET ile gelen 'act' esit degilse 'logout' a
  10. if($_SESSION['login']=='ok'){ // eger session 'login' esitse 'ok' a (yani giris yapilmissa)
  11. echo 'hosgeldin '.$_SESSION['user'].'<br/><a href="'.$_SERVER['PHP_SELF'].'?act=logout>cikis</a>'; // kullaniciya hosgeldin diyoruz
  12. exit();
  13. }
  14. if($_POST['user'] && $_POST['pass']){ // eger POST ile gelen 'user' ve 'pass' inputlari varsa
  15. if($_POST['user']==$user && $_POST['pass']==$pass){ // eger POST ile gelen 'user' kullanici adimiza ve 'pass' sifremize esitse
  16. $_SESSION['user']=$_POST['user']; // SESSION 'user' i gelen POST user'e esitledik, sistemde herhangi bi yerde kullanici adini kullanabilmek icin
  17. $_SESSION['login']='ok'; // SESSION 'login' e 'ok' verisini verdik (giris yapip yapilmadigini anlamak icin)
  18. echo 'hosgeldin '.$_SESSION['user'].'<br/><a href="'.$_SERVER['PHP_SELF'].'?act=logout">cikis</a>'; // ekrana hosgeldin kullaniciadi yazdik
  19. }else{ // eger POST ile gelen 'user' kullanici adimiza ve 'pass' sifremize esit degilse (k.adi veya sifre yanlissa)
  20. echo 'yanlis kullanici veya sifre'; // ekrana yanlis kullanici veya sifre yazdik
  21. session_unset(); // sessionu temizledik
  22. }
  23. }else{ // eger POST ile gelen 'user' ve 'pass' inputlari yoksa
  24. <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">
  25. <br>
  26. <input type="submit" value="Giris">
  27. </form>';
  28. // giris formumuzu ekrana bastik
  29. }
  30. }
  31. ?>

Herhangi bir hata veya sorun ile karsilasirsaniz buraya yazin yardimci olamaya calisayim..

1 Yıldız2 Yıldız3 Yıldız4 Yıldız5 Yıldız (5 oy ortalamasi: 4.8 / 5)
Loading ... Loading ...


Etiketler: , , , , , , , , , ,


PHP ile flooda karşı güvenlik kodu

Veritabanina kayit yaptiginiz sayfalarda kullanabileceginiz basit bir guvenlik kodunun yapimi ve islevini anlatmak istedim.

PHP:
  1. <?
  2. session_start(); // Session baslatiyoruz
  3. if($_GET['act']=='ok'){ // get ile gelen 'act' verisi esitse 'ok' a
  4. if($_POST['SecInput']==$_SESSION['Sec']){ // post ile gelen SecInput esitse Sec isimli sessionuna
  5. echo 'guvenlik kodu dogru'; // guvenlik kodu dogrudur islemleri burada yapabiliriz
  6. }else{ // SecInput esit degilse Sec isimli sessionuna
  7. echo 'guvenlik kodu yanlis<br><a href="#" onClick="history.back(-1);">geri</a>'; // guvenlik kodu yanlis geri don diyoruz
  8. session_unset(); // sessionu siliyoruz
  9. }
  10. }else{ // get ile gelen act verisi esit degilse 'ok' a
  11. session_unset(); // eski session varsa siliyoruz
  12. $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
  13. $_SESSION['Sec']=$SecCode; // $SecCode isimli degisgenimizi Sec isimli sessionumuza esitledik
  14. 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
  15. }
  16. ?>

Yukarıdaki çalışmayı mantığı anlamanız için yapmıştım, şimdi de resimli güvenlik kodu yapalım.

PHP:
  1. <?
  2. session_start(); // Session baslatiyoruz
  3. if($_GET['act']=='ok'){ // get ile gelen 'act' verisi esitse 'ok' a
  4. if($_POST['SecInput']==$_SESSION['Sec'] && !$_POST['SecInput']==''){ // post ile gelen SecInput esitse Sec isimli sessionuna
  5. echo 'guvenlik kodu dogru'; // guvenlik kodu dogrudur islemleri burada yapabiliriz
  6. }else{ // SecInput esit degilse Sec isimli sessionuna
  7. echo 'guvenlik kodu yanlis<br><a href='.$_SERVER['HTTP_REFERER'].'>geri</a>';// guvenlik kodu yanlis geri don diyoruz
  8. }
  9. }elseif($_GET['s']=='img'){
  10.     $y = 60;
  11.     $g = 20;
  12.     $code = imagecreate($y, $g);
  13.     $bgc = imagecolorallocate($code, 0, 0, 0);
  14.     $tc = imagecolorallocate($code, 255, 255, 255);
  15.     imagefill($code, 0, 0, $tc);
  16.     imagestring($code, 3, 10, 3, $_SESSION['Sec'], $bgc);
  17.     header("Content-Type: image/gif");
  18.     imagejpeg($code);
  19.     imagedestroy($code);
  20. }
  21. else{
  22. session_unset();// eski session varsa siliyoruz
  23. $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
  24. $_SESSION['Sec']=$SecCode// Sec isimli sessiona da guvenlik kodumuzu esitledik
  25. 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
  26. }
  27. ?>

Herhangi bir sorun veya aksilik olursa yardımcı olmaya çalışırım.

1 Yıldız2 Yıldız3 Yıldız4 Yıldız5 Yıldız (7 oy ortalamasi: 4.71 / 5)
Loading ... Loading ...


Etiketler: , , , , , ,


Wp Eklenti: ysbostan LightBox

Merhaba arkadaşlar, bu gece ilk Wordpress eklentimi yazdım.
Javascript ile yazılmış olan Lightbox scriptini daha önce duymuşsunuzdur sanırım.
Lightbox web sitenizdeki resimlere tıklandığında arka planı karartıp resmi sayfanın tam ortasında gösteren kullanışlı bir scripttir.
Bu gece baktım Wordpress'de resimler tıklandığında yeni sayfada açılıyor, hemen aklıma lightbox geldi :) ve başladım kurcalamaya...
ilk eklentim olduğu içinde bayağı sevinçliyim :) neyse artık eklentimize dönelim.

Eklenti Adı: ysbostan LightBox
Versiyon: 0.2
Download: ysbostan lightbox v0.2
Açıklama: Resimleri efektli janjanlı şekilde gösteren, kullanışlı bir eklenti. :) tabi ki eski resimlerde dahil ;)
Kurulum: Temanızın single.php dosyasını açın (single.php yoksa index.php'de dir.)

Bunu bulun;

PHP:
  1. the_content

Bunu da üstteki kodun üst satırına yapıştırın;

PHP:
  1. if (function_exists('ysbostan_lightbox'))
  2.                     ysbostan_lightbox('uploads');
  3.                     else

Sonuç şu şekilde olmalı;

PHP:
  1. if (function_exists('ysbostan_lightbox'))
  2.                     ysbostan_lightbox('uploads');
  3.                     else
  4. the_content // the_content'den sonrası önemli değil. the_content('Bu alanda bişeyler yazar genelde') önemsiz.

uploads yazan yere yüklemelerin yapıldığı klasörün adını yazacaksınız.
Genelde uploads'dır, ama bilmiyorsanız;
WP Yönetim panelinden
Tercihler -> Çeşitli -> Yüklemeleri bu klasörde sakla:
wp-content/ Burada yazan klasör adı
ysbostan_lightbox
Eğer sizde farklı ise uploads yerine kendi upload klasörünüzün adını yazınız.
Dosyamızı kaydedip upload edediyoruz, daha sonra eklentimizi etkinleştiriyoruz ;)

Demo:
ysbostan lightbox v0.2

Olumlu olumsuz yorumlarınızı bekliyorum :D

1 Yıldız2 Yıldız3 Yıldız4 Yıldız5 Yıldız (11 oy ortalamasi: 4.45 / 5)
Loading ... Loading ...


Etiketler: , , , , , , , , , , , ,