random avatar fonksiyonu (php) kontrolü

Web tabanlı uygulama geliştirme araçları(PHP, ASP vb...) ile ilgili konuları buraya yazabilirsiniz.
Cevapla
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

random avatar fonksiyonu (php) kontrolü

Mesaj gönderen mege »

selamlar, kendime bir site yapıyordum wordpressile, gavatar isimli bir fonksiyonu vardı nette bir servera bağlanıp avatarları çekiyor. bunu yapmak istemedim, başka bir siteye mail adresi göndermek içime sinmedi. kendim bir fonksiyon yaptım. site içerisinden yüklü olan x adet avatardan birini mail adresinin kodlanmış örneği ile getiriyor. böylece aynı kişi 2 defa mesaj atarsa iki mesajındada aynı avatar gözükecek.

php bilgim pek yok. fonksiyonu öyle deneme yanılma hazırladım. şimdi ise moralimi bozan aynı sayfada iki tane aynı avatar çıkması oldu.
okuldan hatırladığım; herbir fonksiyonun exponansiyel(ax2+bx+c) toplamını alırsam aynı rakamın tekrar gelme olasılığı düşer(md5 deki gibi).

soruma geleyim;
1- aynı sayının daha az tekrarlamasını nasıl sağlayabilirim(algoritma sorusu aslında)
2- aşağıdaki kodda yamuk bir yer varmı :D php bilmediğim için herhangibir güvenlik açıkı vermek istemiyorum. (buda php ile ilgili)
teşekkürler

örnek site : http://www.gunduz.info/wp/?p=1
fonksiyon :

Kod: Tümünü seç

<?php

function m_avatar($str) {
   $str = strtolower (trim($str));  
   // constants
   $maximagecount = 856;
   // admin mail name // site sahininin wordpressde tanımlı maili
   $mailname = 'admin@google.com';
   if ($mailname==$str) 
    {
       $result = './wp-content/m.gif';
       echo $result;
    } else {
       $l = strlen ($str);
       $result = 0;
    
       for ($i = 0; $i < $l; $i++) { $result = $result + ord($str{$i}); }
       if ($result > $maximagecount){ $result = $result % $maximagecount; }
      
       echo './wp-content/mavatar/'.$result.'.gif';
       
    }
}

?>
kullanımı :

Kod: Tümünü seç

<img src="<?php m_avatar($comment->comment_author_email) ?>" width="80" height="80" class="cgravatar" alt="<?php comment_author() ?>" />

not : gördüğünüz gibi resimler tamamen rastgele geliyor, benim mesajımın yanındaki resim ne öyle diye kızmayın :D , iki arkadaşımada ayı çıktı iyimi :lol:
.-.-.-.-.-.-.-. ^_^
Kullanıcı avatarı
MicroChip
Kıdemli Üye
Mesajlar: 1119
Kayıt: 02 Ağu 2003 01:02
Konum: İstanbul
İletişim:

Mesaj gönderen MicroChip »

Çok iyi PHP bilmiyorum ama;


1. soruna ek olarak mail stringini komple alma

ABCD 65+66+67+68 yapma bunun yerine

AC 65+67
BD 66+68

birtakım çarpmalar bölmeler yap eklemeler yap duruma göre (bir de dizi kullan) aynı olmaz.

2. güvenlik açığı oluşturmaz, ama bant genişliği yenebilir.

"<img src="<?php m_avatar($comment->comment_author_email) ?>" width="80" height="80" class="cgravatar" alt="<?php comment_author() ?>" />"

gibi kullanırsan en başına gelen path i al. bu sayede script sadece senin siteden yönlenirse çalışacaktır. ve bant yeme olayı olmayacak dışarıdan...


Saygılar...
Kafkas Kartalı Kabarday
Sitesi!= http://www.ahmetceylan.com
Resim
Cevapla