php - 取消 HTTP POST 请求服务器端

标签 php perl http post

我正在尝试编写用于上传大文件 (>500MB) 的脚本。我想在处理上传之前进行一些身份验证,例如:

$id = $_GET['key'];
$size = $_GET['size'];
$time = $_GET['time'];
$signature = $_GET['signature'];

$secret = 'asdfgh123456';

if(sha1($id.$size.$time.$secret) != $signature){
echo 'invalid signature';
exit;
}
process upload...

不幸的是,php 仅在文件上传到临时目录后才运行此代码,占用了宝贵的服务器资源。在上传之前有没有办法做到这一点?我用 perl/cgi 尝试过类似的事情,但同样的事情发生了。

最佳答案

哇,已经有 5 个答案说明了这是不可能完成的。 mod_perl to the rescue ,在这里您可以在整个请求正文上传之前拒绝请求。

关于php - 取消 HTTP POST 请求服务器端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4558067/

相关文章:

perl - 为什么 Net::Twitter 提示 "HTTP::Message content not bytes"?

http - 如何使用 observable .map 和 .subscribe 处理我的数据

java - 通过 HTTP 重定向传递数据的选项

php - 来自两个表的 COUNT 和 SELECT 查询

php - Yii Bootsrap 小部件 TbButton 的 HTML 标签

php - 如何在 Yii2 的不同文件中分隔每个 Action

php - 使 sql 子查询停止提示重复列

regex - Perl 正则表达式在列表上下文中只返回一个值,即使可能有多个匹配

regex -\w 不匹配 Perl 中的西里尔字符

python - 为什么 Apache/WSGI 将 HEAD 映射到 GET?如何在 Flask 中加速 HEAD?