Ben IP tarafından kullanıcıların yasağı edebilmek istiyorum. Benim fikrim (IP sütun bir dizin olacak) bir BannedIPs tablodaki satırlar olarak IP adlı bir listesini tutmaktır.
Kullanıcıların kontrol etmek için, her oturum için '[IP'] tablo karşı IP bulunuyor, ben $ _SESSION adlı bir oturum değişkeni tutacak '. Herhangi bir istek üzerine, $ _SESSION ['IP'] $ _SERVER ['REMOTE_ADDR'] uymuyorsa, ben $ _SESSION ['IP'] güncelleme ve IP yasaklı olup olmadığını görmek için BannedIPs tabloyu kontrol edecektir. (Bir bayrak da kullanıcı yasaklandı olmadığını belirterek, bir oturum değişkeni olarak kaydedilecektir)
İşte ben merak ediyorum şeyler şunlardır:
- Hız ve güvenlik açısından iyi bir strateji gibi o ses (birisi, her nasılsa IP değişen başka IP yasağı etrafında almak mümkün olacaktır, edit: or using a proxy) mı?
- Bir satır olup olmadığını görmek için denetler bir mysql sorgu yapısı için en iyi yolu nedir? Yani, belli bir IP ile bir satır (yasaklı eğer kontrol etmek için) olup olmadığını görmek için db sorgulamak için en iyi yolu nedir?
- Ben tamsayılar veya dizeleri olarak IP bulunuyor kaydetmeniz gerekir?
Unutmayın ...
- Ben 1,000-10,000 yasaklı IP adlı veritabanında saklanan arasında olacak tahmin.
- $ _SERVER ['REMOTE_ADDR'] Geçerli isteğin gönderildiği IP.