folder Tahribat.com Forumları
linefolder Asp - Php - Cgi - Perl
linefolder [SORU]Php Üye Girişi İlgili



[SORU]Php Üye Girişi İlgili

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    WildWamqire
    WildWamqire's avatar
    Kayıt Tarihi: 06/Mart/2011
    Erkek

    Selamlar

    Çalıştığım hosting firmasının sunucusunda session ile ilgili çok sorun yaşadım. Örnek üye girişi yaparken  bazen session değerini oluşturmuyordu.

    Neyseki şöyle bir alternatif bir yol izledim.

    Dbye oturumlar diye bir tablo açtım içinde oturum_sahip,oturum_deger vs ip v tarih bilgisini tutan kolonlar açtım.

    İzlediğim yol şuydu kullanıcı ilk siteyi ziyaret ettiğinde  kontrol diye bir cooike  oluşturdum. Bu cooike değeri ister üye olsun olmasın eğer yoksa  oluşturuyordu. 

    Bunun amacı tarayıcının cooike desteğini anlamaktı eğer Cooike Oluşturulmadıysa üye girişi yapacagı zaman post ettikten sonra girişi yaptımayıp  tarayıcının cooike desteğini olmadıgını kontrol ettiriyorum.

    Eğer cooike varsa dbden uye bilgileri sorgulatıp doğru bilgiler verildiğinde benzersiz bir değer oluşturup bu değeri  oturumlar tablosundaki oturum değer kısmına atayıp oturumu açtırıyordum.

    Şöyleki oturumlar tablosunda bir üyeyew sahip tek satır olması için önceden giriş yapmışsa değeri ve giriş tarihini güncelleyip  devam ediyordu.

    Şimdi artıları ne oldu

    1- Sessionlardan kurtuldum ve tmp dizinin şişmesini engelledim (Özellikle share hosting sunucularında sıkıntı yaratıyor)

    2- Dbye kaydettiğimden hangi oturum değeri ve hangi iple ve ne zaman kim giriş yapmış adminden kontrol edebiliyorum.

    3- Cooike ile daha satil ve daha pratik işlemin kontrolü elimde oluyor.

    eksileri 

    - Giriş yapmışmı yapmamısmı olayını  dbden sürekli sorgulumak zorunda kalıyorum. (Simdiye kadar pek bir performans sorunun görmedim)

    - Aynı anda multi oturum açılamıyor. 

     

     

    Güvenlik 

    - İp ve cooikedeki değer dbdeki bilgilerle eşitlenmezse oturumu kapatıyor.
    cooike bilgileri çalınsa bile ip eşit olamayacağı için kolay kolay bilgiler bilinmeden giriş yapamazlar.

    Örnek giriş  kontrol dosyam

    $cerez = f($_COOKIE["oturumcerezx"]); //	
    /*---------------------------Üye Giriş Kontrolü------------------------------*/
    
    $oturum = $db->get_row("SELECT 
    oturumlar.oturum_sahip,
    oturumlar.oturum_deger,
    uyeler.uye_ad,
    uyeler.uye_soyad
    FROM oturumlar INNER JOIN uyeler ON uyeler.uye_id = oturumlar.oturum_sahip WHERE oturum_ip='$ip' AND oturum_deger='$cerez'");
    	if(empty($cerez) || empty($oturum->oturum_deger)){ // çerez varmı
    			$uyeid = 0;
    			$uyead = '';
    		}elseif(!$oturum){  // oturum gelmişmi
    			$uyeid = 0;
    			$uyead = '';
    		}else{
    			$uyeid = (int)$oturum->oturum_sahip;
    			$uyead = strto('ucwords', ss($oturum->uye_ad)).' '.strto('upper', ss($oturum->uye_soyad));	
    		}
    
    /*---------------------------Üye Giriş Kontrolü SONNNN------------------------------*/
    



     

    Misal bir üyenin giriş yapıp yapmadıgı üye üye idye göre yaptırıyorum.

    Bunları yazmamın sebebi 2-3 gündür doğru bir yolmu izliyorum diye düşünmem ve size danşmak istedim.
    Ters olan bir şeyler varmı veya bunun yerine sunucu değiştirip session ilemi yapmam mantıklıdır ? 


    Abure cubure subure dubure re re re tey tey tey
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    biri
    biri's avatar
    Kayıt Tarihi: 03/Ocak/2009
    Erkek

    Veritabanini yormak bana göre mantıksız. Yarın siten cok buyudugunde bunun sıkıntılarını yaşarsın. Ayrica olasi ip değişiminde kullanıcı düşecek. Bana göre stabil çalışan bi sunucuya geçmen mantıklı olacaktır. 


    ¯\(ツ)/¯ ฏ๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    coder2
    coder2's avatar
    Kayıt Tarihi: 15/Mart/2007
    Erkek

    Hocam valla kulağını tutmak için ters elini baya gezdirmek gibi bir durum olmuş.  

    - db den sürekli sorgu yaptırmak kodların ne kadar temiz olsa da giriş çıkış fazla olduğu zaman sorun çıkaracaktir (session desteğini bile tam veremeyen bir hosting firması nda buna hiç sasirmam )

    - Eger giriş denemelerinde captcha vs güvenlik önlemlerin yoksa muhtemel saldırılara açık olacaktır 

    - cookie bilgilerini neye göre olusturuyorsun onu anlamadım ,  ve cookie bilgisi üye girişi için bir parametre mi ?

    Son olarak session destekleyen bir hosting e geçerdim ben olsam 


    Önceleri Kızlar Utanınca Kızarırdı Şimdilerde Kızarınca Utanıyorlar..
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    NoktaliVirgul
    NoktaliVirgul's avatar
    Kayıt Tarihi: 02/Temmuz/2007
    Erkek

    Session'lar neden çalışmıyor peki? Bunun sebebini bulsaydın işin daha kolay olurdu.


    If my calculations are correct, when this baby hits eighty-eight miles per hour... you"re gonna see some serious shit.
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    WildWamqire
    WildWamqire's avatar
    Kayıt Tarihi: 06/Mart/2011
    Erkek

    @Tolgasen
    Teşekkür bunu uygulayacağım.

    @coder2

    hocam  şimdi oturumcerezx değeri ile dbdeki değer aynı olacak ve oturum başarılı olmuş oluyor değeride rastgele uniqieid ile oluşturuyorum
    Bencede hosting firması değiştirmek iyi olacak

    @NoktaliVirgul

    Manuel oalrak denedim hiç bir sonuc çıkmadı misal session ile çalışan captcha uygulamarında sorun cıkartıyordu. 
    Sessionu kafasına göre bir oluşturuyor bir oluşturmuyordu
    Bir sürü ticket açtım adamlar sorun yok diyorlar dene gir diyorum bu sayfada gör diye kodlarında sıkıntı var diyorlar Free hostinglerin birine attım aynı sayfayı  gönderdim firmaya bak çalışıyor  üstlerine çamur almak istemiyorlar :)


    Abure cubure subure dubure re re re tey tey tey
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    angels_demos
    angels_demos's avatar
    Kayıt Tarihi: 03/Haziran/2006
    Erkek

    :D hocam belki şimdi görmemişsindirde bu şekilde çözmen doğru olmamış. sunucun ile görüşüp session sorununu çözmen daha mantıklı

  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    shock56
    shock56's avatar
    Kayıt Tarihi: 31/Mart/2007
    Erkek

    Eğer session kullanımında sorun yaşıyorsan Web Token kullanarak oturum yönetimi yapabilirsin. 

    Burada klasik session girişi ile token in karşılaştırmasını yapmış: https://docs.google.com/drawings/d/1wtiF_UK2e4sZVorvfBUZh2UCaZq9sTCGoaDojSdwp7I/edit

    Kullanacağın kütüphane https://github.com/firebase/php-jwt

    Bu da detaylı anlatım : http://www.sitepoint.com/php-authorization-jwt-json-web-tokens/

    Burda da avantajlarından bahsetmiş: https://auth0.com/blog/2014/01/07/angularjs-authentication-with-cookies-vs-token/

    Buraya da bakabilirsin: https://coderwall.com/p/8wrxfw/goodbye-php-sessions-hello-json-web-tokens

     

  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Hannibal_King
    Hannibal_King's avatar
    Kayıt Tarihi: 22/Ağustos/2010
    Erkek

    Çizik

Toplam Hit: 914 Toplam Mesaj: 8
session üyegirişi