|
| Makaleler |
| Toplam Makale |
3323 |
| Yayında |
3143 |
| Bekleyenler |
180 |
| Görüntüleme |
13316278 |
|
|
|
PHP + MySQL + Apache Kullanilarak KullaniciAdi ve Sifre Sorgulamasi
Once verilerin saklanacagi MySQL tablosunu yaratalim:
SQL:-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- DROP TABLE IF EXISTS site_kullanicilari;
-
- CREATE TABLE site_kullanicilari (
-
- k_id int(12) NOT NULL auto_increment,
-
- k_adi varchar(32) NOT NULL default '',
-
- k_sifresi varchar(255) NOT NULL default '',
-
- k_eposta varchar(255) NOT NULL default '',
-
- k_ger_adi varchar(255) NOT NULL default '',
-
- k_ger_soyadi varchar(255) NOT NULL default '',
-
- k_yasi date NOT NULL default '0000-00-00',
-
- k_meslegi varchar(64) NOT NULL default '',
-
- k_webadresi varchar(255) NOT NULL default '',
-
- k_ilgialanlari varchar(255) NOT NULL default '',
-
- k_icq int(16) NOT NULL default '0',
-
- k_sonerisim timestamp(14) NOT NULL,
-
- PRIMARY KEY (k_id),
-
- UNIQUE KEY k_adi (k_adi)
-
- ) TYPE=MyISAM;
Bu SQL sorgusunu MySQL sunucusu uzerinde uygulayiniz.
Asagida yer alan kucuk program ile istemciye HTTP 401 basligi gonderilerek istemcinin bir kucuk pencerede kullanici adi ve sifresinin soruldugu menusunun acilmasi saglanmis ve bu sekilde elde edilen bilgi MySQL uzerinde sorgulanarak istemcinin kimlik dogrulamasi yapilmistir...
Sizde deneme yapmadan once tablonuzda bir kac kullanici yaratmayi unutmayiniz!
Program : Iki ana dosyadan olusuyor.Birincisi MySQL baglanti kutuphanesi db_genel_gelismis.inc ve kimlik_dogrula.php.
db_genel_gelismis.inc
Onemli : Bu kutuphanede yukaridaki tablonun yaratildigi veritabani ismi,kullanici adi ve sifreniz bolumleri dogru bir sekilde girilmelidir.
PHP:-
- <?php
-
-
-
-
-
-
-
-
-
- serkan@turk-php.com
-
-
-
-
-
-
-
-
- $dbhost = 'localhost';
-
- $dbkuladi = '';
-
- $dbkulsifre = '';
-
- $default_veritabani = '';
-
-
-
-
-
- $MYSQL_ERRNO = '';
-
- $MYSQL_ERROR = '';
-
-
- function db_baglan($db_ismi='') {
-
-
- global $dbhost,$dbkuladi , $dbkulsifre, $default_veritabani;
-
- global $MYSQL_ERRNO, $MYSQL_ERROR;
-
-
- $link_id = mysql_connect($dbhost,$dbkuladi, $dbkulsifre);
-
- if(!$link_id) {
-
- $MYSQL_ERRNO = 0;
-
- $MYSQL_ERROR = "Baglanti hatasi olustu.Sunucu adi : $dbhost.";
-
- return 0;
-
- } else if(empty($dbismi) && !mysql_select_db($default_veritabani)) {
-
- $MYSQL_ERRNO = mysql_errno();
-
- $MYSQL_ERROR = mysql_error();
-
- return 0;
-
- } else if (!empty($db_ismi) && !mysql_select_db($db_ismi)) {
-
- $MYSQL_ERRNO = mysql_errno();
-
- $MYSQL_ERROR = mysql_error();
-
- return 0;
-
- } else
-
- return $link_id;
-
- }
-
-
- function sql_hatasi() {
-
- global $MYSQL_ERRNO, $MYSQL_ERROR;
-
- if(empty($MYSQL_ERROR)) {
-
- $MYSQL_ERRNO = mysql_errno();
-
- $MYSQL_ERROR = mysql_error();
-
- }
-
- return "$MYSQL_ERRNO: $MYSQL_ERROR";
-
- }
-
-
-
- ?>
kimlik_dogrula.php
PHP:-
- <?php
-
- include ("mysql/db_genel_gelismis.inc");
-
-
- function kimligi_dogrula($kullanici,$sifre) {
-
-
-
-
- $link_id = db_baglan();
-
-
-
- $g_kullanici = strtr(addslashes($kullanici),array('_'=>'\_','%'=>'\%'));
-
-
- $r = mysql_query("SELECT k_sifresi,k_sonerisim FROM site_kullanicilari WHERE k_adi
-
- LIKE '$g_kullanici'") or die("Gecersiz Sorgu : " . mysql_error());
-
-
- if (mysql_num_rows($r) == 1) {
-
-
- $ob = mysql_fetch_object($r);
-
-
- if ($ob->k_sifresi == $sifre){
-
-
- $zaman = time();
-
-
- if (($zaman - $ob->k_sonerisim) > (15 * 60)) {
-
-
- return false;
-
-
- } else {
-
-
- mysql_query("UPDATE site_kullanicilari SET k_sonerisim=NOW() WHERE k_adi
-
-
- LIKE '$g_kullanici'") or die("Gecersiz Sorgu : " . mysql_error());
-
-
- return true;
-
-
- }
-
-
- } else {
-
-
- return false;
-
- }
-
- }
-
- }
-
- if (! kimligi_dogrula($_SERVER['PHP_AUTH_USER'],$_SERVER['PHP_AUTH_PW'])) {
-
- header('WWW-Authenticate: Basic realm="Web Sitesi"');
-
- header('HTTP/1.0 401 Unauthorized');
-
-
- echo "Gecerli bir kullaniciadi/sifre ikilisi girmelisiniz!";
-
-
- exit;
-
-
- } else {
-
-
- echo "Giris Tamamlandi!";
-
-
- }
-
-
- ?>
Ornekler icin asagidaki linkleri kullanabilirsiniz:
Giris yapabilmek icin Kullanici adi:admin ve Sifre:sifre giriniz,
http://turk-php.com/ornekler/kimlik_dogrula.php
Kaynak kodlarini goruntulemek icin asagidaki linki kullanabilirsiniz:
http://www.turk-php.com/kodgoster/http://www.turk-php.com/ornekler/kimlik_dogrula.php
Basarilar, Serkan
Yayın Tarihi 07/21/03
Program: http://turk-php.com/ornekler/kimlik_dogrula.php
Bu makale hakkında ek bilgi eklemek için buraya tıklayınız
Bu makalenin yazar yada kaynağını bildirmek için tıklayınız.
Eklenme tarihi: 3-2-2006 Okunma: 1939
|
| Bu Makaleye Verilen Puan: |
Bu makaleye puan verilmemiş.
|
Kullanıcı Yorumları
Bu makaleye yorum gönderilmemiş, ilk yorumu sen gönder !
İlgili Dökümanlar
|
|
|