lostyazilim
tr.link

Nasıl bir mantık kullanmalıyım

10 Mesajlar 1.134 Okunma
lstbozum
tr.link

VisualStudio VisualStudio WM Aracı Kullanıcı
  • Üyelik 21.01.2015
  • Yaş/Cinsiyet 34 / E
  • Meslek Web Master
  • Konum Adıyaman
  • Ad Soyad A** K**
  • Mesajlar 419
  • Beğeniler 0 / 62
  • Ticaret 8, (%88)
Merhabalar şöyle düşünün.

[buton] butona 5 kere basınca 10 dakikadan geriya sayacak. 10 dakika dolmadan tekrar butona basılmayacak. sayfayı yenilesek bile saymaya devam edecek.

geri sayımı javascript ile yapabilirim fakat mantığı kuramadım 10 kişi aynı anda kullansa nasıl ayırt edicem vs.
Ne yapacağımı söylerseniz sevinirim.
 

 

wmaraci
reklam

webtegez webtegez İstersen Milyoner Olursun Kullanıcı
  • Üyelik 04.11.2013
  • Yaş/Cinsiyet 29 / E
  • Meslek Elektronik Teknikeri - PHP'ci
  • Konum İstanbul Anadolu
  • Ad Soyad B** P**
  • Mesajlar 329
  • Beğeniler 100 / 99
  • Ticaret 0, (%0)
merhabalar. butona 5 defa basıldıktan sonra geri sayımın başladığını farz ediyorum.
geri sayımı başlattığın fonksiyonun altına bir cookie oluştur. o cookienin zamanını 10 dakika olarak ayarla.

sonra her sayfa yenilenmede kontrol gerçekleştir. cookie varmı yokmu diye. eğer cookie varsa butonu addclass ile disabled olarak ayarlayabilirsin.

sadece mantık olarak aklıma bu geldi. ben olsaydım böyle yapardım heralde :)
 

 

Batuhan P. | SoftVore.com

wdrleo wdrleo Back-end Developer Kullanıcı
  • Üyelik 12.04.2015
  • Yaş/Cinsiyet 29 / E
  • Meslek Full-stack Developer
  • Konum Konya
  • Ad Soyad H** A**
  • Mesajlar 226
  • Beğeniler 39 / 81
  • Ticaret 14, (%100)

webtegez adlı üyeden alıntı

merhabalar. butona 5 defa basıldıktan sonra geri sayımın başladığını farz ediyorum.
geri sayımı başlattığın fonksiyonun altına bir cookie oluştur. o cookienin zamanını 10 dakika olarak ayarla.

sonra her sayfa yenilenmede kontrol gerçekleştir. cookie varmı yokmu diye. eğer cookie varsa butonu addclass ile disabled olarak ayarlayabilirsin.

sadece mantık olarak aklıma bu geldi. ben olsaydım böyle yapardım heralde :)


Cookie rahatlıkla silinip, buton tekrar aktif hale süre dolmadan getirilebilir :) bu mantıkta yapılacaksa session kullanmak daha mantıklıdır. Ancak bu da tarayıcının kapanıp açılmasıyla session id nin değişmesiyle yani butonun tekrar aktif hale getirilebileceği anlamına gelir. O yüzden tek ve en temiz yol ip'nin alınarak veri tabanına yazılması, kontrolleri ajax ile gerçekleştirirsiniz. Eğer ajax isteğinden true dönerse javascript i devreye sokup butonu etkisiz hale getirirsiniz.
Adam yeni girdiyse de kez basana kadar bir sayaç kurarsınız javascript ile 5 kez bastıktan sonra ise ajax isteği yapıp veritabanına ip sini kaydedersiniz ve kayıt zamanını yazarsınız bundan sonra da javascript ile sayacı başlatır, butonu deaktif edersiniz.
Sayfanın yenilenmesi durumu için sayfa yüklendiği anda bir ajax isteği yaparak ip yi kontrol ettirir, ip kayıtlıysa ve kayıt zamanından bu yana 10 dk geçmediyse henüz bunu belirten bir mesaj ve kalan zamanı döndürürsünüz. kalan zaman ile yeniden javascript aracılığı ile sayacı devam ettirebilirsiniz. Kayıtlıysa ve 10 dakikayı geçtiyse kayıt zamanı kaydı siler, buton kilidini açarsınız...
webtegez

kişi bu mesajı beğendi.

webtegez webtegez İstersen Milyoner Olursun Kullanıcı
  • Üyelik 04.11.2013
  • Yaş/Cinsiyet 29 / E
  • Meslek Elektronik Teknikeri - PHP'ci
  • Konum İstanbul Anadolu
  • Ad Soyad B** P**
  • Mesajlar 329
  • Beğeniler 100 / 99
  • Ticaret 0, (%0)

wdrleo adlı üyeden alıntı

Cookie rahatlıkla silinip, buton tekrar aktif hale süre dolmadan getirilebilir :) bu mantıkta yapılacaksa session kullanmak daha mantıklıdır. Ancak bu da tarayıcının kapanıp açılmasıyla session id nin değişmesiyle yani butonun tekrar aktif hale getirilebileceği anlamına gelir. O yüzden tek ve en temiz yol ip'nin alınarak veri tabanına yazılması, kontrolleri ajax ile gerçekleştirirsiniz. Eğer ajax isteğinden true dönerse javascript i devreye sokup butonu etkisiz hale getirirsiniz.
Adam yeni girdiyse de kez basana kadar bir sayaç kurarsınız javascript ile 5 kez bastıktan sonra ise ajax isteği yapıp veritabanına ip sini kaydedersiniz ve kayıt zamanını yazarsınız bundan sonra da javascript ile sayacı başlatır, butonu deaktif edersiniz.
Sayfanın yenilenmesi durumu için sayfa yüklendiği anda bir ajax isteği yaparak ip yi kontrol ettirir, ip kayıtlıysa ve kayıt zamanından bu yana 10 dk geçmediyse henüz bunu belirten bir mesaj ve kalan zamanı döndürürsünüz. kalan zaman ile yeniden javascript aracılığı ile sayacı devam ettirebilirsiniz. Kayıtlıysa ve 10 dakikayı geçtiyse kayıt zamanı kaydı siler, buton kilidini açarsınız...


aynen haklısınız. bu dediğiniz daha mantıklı :)
 

 

Batuhan P. | SoftVore.com
wmaraci
wmaraci

pg13 pg13 Xcode. Kullanıcı
  • Üyelik 01.10.2013
  • Yaş/Cinsiyet 41 / E
  • Meslek BilişimTeknolojileri Mühendisi
  • Konum İstanbul Anadolu
  • Ad Soyad O** Ö**
  • Mesajlar 321
  • Beğeniler 72 / 101
  • Ticaret 11, (%100)
cookie yada session değerlerini kullanırsın. ancak dediğin gibi cookie ve session'lardan kurtulmak kolay. bunun önüne geçmek için üyelik sistemi yapman ve tıklamaları veritabanına kaydettirmen şart gibi görünüyor.
 

 

wdrleo wdrleo Back-end Developer Kullanıcı
  • Üyelik 12.04.2015
  • Yaş/Cinsiyet 29 / E
  • Meslek Full-stack Developer
  • Konum Konya
  • Ad Soyad H** A**
  • Mesajlar 226
  • Beğeniler 39 / 81
  • Ticaret 14, (%100)

pg13 adlı üyeden alıntı

cookie yada session değerlerini kullanırsın. ancak dediğin gibi cookie ve session'lardan kurtulmak kolay. bunun önüne geçmek için üyelik sistemi yapman ve tıklamaları veritabanına kaydettirmen şart gibi görünüyor.


Üyelik sistemine gerek yok bence hocam :) IP adresinin tutulması yeterlidir. Öbür türlü zaten üyelik sistemi de bu işi tam çözmüyor. Kişi birden fazla kullanıcı adı ile bu olayı suistimal edebilir hale gelir. Tek çıkar yol IP'dir :)
 

 

pg13 pg13 Xcode. Kullanıcı
  • Üyelik 01.10.2013
  • Yaş/Cinsiyet 41 / E
  • Meslek BilişimTeknolojileri Mühendisi
  • Konum İstanbul Anadolu
  • Ad Soyad O** Ö**
  • Mesajlar 321
  • Beğeniler 72 / 101
  • Ticaret 11, (%100)

wdrleo adlı üyeden alıntı

Üyelik sistemine gerek yok bence hocam :) IP adresinin tutulması yeterlidir. Öbür türlü zaten üyelik sistemi de bu işi tam çözmüyor. Kişi birden fazla kullanıcı adı ile bu olayı suistimal edebilir hale gelir. Tek çıkar yol IP'dir :)


ip değişmez mi yani? proxy ile ip değiştirmek daha kolay..
 

 

hzlzdn hzlzdn WM Aracı Kullanıcı
  • Üyelik 18.07.2015
  • Yaş/Cinsiyet 34 / E
  • Meslek Serbest
  • Konum İzmir
  • Ad Soyad H** Ö**
  • Mesajlar 13
  • Beğeniler 0 / 2
  • Ticaret 0, (%0)
Üyelik yap, üyeliğin aktif olması içinse telefon onayı iste.
İstersen ekstra olarak ip ve cookie kontrolüde eklersin.
 

 

wdrleo wdrleo Back-end Developer Kullanıcı
  • Üyelik 12.04.2015
  • Yaş/Cinsiyet 29 / E
  • Meslek Full-stack Developer
  • Konum Konya
  • Ad Soyad H** A**
  • Mesajlar 226
  • Beğeniler 39 / 81
  • Ticaret 14, (%100)

pg13 adlı üyeden alıntı

ip değişmez mi yani? proxy ile ip değiştirmek daha kolay..


PHP ile Ziyaretçi Gerçek IP adresi Proxy Kullanılsa Dahi Tespit Etmek

Ip adresini değiştirmek diğer verileri değiştirmekten daha zordur. Ip adresi elbetteki değişir zaten yazılımla ip adresini değiştirebilecek kişi buyursun kullansın o sistemi :)

Ayrıca hzlzdn arkadaşın dediği gibi cookie, session kontrollerini eklersiniz, artı olarak html data özelliğini bile ekleyebilirsiniz bu güvenlik sistemine ve hepsini tek tek kontrol edersiniz. Ama bence ip bu sistemin olmazsa olmazıdır.
 

 

3579 3579 WM Aracı Anonim Üyelik
  • Üyelik 30.01.2012
  • Yaş/Cinsiyet - /
  • Meslek
  • Konum
  • Ad Soyad ** **
  • Mesajlar 2434
  • Beğeniler 686 / 1151
  • Ticaret 1, (%100)

wdrleo adlı üyeden alıntı

PHP ile Ziyaretçi Gerçek IP adresi Proxy Kullanılsa Dahi Tespit Etmek

Ip adresini değiştirmek diğer verileri değiştirmekten daha zordur. Ip adresi elbetteki değişir zaten yazılımla ip adresini değiştirebilecek kişi buyursun kullansın o sistemi :)

Ayrıca hzlzdn arkadaşın dediği gibi cookie, session kontrollerini eklersiniz, artı olarak html data özelliğini bile ekleyebilirsiniz bu güvenlik sistemine ve hepsini tek tek kontrol edersiniz. Ama bence ip bu sistemin olmazsa olmazıdır.


VPN ile çok rahat aşılabilir ip engeli. :rolleyes:
 

 

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