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.
Websitesinde Müdahale Edilemez Timer Nasıl Yapabilirim?
5
●204
- 01-03-2020, 21:14:14
- 01-03-2020, 21:32:53bknz: $_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:27Hocam öncelikle teşekkür ederim,TDBilisim adlı üyeden alıntı: mesajı görüntüle
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:32Hayı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-browsercaylakgirisimci adlı üyeden alıntı: mesajı görüntüle
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:57Teşekkür ederim hocam, cookie kullanmayı bilmiyorum şifreleme falan yapamam üzerine muhtemelen.TDBilisim adlı üyeden alıntı: mesajı görüntüle
Session'la yapmayı deneyeceğim o halde, bilgisayarı tarayıcıyı da kapatmasınlar madem. - 01-03-2020, 21:57:16Zamanı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.caylakgirisimci adlı üyeden alıntı: mesajı görüntüle