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

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