1. PHP / Говнокод #11371

    +61

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    function myrnd(){
    	$rnd1=rand(48,57);
    	$rnd2=rand(65,90);
    	$rnd3=rand(97,122);
    	$rnd4=rand(1,3);
    	$rnd5="rnd".$rnd4;
    	return $$rnd5;
    }
    function createReffererLink(){
    	$refferer="";
    	for($i=0;$i<12;$i++){
    		$refferer.=chr($this->myrnd());
    	}
    	return $refferer;
    }

    Нашел в своей старой партнерской программе. Угадайте, что делает этот код? ( генерирует реферальную ссылку )

    Запостил: xcont, 07 Июля 2012

    Комментарии (8) RSS

    • генерит строку из 12 символов 0-9A-Za-z
      Ответить
    • случайная случайность
      Ответить
      • Псевдослучайная псевдослучайность. )
        Ответить
    • Я когда-то так генерировал пятизначную ссылку:
      public function get_key () {
                          $time = crc32 (microtime ());
                          $str = 'ABCDEFGHJKMNPQRSTUVWabcdefghjkmnpqrstuvw0123456789';
                          $key = '';
                          do {
                              $key .= $str [$time % 50];
                              $time /= 50;
                          } while ($time >= 50);
                          return $key;
                      }
      Ответить
      • Выглядит не очень надёжным и всего 32 бита (и куча коллизий) на выходе. Хотя, для сервиса ссылок самое то.
        Ответить
    • Объясните, пожалуйста, как работает myrnd(); ?
      Ответить
      • Видно же, что берется случайный из rnd{1,2,3} - типа три равновероятных интервала.
        Ответить
    • ну имя функции createReffererLink какбЭ намекает...
      Ответить

    Добавить комментарий