测试,打开steal,总是400错误

发布于 2022-09-18 04:35:41 字数 313 浏览 13 评论 0

<?php

$ts=time();
$sKey='FastDFS1234567890';
$fileID='group1/M00/00/03/AQAAf0rlDkYAAAAAAAABqhHQ5qM8.conf';
$token=md5($fileID.$sKey.$ts);

echo "http://127.0.0.1:8081/".$fileID."?ts={$ts}&token={$token}";
?>

是token生成有问题吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

行雁书 2022-09-25 04:35:41

打印了一些日志,发现MD5的结果好像不一致

group1/M00/02/05/AQAAf0rlNQQAAAAAAAABqgWFXpI9.confFastDFS12345678901256535445

这个字符串通过 fdfs_http_gen_token  生成的md5   ccd03cd8b952b9643bd1bb3b6990b5bc

php的md5函数是 82d955001f9c2a57be7e442aa89f9ea7

一口甜 2022-09-25 04:35:41

fdfs_get_token调用的也是php的md5函数,不应该出现相同的输入,而输出不一致的情况。
你两个帖子中的$fileID是不一致的。
另外,请注意$ts取的当前时间戳,每次取到的可能也不一样。

优雅的叶子 2022-09-25 04:35:41

用time取当前值生成下载地址
http://localhost:8888/group1/M00/02/05/AQAAf0rlNQQAAAAAAAABqgWFXpI9.conf?ts=1256535445&token=82d955001f9c2a57be7e442aa89f9ea7

在  fdfs_http_gen_token    增加日志
打印md5 前后的值

前: group1/M00/02/05/AQAAf0rlNQQAAAAAAAABqgWFXpI9.confFastDFS12345678901256535445  是正确的
后: ea78a22ab726794dfc8311fdccd0a3cc

和url中的 82d955001f9c2a57be7e442aa89f9ea7 不一致。
下载提示400错误。

所以上来问一下

执手闯天涯 2022-09-25 04:35:41

wget "http://127.0.0.1:8081/group1/M00/02/05/AQAAf0rlNQQAAAAAAAABqgWFXpI9.conf?ts=1256549699&token=7822c0d3a796bc5193fdb0c2ee25cfe7"

[2009-10-26 17:38:19] ERROR - >>>file: ../common/fdfs_http_shared.c, line: 294, fileid is:  group1/M00/02/05/AQAAf0rlNQQAAAAAAAABqgWFXpI9.conf  
[2009-10-26 17:38:19] ERROR - >>>file: ../common/fdfs_http_shared.c, line: 305, origninal string: group1/M00/02/05/AQAAf0rlNQQAAAAAAAABqgWFXpI9.confFastDFS12345678901256549699 ,before md5encode
[2009-10-26 17:38:19] ERROR - >>>>>file: ../common/fdfs_http_shared.c, line: 310, md5Encoded string: 3f467cbee31f1ec9097f1997c293ade6  after md5encode
[2009-10-26 17:38:19] ERROR - >>>file: ../common/fdfs_http_shared.c,line: 338, token: 7822c0d3a796bc5193fdb0c2ee25cfe7 ,true_token: 3f467cbee31f1ec9097f1997c293ade6

云雾 2022-09-25 04:35:41

你机器是64位的吧?我在64位系统下进行了测试,和你描述的情况完全一样。
common/md5.h中的typedef unsigned long int UINT4; 在64位下存在问题,已经修复。
修改为:typedef unsigned int UINT4; 即可。

谢谢LZ的反馈!

[ 本帖最后由 happy_fish100 于 2009-10-27 09:07 编辑 ]

随遇而安 2022-09-25 04:35:41

不好意思,没有告诉你环境。我的服务器是64位的。

谢谢斑竹解答。

测试通过...hh

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文