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

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