このページcaptcha.c
が新しいバージョンで変更されないのはなぜgwan
ですか?(画像は変わりません)
この例は、古いバージョンでは正常に機能しました。
それは正しい。
ただし、このhttpdate.c
例は期待どおりに機能しているため (呼び出すたびに変更されます)、これはキャッシュの問題ではありません。
私は G-WAN のチームに一線を画しました。
Marek の言うとおりです。他の画像ジェネレーターも動作します ( data_uri.c
、fractal.c
、charts.c
など)。
captcha.c
サーブレットは 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():%lu\n", seed, sw_rand(&rnd), getns());
の結果が一定であるため、シードは常に null ですgetns()
(これは明らかにバグです)。
seed:0, sw_rnd:4048109956 getns():1358679437704429568
seed:0, sw_rnd:4048109956 getns():1358679437704429568
seed:0, sw_rnd:4048109956 getns():1358679437704429568
...
ところで、これはプログラマーが自分で見つけなければならない (そしてプログラムの作成者に報告する) ことの良い例です。