• 01-03-2020, 21:14:14
    #1
    Arkadaşlar merhaba, bir PHP web sitesinde, müdahale edilemez bir timer kodlamak istiyorum.
    Bu timer her üye için birbirinden farklı olacak.
    Üye sitede aktifken yada değilken önemli değil, geri sayacak, örneğin 5 dakika, ve geri sayım bittikten sonra kullanıcıya bir şey tanımlayacak.
    Bunu nasıl handle ederim bilemedim.
    Localde veri tutarsam sistem saatini ileri alarak vs. süistimal edilmesini istemiyorum, diğer türlü veritabanını şişirecek yanlış bir planlama yapmak da istemiyorum, cron desen her üye için ayrı cron mu tanımlayacağız saçma olur, sonuçta her üyeninki benzersiz olacak, sende 2 sayabilir bende 3 vs.
    Teşekkür ederim.
  • 01-03-2020, 21:32:53
    #2
    bknz: $_SESSION
    https://www.php.net/manual/tr/reserv...es.session.php
    time() fonksiyonu ile halledebilirsiniz.




    Konuyu açtığınız kategoriye dikkat etmedim. Ama eğer Spoof denilen ​​​​kolay bir şekilde müdahale edilememesi için Server Side olması şart. SESSION server ile kullanıcı arasında benzersiz kimlik atar ve tek kullanıcı bazlıdır.
    Cookie, LocalStorage kolay bir şekilde kandırılabilir.
  • 01-03-2020, 21:42:27
    #3
    TDBilisim adlı üyeden alıntı: mesajı görüntüle
    bknz: $_SESSION
    https://www.php.net/manual/tr/reserv...es.session.php
    time() fonksiyonu ile halledebilirsiniz.




    Konuyu açtığınız kategoriye dikkat etmedim. Ama eğer Spoof denilen kolay bir şekilde müdahale edilememesi için Server Side olması şart. SESSION server ile kullanıcı arasında benzersiz kimlik atar ve tek kullanıcı bazlıdır.
    Cookie, LocalStorage kolay bir şekilde kandırılabilir.
    Hocam öncelikle teşekkür ederim,
    Biraz daha açabilirmisiniz acaba? time() ile zamanı session'a atayıp, her refresh'den sonra falan mı kontrol ettirmeliyim?
    Şöyle düşünün tek bir sayfa olsun, geri sayım başlasın 5 dakikalık. Arka planda geri saysın, kullanıcı bilgisayarı kapatsa da geri saysın. Kullanıcı geri geldiğinde eğer süre dolmuşsa ödülünü alsın, eğer sekmeyi hiç kapatmadıysa 00:00 olunca yine sayfa refreshlenebilir.

    Session'lar kolaylıkla müdahele edilebiliyor mu demek istiyorsunuz ? o kısmı tam anlayamadım, bildiğim kadarıyla php'de çoğu üyelik sistemi sessionlar ile yapılıyor, o halde bunlar rahatlıkla patlatılabilir mi?
  • 01-03-2020, 21:48:32
    #4
    caylakgirisimci adlı üyeden alıntı: mesajı görüntüle
    Hocam öncelikle teşekkür ederim,
    Biraz daha açabilirmisiniz acaba? time() ile zamanı session'a atayıp, her refresh'den sonra falan mı kontrol ettirmeliyim?
    Şöyle düşünün tek bir sayfa olsun, geri sayım başlasın 5 dakikalık. Arka planda geri saysın, kullanıcı bilgisayarı kapatsa da geri saysın. Kullanıcı geri geldiğinde eğer süre dolmuşsa ödülünü alsın, eğer sekmeyi hiç kapatmadıysa 00:00 olunca yine sayfa refreshlenebilir.

    Session'lar kolaylıkla müdahele edilebiliyor mu demek istiyorsunuz ? o kısmı tam anlayamadım, bildiğim kadarıyla php'de çoğu üyelik sistemi sessionlar ile yapılıyor, o halde bunlar rahatlıkla patlatılabilir mi?
    Hayır hocam SESSION en güvenli yöntem time() ile SESSION'un ne zaman önce başladığını kontrol edebilirsiniz demek istedim. Bilgisayarı kapatsa da geri sayma olayı biraz zor. İngilizce kaynakları araştırın. https://stackoverflow.com/questions/...es-his-browser
    Session genelde tarayıcıyı kapattığın an server kapatır o işlemi. Ama bazı ayarları var yukarıda inceleyebilirsiniz İngilizce gerektiriyor biraz ama.
    Cookie gerektirebilir o kapatma işlemi için maalesef. Database ile de işlem yapılabilir fakat fazla yük olur.



    Ek: Bir diğer yöntem Cookieyi base64 ile şifreleyebilirsiniz. Spoof etmeye kalksa da 5 dakikalık kredisinden mahrum olur vs. Gibi işlem yapılabilir.
  • 01-03-2020, 21:53:57
    #5
    TDBilisim adlı üyeden alıntı: mesajı görüntüle
    Hayır hocam SESSION en güvenli yöntem time() ile SESSION'un ne zaman önce başladığını kontrol edebilirsiniz demek istedim. Bilgisayarı kapatsa da geri sayma olayı biraz zor. İngilizce kaynakları araştırın. https://stackoverflow.com/questions/...es-his-browser
    Session genelde tarayıcıyı kapattığın an server kapatır o işlemi. Ama bazı ayarları var yukarıda inceleyebilirsiniz İngilizce gerektiriyor biraz ama.
    Cookie gerektirebilir o kapatma işlemi için maalesef. Database ile de işlem yapılabilir fakat fazla yük olur.




    Ek: Bir diğer yöntem Cookieyi base64 ile şifreleyebilirsiniz. Spoof etmeye kalksa da 5 dakikalık kredisinden mahrum olur vs. Gibi işlem yapılabilir.
    Teşekkür ederim hocam, cookie kullanmayı bilmiyorum şifreleme falan yapamam üzerine muhtemelen.
    Session'la yapmayı deneyeceğim o halde, bilgisayarı tarayıcıyı da kapatmasınlar madem.
  • 01-03-2020, 21:57:16
    #6
    caylakgirisimci adlı üyeden alıntı: mesajı görüntüle
    Teşekkür ederim hocam, cookie kullanmayı bilmiyorum şifreleme falan yapamam üzerine muhtemelen.
    Session'la yapmayı deneyeceğim o halde, bilgisayarı tarayıcıyı da kapatmasınlar madem.
    Zamanım olsa yazabilirdim size. Mobildeyim şu an. Cookie oluşturma ve base64 şifreleme içinde ayrı kod bilgisi gerektirmiyor. PHP nin kendi içinde var o özellik.