1

我不知道是否有人可以滥用此方法。什么是解决方法?我不希望有人通过这种方式下载内容来滥用我的服务器。

可以选择重新通过电子邮件发送运输标签。我基本上已经设置好了,所以除了准备页面之外没有数据库工作。我能想到的唯一其他方法是将 post 变量设置为行的 ID,然后从那里提取文件名。

那么,将文件名作为 post 变量(可能被篡改)是否不安全?

4

2 回答 2

2

只有当你要做类似readfile()include()在上面的事情时,它才是不安全的。

使用行 ID 会更好,但即使这样,您仍然需要考虑是否应允许用户访问文件(以避免随机 id=1 id=2 id=3 测试)。

于 2012-10-12T06:59:52.353 回答
2

你永远不应该相信传入的数据。POST 请求和 GET 请求一样可能被滥用,因此在最坏的情况下,您的网站可能是 XSS 攻击的手段,或者可能被用作垃圾邮件节点。

要做的事情是发送,除了文件名或条目ID,一些哈希,然后检查这两者是否匹配,即与此哈希关联的条目。因此,简单地尝试不同的 ID 是行不通的,因为施虐者还必须猜测正确的哈希值。一句忠告:不仅要散列 id 或文件名,还要散列发送电子邮件的时间和一些盐。

于 2012-10-12T07:10:10.337 回答