wdlth 发表于 2011-4-29 22:07:56

短网址程序bug
SELECT url FROM ".DB_PREFIX."urls WHERE BINARY code = '$alias' OR alias = '$alias'

放进去即 SELECT url FROM ".DB_PREFIX."urls WHERE BINARY code = 'aoy' OR alias = 'aoy'
SELECT url FROM ".DB_PREFIX."urls WHERE BINARY code = 'aoyou' OR alias = 'aoyou'
因为aoyou的 code 和 和 aoy 是一样的(三位aoy),所以会返回 aoyou 的地址。

[ 本帖最后由 wdlth 于 2011-4-29 22:29 编辑 ]

zhaorong65 发表于 2011-4-29 22:08:15

不明真相,路过的围观者,呵呵

lsylsy2 发表于 2011-4-29 22:20:47

原帖由 wdlth 于 2011-4-29 22:07 发表 http://www.52.ht/images/common/back.gif
短网址程序bug

fangxianzhong 发表于 2011-4-29 22:20:54

只看到了, 好多推荐

lsylsy2 发表于 2011-4-29 22:21:30

yourls无压力路过

挨个搞 发表于 2011-4-29 22:24:16

故意搞鬼的可能性不大

无心的错误还是有可能的...

qiqibian 发表于 2011-4-29 22:34:10

用http://76.gd吧:lol

李院长 发表于 2011-4-29 22:35:27

原帖由 wdlth 于 2011-4-29 22:07 发表 http://www.52.ht/images/common/back.gif
短网址程序bug
SELECT url FROM ".DB_PREFIX."urls WHERE BINARY code = '$alias' OR alias = '$alias'

放进去即 SELECT url FROM ".DB_PREFIX."urls WHERE BINARY code = 'aoy' OR alias = 'aoy'
SELECT url FROM...

为什么 一样?

wdlth 发表于 2011-4-29 22:41:11

回复 28# 的帖子

function generate_code($number) {
    $out   = "";
    $codes = "abcdefghjkmnpqrstuvwxyz23456789ABCDEFGHJKMNPQRSTUVWXYZ";

    while ($number > 53) {
      $key    = $number % 54;
      $number = floor($number / 54) - 1;
      $out    = $codes{$key}.$out;
    }

    return $codes{$number}.$out;
}

生成算法

Kokgog 发表于 2011-4-29 22:53:23

生成和检索没关系的,那段sql也不会构成这个问题的
页: 1 2 [3] 4 5 6 7 8
查看完整版本: 用419.at做AFF的童学小心了