3 Temmuz Salı ´12   —   2 Yorum
mfyz.com'da üye kavramının bir anlamı olmadığını baştan belirtmek gerek. Sadece sitede yazılanları kimin yazdığını adresleyebilmek ve basit bir denetleme mekanizmasına sahip olmak için bir üyelik sistemine sahip mfyz.com.

Şu an için tek avantaj tek tık ile üye olmak ve giriş yapabilmek olarak eklediğim facebook entegrasyonu için ileride yazdığınız yorumlara subscribe olabilme gibi ufak eklentiler yapmayı planlıyorum. Ama şu an için facebook entegrasyonu düzgün bir şekilde calışıyor diyebilirim.

Eğer üye iseniz henüz facebook butonlarını kullanmayın, yakında varolan hesaba bağlama özelliği eklenecek.

Hataları bildirirseniz sevinirim.
Authentication, yani kimlik dogrulama, daha anlasilir ifade ile bir sayfayi kullanicilara sinirlamak veya tek bir kullanici olan yoneticiye sinirlamak icin genelde birkac yontem izlenir, hangi web altyapisini yaziyor olursaniz olun bununla her calistiginiz projede karsilasabilirsiniz. Kullanicilar icin hazirlanmasi gereken authentication icin yapacak birsey yok, kayit, giris, cikis vs gibi seyleri yazmak zorundasiniz. Fakat yonetici gibi tek kullanici icin sinirlandirilmak istenen sayfalar icin en pratik cozum ve genelde tercih edilen cozum htaccess ile basic auth yapilmasidir, yani statik bir sifre ve belirli bir kullanici adi ile yapilan http authentication. Sunucu konfigurasyonunuza gore (belki cpanel gibi paneller yardimi ile) bir dizini veya bir sayfayi sinirlandirir ve bunun icin hic kod yazmadan halledebilirsiniz.

Ancak her zaman bu imkan elinizde olmayabilir (mesela sadece ftp erisimine sahip oldugunuz ve htaccess desteklemeyen bir hosting konfigurasyonu). Ya da authentication'u bir sekilde kodunuzda saklamak istiyor olabilirsiniz.

PHP'de sayfa header'lari ile tarayicidan authentication bilgisi isteyebiliyoruz. Bunu kullanarak http authentication yaptirabiliriz, bunun avantaji kullanici girisi icin herhangi bir arayuz yazmak zorunda kalmamamizdir. Tabi bir diger avantaji ise bu bilgi giris ekranlarini tarayicilar yonettigi icin sifre hatirlama, belki 1password gibi uygulamalar ile kimlikleri saklama gibi secenekler sunuyor ve kullaniciniz bu seceneklerden faydalanmak istiyor olabilir. Her zaman sayfa icindeki elementlerle bunu saglayamayabilirsiniz.

Son birkac projemde daha duzenli kullandigim bir kodu paylasacagim. Bu kodu tek bir dosyaya (mesela auth.php) yazip bu dosyayi tum uygulamamda include ediyorum en basta. Boylece eger birisi authenticate edilmeden ulasmaya calisirsa http auth ile karsilaniyor.
$password_hash = '--MD5--SIFRE--';

function forceLogin(){
	global $password_hash;

	$loggedIn = FALSE;

	if (isset($_SERVER['PHP_AUTH_USER']) AND $_SERVER['PHP_AUTH_PW']
		AND $_SERVER['PHP_AUTH_USER'] == 'admin'
		AND md5($_SERVER['PHP_AUTH_PW']) == $password_hash) {
		
		$_SESSION['mfyz_social_auth'] = 'giris_yapildigina_dair_bir_hash';
		$loggedIn = TRUE;
	}

	if (!$loggedIn) {
		header('WWW-Authenticate: Basic realm="My Realm"');
		header('HTTP/1.0 401 Unauthorized');
		echo '<h2>Unauthorized Access!</h2>';
		echo 'To enter username and password, refresh the page.';
		exit;
	}
}

if (!(isset($_SESSION['mfyz_social_auth'])
	AND $_SESSION['mfyz_social_auth'] == 'giris_yapildigina_dair_bir_hash')) {
	forceLogin();
}

Popüler Etiketler

html css assets javascript framework iOS windows linux fstab ntfs google search api ajax jquery gimp howto wanda digital ubuntu cache link plugin social örnek kod macosx apple osx player mfyz design media sosyal medya facebook twitter bootstrap istatistik wordpress dokuman textarea blog rss statistics insanlar konsol terminal php date diff zaman tarih html5 form input mobile job mail signature imza oyun portfolio auth firefox mootools startups regex while ui ux css3 icons developer tebrik download chart grafik widget less compile compiler app on-the-fly js wireless doritos tytz web app open source mysql meta share sql workspace iphone ipad integration service network mdb2 pear injection ios app store store in-app purchase purchase verification storekit itunes connect itunes server ie internet explorer language notebook laptop lisans license support spam browser pharma hack xml nedir www subdomain redirect crossdomain newsletter subscription xhtml opengraph graph lifestream parse banner url radio style box applications free cms apache kurulum htaccess button db database login session xmlhttprequest cookie optimizasyon mssql pgsql switch ipucu calendar tool kontrol yapıları if export sitemap seo webkit music table editor coding phpstorm jetbrains ide connect prepare execute svn subversion proje analyse procedure ruffles kitap query select internet object deployment version control git development optimization route router mod_rewrite screen code kampanya nasıl fql browsers http icon ikon generator logo