lostyazilim
tr.link

cookie oturum kontrolü (Biraz acil :) )

10 Mesajlar 1.307 Okunma
acebozum
tr.link

alpsonmez alpsonmez WM Aracı Kullanıcı
  • Üyelik 10.02.2016
  • Yaş/Cinsiyet 37 / E
  • Meslek web yazılımcı
  • Konum Antalya
  • Ad Soyad A** S**
  • Mesajlar 21
  • Beğeniler 2 / 1
  • Ticaret 0, (%0)
Merhabalar arkadaşlar, öncellikle ilk defa bir forumda yardım alma ihtiyacı duydum bu yüzden yanlış birşey olursa kusura bakmayın. Bu forumda ve internette çok aradım istediğim şeyi bulamadım. Kod istemiyorum mantığı anlatabilirseniz sevinirim.

Şimdi biz cookie ile oturum anahtarı oluşturduk diyelim yalnız cookie bilgileri şifreli şifresiz farketmez başkasının eline geçtiğinde nasıl bir mantık kurmalıyız ki çalındığını anlayabilelim ve sistemi girişi engeleyelim. Mesela kullanıcının tarayıcısını alırız aynı tarayıcı değilse cookie değiştiğini anlarız gibi ama buda yetersiz. Yasak mı bilmiyorum ama domain ismi vereceğim mesela facebook ta çerezleri açın orda "c_user, lu, fr, s, xs"kullanıcı çerezlerini tutuyor. "lu" veya "s" çerezi değiştiğine direk sistemden kullanıcıyı düşürüyor. Bunun mantığı nedir biri bana anlatsın lütfen session demeyin lütfen :) Sağolun
 

 

wmaraci
reklam

ismail03 ismail03 WM Aracı Kullanıcı
  • Üyelik 28.11.2013
  • Yaş/Cinsiyet 30 / E
  • Meslek Ameliyathane Hemşiresi
  • Konum Afyon
  • Ad Soyad I** Ç**
  • Mesajlar 2633
  • Beğeniler 344 / 487
  • Ticaret 12, (%100)
Facebook mantığı çözmek zor ama
$_Server["HTTP_USER_AGENT"] le gelen tarayıcı bilgileri kaydedilir kontrol sayfasında cookie olarak alınan tarayıcı bilgisiyle veritabanındaki karşılaştırılır
Ayrıca tek cookie çözüm değil
 

 

alpsonmez alpsonmez WM Aracı Kullanıcı
  • Üyelik 10.02.2016
  • Yaş/Cinsiyet 37 / E
  • Meslek web yazılımcı
  • Konum Antalya
  • Ad Soyad A** S**
  • Mesajlar 21
  • Beğeniler 2 / 1
  • Ticaret 0, (%0)
Sagolasin cevap icin ama yukarda da dedigim gibi tarayici bilgisi de yetersiz, sonucta cereze ulasildiginda oda pek isime yaramiyor. Tek cozun cookie degil derken ne yapilabilir fikrin nedir bu konuyu tartisip fikir uretebilirmiyiz veya bildigin varsa soyleyebilirmisin
 

 

ismail03 ismail03 WM Aracı Kullanıcı
  • Üyelik 28.11.2013
  • Yaş/Cinsiyet 30 / E
  • Meslek Ameliyathane Hemşiresi
  • Konum Afyon
  • Ad Soyad I** Ç**
  • Mesajlar 2633
  • Beğeniler 344 / 487
  • Ticaret 12, (%100)
$session cookie beraber kullanımı cookie de üye doğrulama kodu oluşturup kontrol edilir session da tarayıcı bilgisi
 

 

wmaraci
wmaraci

Yeninesil44 Yeninesil44 Kullanıcı
  • Üyelik 28.02.2015
  • Yaş/Cinsiyet 34 / E
  • Meslek web programlama
  • Konum Malatya
  • Ad Soyad O** D**
  • Mesajlar 1033
  • Beğeniler 282 / 281
  • Ticaret 18, (%100)
cookiler zaten tarayıcı degistirince silinir
facede sildiginiz cookiler kullanıcı ile ilgili oldugu icin kullanıcı bilgisini alamıo nası sistemde kalmasını bekliosunuzki sizdede aynı şekilde olucak?
 

 

MultiAnaliz.com

alpsonmez alpsonmez WM Aracı Kullanıcı
  • Üyelik 10.02.2016
  • Yaş/Cinsiyet 37 / E
  • Meslek web yazılımcı
  • Konum Antalya
  • Ad Soyad A** S**
  • Mesajlar 21
  • Beğeniler 2 / 1
  • Ticaret 0, (%0)
Yeninesil44 kardeşim tarayıcı değiştiğinde cookielerin silindiğini biliyorum :) Sorumu iyi okumadığınızı düşünüyorum facede cookileri silmekten bahsetmedim değişmesinden bahsettim. Mozilla cookie manageri indirip, hesap çalma işleminde biraz tecrube kazanırsanız actığım konuda neyden bahsettiğimi anlayabilirsiniz. Şuan konuya biraz uzak kaldınız kusura bakmayın :)

ismail03 tarayıcı olayının internet cafede işe yaramayacağını düşünüyorum ki sorduğum soruda "Mesela kullanıcının tarayıcısını alırız aynı tarayıcı değilse cookie değiştiğini anlarız gibi ama buda yetersiz." diye not düştüm bunun çevresinde dönmeyelim :)
şimdi gelelim üye dogrulama koduna ben şöyle düşündüm :
1-) Kullanıcı başarılı şekilde giriş yapar veya kayıt olur.
2-) kullanıcı adı ve rastgele harflerle şifrelenmiş (artık burası hayal gücüne kalmış) bir oturum anahtarı yapılır.
3-) bu oturum anahtarı veritabanına kayıt edilir.
4-) ziyaretci siteye girdiğinde Cookie dan alınan kullanıcı adı ve oturum anahtarı veritabanından kontrol edilir. Kullanıcı varsa bu oturum anahtarı silip yenisi oluşturulur ve veritabanına kayıt edilir.
Böyle düşündüm yalnız buda tırt cünki bu çerezler çalındığında elde patlıyor. Yada ben bir yerde yanlış yapıyorum veya bilmediğim birşey var

Başka birşey gözden kaçan ama ne bilen bir arkadaş yok muuuu? :)
 

 

brown brown WM Aracı Kullanıcı
  • Üyelik 28.10.2013
  • Yaş/Cinsiyet 25 / E
  • Meslek öğrenci
  • Konum İstanbul Avrupa
  • Ad Soyad H** E**
  • Mesajlar 1748
  • Beğeniler 385 / 385
  • Ticaret 27, (%96)
https://wmaraci.com/forum/php/php-bilgisine-guvenen-birinin-yardimina-ihtiyacim-var-353161.html

Burada son mesajda kendi sistemimi anlattım. Sizin söylediğinize benziyor. Çalındığında girişin engellenmesi için giriş yapılan IP adresi ile karşılaştırabilirsiniz. Yani kullanıcının giriş yaptığı IP adresini de şifreleyip veritabanına kaydederseniz token eşleşse bile IP adresini kontrol ettiğinizde eşleşmeyeceği için giriş yapamayacaktır.

Facebook'ta oturumun düşmesinin sebebi ise bilgilerin veritabanıyla eşleşmemesi diye düşünüyorum. Orada çok büyülü bir durum yok.
 

 

alpsonmez alpsonmez WM Aracı Kullanıcı
  • Üyelik 10.02.2016
  • Yaş/Cinsiyet 37 / E
  • Meslek web yazılımcı
  • Konum Antalya
  • Ad Soyad A** S**
  • Mesajlar 21
  • Beğeniler 2 / 1
  • Ticaret 0, (%0)
Sagolasın brown valla çok teşşekürler ama bir sıkıntımız var senin kodlarda da bende yukarda anlattığım sistemde aynı sıkıntıyı yaşamıştım. Konuyu açmadan önce senin bu kodları da denemiştim ama token çerezin çalınırda sayfada 3 defa yenileme yapılırsa diğer kullanıcıların bilgilerine erişiliyor bu yüzden bu sistemi yaparken biz bir yeri atlıyoruz. Ayrıca ip adresi, tarayıcı filan onlar basit bulunabilcek şeyler cookie korumaı sağlam olmalı

Facebookta evet büyülü bir durum yok ama adamlar yapmışlar :)

1-) Ek Olarak: Brown bak senin kodlarda $_SESSION["acces"] zaten açık yani bende aynı siteye kayıt olursam açmış olurum. bu kısmı geçtim.
2-) Giriş yaptığımdan dolayı token çerezim oluştuğundan "if(isset($_COOKIE["token"])) {" bu kısmıda geçtim.
3-) Başka birinini token çerezinide yazdığımda üye kayıtlıysa burda sistem malesef patlıyor
$control_token = $connect->query("SELECT * FROM members WHERE session_token='$token'");

Ek Olarak: Bide ek olarak brown session acces in tarayici acilip kapandiginda nasil calismasini bekliyorsun o kismi anlayamadim
 

 

bsakizli bsakizli Bilgisayar Programcısı Kullanıcı
  • Üyelik 17.01.2012
  • Yaş/Cinsiyet 29 / E
  • Meslek Yönetim Bilişim Sistemleri Uzm
  • Konum
  • Ad Soyad B** S**
  • Mesajlar 925
  • Beğeniler 102 / 79
  • Ticaret 2, (%100)
en basit örneği kardeşim gelen ip isteklerini ve kullanıcı adını al tarihde al eğer yanı saat ve aynı günde farklı bir ip adresi varsa tablo'da bas engeli :)
 

 

alpsonmez alpsonmez WM Aracı Kullanıcı
  • Üyelik 10.02.2016
  • Yaş/Cinsiyet 37 / E
  • Meslek web yazılımcı
  • Konum Antalya
  • Ad Soyad A** S**
  • Mesajlar 21
  • Beğeniler 2 / 1
  • Ticaret 0, (%0)
sinova aynı anda telefondan da girerse :)
 

 

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al