öncelikle herkese kolay gelsin üstatlarım ve arkadaşlarım..bayağıdır araştırmaktayım fakat tam anlamıyla elle tutulur bir bilgi bulamadım..
Şimdi sorunum şu phpde login yapıcam ve siteye giriş yapıcam...şimdi GÜVENLİK açısından ben neyi session ile kontrol ettirmeliyim..biri userId demiş biri şifre yazmış biri başka birşey yazmış..bunun doğrusu nedir.En GÜVENİLİRİ...ve
2.sorum ise session ettiğim kodu diğre sayfalarda nasıl kontrol ettirmeliyim..yane login.php ile giriş yaptıktan sonra sayfalarim.php içinde nasıl bir kontrol yaptırmam gerekir...saygılarımla...şimdiden çok teşşekür ederim herkese hayırlı günler...
üstatlar yardım
7
●538
- 05-12-2007, 12:26:46
- 05-12-2007, 12:30:54en güvenli session almandır.Ben kullanıcının id'sini alıyorum bunda herhangi bir güvenlik açıgının olcagını sanmıyorum. Diger sayfalardaki kontrolunu ise if ile session var mı yok şeklinde kontrol edip basıyorum.
PHP: Sessions - Manual - 05-12-2007, 12:38:38hmmm bir bilim yok ondan sordum ama yınede teşşekür ederim bu bilgi için..baklaım başka çözü gelicekmi..bende okudum bir kaç yerde id alma kararına varmıştım ama bir kaç makalede bir sürü güvelük açığı olacağını yazıyorduu..eğer bilgisi olan avrsa bizimle paylaşsın...böylelikle herkes öğrenmiş olur..
- 05-12-2007, 17:40:43session ve cookie kontrolü yap. bunlara k.adı ve şifreyi sha1 ile şifreleyerek depola. Sonra kontrol ederek bir değişkene ata. Değişken doğruysa devam ettir. Değilse hoop de. (Değişkene atamamızın sebebi her seferinde cookie ve session kontrolü yapmamak.)
Bence en güveniliri budur cookie hırsızlarına vs. karşı. - 05-12-2007, 19:04:20peki kullanıcı adı ve şifreyi şifrelersem bunların kontrolunu nasıl yapıcam ??? ...ya aslında login sayfası ve login olduktan sonra ornek omer.php ye giden bir kod lazım bana ...login olduktan sonra omer.php içinde kontrolu nasıl yapıyor bunu çözsem zaten phpyi bitirmiş olucammm... umarım yardım edicek biri çıkar...login ve loginden sonrakı başka phpye gidiş kodu....şimdiden yardımlarınızdan dolayı teşşekür ederim..soruya yardımcı olanlar +replenicektir...herzaman emeğe saygı duymak gerekir
- 05-12-2007, 19:41:51ben de fikir vermesi amacıyla kendi yöntemimi aktarayım sizlere.. bu yöntemin öncelikli amacı cross side scripting yani oturum çalma ataklarına karşı önlem almak; ikincil amacıda mesela userid = 5 ile login olmuş bir kullanıcının userid = 7 şeklinde gerçekleştirebileceği girişimleri engellemek...
öncelikle sistem login olan kullanicinin verilerini veritabanında sorgular ve kullanıcı adı ve şifre doğru ise user_id i alarak önce kullanıcının tarayıcısında user_id içeren ayrı bir cookie ve yine aynı kullanıcının veritabanındaki tablosunda mesela session_id adlı bir tablodaki veriyi yeni session_id le gunceller.
bundan sonra bir function ile önce tarayıcıda cookie varmı diye kontrol edilir daha sonrada bu cookie deki user_id ile vertabanına bağlanır ve geçerli session_id veritabanındaki session_id ile tutuyorsa
login durumu ve kullanıcı bilgilerini içeren veriler bir dizi değişkene aktarılarak kodun kullanıcı verilerini direkt bu fonksiyondan alması sağlanır.
misal
$user = login($sessid);
$user['login'];
$user['name'];
$user['puan'];
şeklinde
tarayıcıda cookie var fakat guncel session_id veritabanıyla uyuşmazsa kullanıcının yeniden şifre girmesi istenir.
burda mesela kullanıcının eşzamanlı olarak iki bilgisayardan veya tarayıcıdan, bağlanması, işlem yapması da engellenmiş olur. - 05-12-2007, 23:26:54qublicmaster,,,hocam güzel bir yöntem repını verdım zatenn...Idyide facebook gibi random bir id atarsan oda bayağı bir yararlı boylelikle sıralı ıdlerı bulmamış olurlar...gerçi kafaya koyduktan sonra sen ıstersen kılıtlı kasada çalış adam yıne bir açık bulur...bu site yaparken yönlendirme yapmakta bayağı profosyönel yapıyor sıteyı herhangı bir hatada index.php ye atıyor mesela..konuya dönersek başka yöntem tavsiye eden olursa cevaplarını bekleriz...iyi paylaşımlar