• 18-02-2020, 21:57:15
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhabalar,

    Bir mobil uygulama projemiz bulunmakta. Her kullanıcıya bir süre tanımladık. Bu kullanıcıların süresini sonlandırmak veya kalan sürelerini öğrenmek için sunucuya her seferinde sorgu gönderiyoruz. Sunucuyu yormayacak şekilde nasıl bir yol izleyebiliriz ? İstemciden bunu yaparsak güvenlik riski oluşturuyor. Tarihle oynayanlar olursa süre hiç bitmeyecek bir hal alacak. PHP yazılım dili kullanılıyor api tarafında.
  • 18-02-2020, 22:01:47
    #2
    Kullanıcı oturumu başlattığında şuanki zamanı ve bitiş zamanınıda hesapla ve kaydet. verilen cevaplar iki süre içerisindeyse vevabı kabul et.
  • 18-02-2020, 22:08:36
    #3
    MCERAN adlı üyeden alıntı: mesajı görüntüle
    Kullanıcı oturumu başlattığında şuanki zamanı ve bitiş zamanınıda hesapla ve kaydet. verilen cevaplar iki süre içerisindeyse vevabı kabul et.
    Peki mobil tarafında bunu döndürürken nasıl yol izleyeceğiz ? Veritabanı tarafında bunu yaptık diyelim. Kullanıcı uygulamayı kapatıp açtığında bu sonuç çalışacak diğer türlü uygulamada iken nasıl yapacağız ?
  • 19-02-2020, 00:01:42
    #4
    uygulamanızın tam olarak ne yaptığını ve ne yapmak istediğinizi bilemediğimden net cevap veremiyorum. net olarak yazın ki net cevap verelim.
  • 19-02-2020, 00:12:03
    #5
    MCERAN adlı üyeden alıntı: mesajı görüntüle
    uygulamanızın tam olarak ne yaptığını ve ne yapmak istediğinizi bilemediğimden net cevap veremiyorum. net olarak yazın ki net cevap verelim.
    VPN uygulaması. Reklam izledikçe kullanıcı dakika (süre) kazanıyor. Bu kazandığı süreler ile servere girip vpn'ye bağlanıyor. Bu süreleri anlık nasıl kontrol ettirebilirim ? Telefonun saatini kullansam kullanıcı saati değiştirip süreyle rahat şekilde dans edecek...
  • 19-02-2020, 00:22:35
    #6
    Anladigim kadarini dogru varsayip cevapliyorum.

    App acilista serverdan kullanicinin. kalan saniye bilgisini alacak.

    App acik oldugu (arka plan da da ) her 1 dakika da bir serveri kalan saniyeler bazinda bilgilendirecek (bak 1 dakikadir aktifim gibi ). Server ise bu bilgiyi isleyip app e yeni kalan saniyeyi verecek. Appin icinde ki timeri her 1 dakikada bir servera gidecek sekilde ayarlarsan bence sorun cözülür.
    Kullanici reklam mi izledi o zaman servera bu sefer -60 degil de +XX saniye yazarsin.
  • 19-02-2020, 00:33:55
    #7
    * Kullanıcı ÇIKIŞ yapmadığı sürece aktif sayacaksınız. (Çıkış yapmadan uygulamayı kapatan aktif sayılacağı için zararına kendi katlanacak.)
    * Giriş ve çıkış sürelerini serverda kaydedeceksiniz. Kontrol ve hesaplamaları serverda yapacaksınız. Buna göre bir sonraki girişe izin vereceksiniz veya vermeyeceksiniz. Böylece api ile rutin bağlantıya da gerek kalmayacak.
    * Giriş yapıp çıkış yapmamayı düşünenler için: server içinde girişe göre zamanı kontrol edip, zamanı dolan kullanıcnın vpn oturumu silinecek..
  • 19-02-2020, 00:34:33
    #8
    kazandığı süreyi anlık değil her reklam sonunda verebilir, sunucu yoğunluğunu azaltırsın.
    vpn i her başlattığında ise db ye son başlatma tarihini kaydedin. ve kontrol edin.
    tarih son girişten eskiyse engelleyin.
    vs. tam olarak yapılanı anladığımı soyleyemem ama fikir verebilir.
  • 19-02-2020, 13:19:26
    #9
    Saat ile oynamasi sizi ilgilendiren bir sey olmamasi lazim cünkü zaten uygulamanin kullanilabilmesi icin internet sart. Kendi serverinizi da bu isin icine karistirmaniza gerek yok

    burdan zaman bilgisini cekin https://time.is/ (utc zaman dilimi kullanin => https://time.is/UTC). Belki bu sitede daha kolay olur http://worldclockapi.com/api/json/utc/now
    Bu bilgiyi jwt ile bir yere kaydedin.
    Daha sonra kullanici internete baglandiginda atiyorum saat basi, jwt'yi decode edip (istersen imzalayar ve imzayi da kontrol ettirebilirsin), oradaki tarih - saat bilgisini alip tekrar üstte verdigim siteden bilgileri cekip karsilastirin. Eger süre asmissa kapatirsiniz.