验证码不会随着新版本的 GWAN 而改变



为什么captcha.c这个页面没有随着gwan的新版本而改变?(图片不变)

这个例子在旧版本中工作得很好!

没错。

但是httpdate.c示例按预期工作(每次调用它时都会更改),因此这不是缓存问题。

我已经给G-WAN的团队写了封信,也许你可以自己写。

Marek是对的,其他图像生成器工作(data_uri.c, fractal.c, charts.c等)。

captcha.c servlet是唯一使用PRNG的servlet,在本例中,PRNG的初始化保持不变(因此结果不变)。您可以通过添加printf():

在代码中看到这一点
   u32 seed = (u32)getns();
   prnd_t rnd; // pseudo-random generator (period: 1 << 158)
   sw_init(&rnd, seed); // EPOCH time in nano-seconds
   printf("seed:%u, sw_rnd:%u getns():%lun", seed, sw_rand(&rnd), getns());

种子总是空的,因为getns()的结果是常量(这显然是一个bug):

seed:0, sw_rnd:4048109956 getns():1358679437704429568
seed:0, sw_rnd:4048109956 getns():1358679437704429568
seed:0, sw_rnd:4048109956 getns():1358679437704429568
...

顺便说一句,这是一个程序员应该自己发现(并向程序作者报告)的好例子。

相关内容

  • 没有找到相关文章

最新更新