Cevaplar
-
Hmm bence zor bir iş...
Onun yerine moderatörlere (eminim moderatör gerekecektir) yeni isimlere hızla göz atabileceği kullanışlı bir ekran yapmak daha etkili olur sanırım.
Dediğin işi yapacak bir regular expression yazmak epey uğraştıracaktır. -
Metahpone diye bişi var okumuştum ama hiç kullanmayı denemedim:
http://www.php.net/manual/en/function.metaphone.php
Bu fonksiyona bir string gönderiyorsun ve nasıl okunduğunu temsil eden bir string döndürüyor. Bir şekilde insan isimlerini kaydedip her birinin de metaphone'unu kaydedip sonra da bu metaphone'a uymasını zorunlu tutabilirsin... -
Google API ile google'da arama yaptır, eğer sonuç geliyorsa alakalı bişeydir, yok hiç sonuç bulamıyorsa alakasız bir kelimedir...
Denemeye değer :)-
capt-otis
Zekice ama ne kadar güvenilir tartışılır...13 yıl önce yazılmış -
matthew-j-morrison
@capt-otis: aynen13 yıl önce yazılmış
-
-
Bence @unicron'un yaklaşımını kullan, reddedilen her ismi de veritabanına ysaklı olarak kaydet. Süre geçtikçe moderatörün işi kolaylaşacaktır...
-
unicron
+1
mantıklı13 yıl önce yazılmış
-
-
Sesli/sessizleri limitlemek işini görür mü? Şöyle bir regexp önerebilirim.
if(preg_match('/[bcdfghjklmnpqrtsvwxyz]{4}|[aeiou]{4}|([a-z])1{2}/i',$name)){ // yasakla }
-
Kullanıcı adı ile ilgili işleri "büyüklere" bırakmak da bir çözüm olabilir :)
Mesela facebook, twitter, openId vs.?
%100 çözüm olur diyemem ama 3kağıtçıların sahte hesap açma işini zorlaştırır en azından bir nebze... -
Ben de matthew-j-morrison'a katılıyorum. Daha mantıklı bir çözüm olacağını da düşünmüyorum (insan gücü kullanmaktan yana olmadığım için), dünyanın en büyük veritabanlarının birinden yararlanacaksın en iyisi. (:
Düzenli ifade ile olacak iş değil.
Moderatörler en sağlıklısı olur tabii ama dediğim gibi insan gücü. -
Bkz: http://www.php.net/manual/en/ref.pspell.php#78609 psPell Fonksiyonu
Php'de ki bu fonksiyonu kullanarak bir kelimenin sözlükte yani belirtilen dilin sözlüğünde olup olmadığını görebiliyorsunuz.
Bundan sonra biraz algoritmaya bakıyor. Girilen nicki belli sayılarda parçalarsak mesela bir nickin en az 3 karakter olacağını düşünürsek. 3 karakterden bir döngü başlatarak önce ilk 3 karakterin anlamı var mı pspell ile kontrol ederiz yoksa 4 karaktere bakarız yoksa 5 karaktere ve nickin en uzununu 8 karakter kabul edersek hiçbir anlam bulunamamışsa ilk 5 karakterinde bu sefer kaldığı yerden son 5 karakterini kontrol ederiz yine bir anlamlı bir kelime yoksa ve fonksiyonumuz false döndürmüşse üyeye filtreye takıldığını söyler daha düzgün nickler önerir mesela doğum yerine göre, mailine göre daha düzgün kullanıcı adları önerisi sunarız ve hatayı belirtiriz.
Ayrıca buna rağmen sisteme bu tarz nicklerle üye olan kişilerin hesaplarının kapatılacağı uyarısını forma koyarsanız kimsenin buna rağmen saçma bir nickle girip oyuna başlayacağını sanmıyorum.
Unutmadan bu php fonksiyonunu çalıştırabilmek için standart hostinginiz değil, sanal veya dedicated sunucunuz olmak zorunda çünkü; eklenti gerektiriyor. Eklentiyi nasıl kuracağınız ile ilgili bilgileri;
http://stackoverflow.com/questions/1957808/how-can-i-install-pspell-in-php5-ubuntu
Bu adresten bulabilirsiniz. Kolay gelsin İyi günler. -
Gender api kullanabilirsin
Apiye ismi gönderiyorsun geriye sana cinsiyet hangi ulkelerde kullanıldığı gibi bir takım yanıt dönüyor
eğer yanıt unknown dönüyorsa isim uygun değil şeklinde bir hata dönebilirsin ünlü uyumuna göre regex kullanmak bence saçma olur çünkü yabancı isimlerde kullanılabilir
https://gender-api.com/ siteden araştır