首页 > 代码库 > fastdfs 开启 token 防盗链

fastdfs 开启 token 防盗链

环境:

fastdfs 

nginx + ngx_fastdfs_module

php+fastdfs_php扩展

开启token令牌:

vi /etc/fdfs/http.conf

#开启

http.anti_steal.check_token=true

#密钥

http.anti_steal.secret_key=123456 

重启nginx

php中,通过fastdfs_http_gen_token()函数生成$token,例如:

$ts=time();//当前时间戳
$token=fastdfs_http_gen_token(‘M00/00/00/Ss_0rVGSABmAEZ1QAAC6WE5-JkI695.zip‘,$ts);

然后url形如:

http://localhost/M00/00/00/Ss_0rVGSABmAEZ1QAAC6WE5-JkI695.zip?token=8de0e6554be69d0b9385faad654c4364&ts=1368589809

这样服务端就可以自动根据 token , ts ,以及设置的密钥来验证合法性。密钥过期时间在http.conf里设置。

问题:

token总是验证失败,需要检查如下:

1.fastdfs_http_gen_token($file_name,$timestmp);中$file_name 不要包含group_name

2.你是否忘记设置客户端对应的配置文件里,也有一个密钥,要求跟http.conf中的一直,比如php.ini中的fastdfs_client.http.anti_steal_secret_key参数。

3.检查你的fdfs服务器和client服务器时间不要相差分钟级。

fastdfs 开启 token 防盗链