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

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