Software / code / prosody-modules
Comparison
mod_http_upload_external/share.php @ 2972:67d6510c5f49
mod_http_upload_external: Use a more widespread method to obtain Content-Length (thanks Yves)
| author | Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> |
|---|---|
| date | Fri, 30 Mar 2018 21:00:15 +0200 |
| parent | 2333:f86478a02b25 |
| child | 2977:7036e82f83f5 |
comparison
equal
deleted
inserted
replaced
| 2971:c89be016a075 | 2972:67d6510c5f49 |
|---|---|
| 68 $store_file_name = $CONFIG_STORE_DIR . '/store-' . hash('sha256', $upload_file_name); | 68 $store_file_name = $CONFIG_STORE_DIR . '/store-' . hash('sha256', $upload_file_name); |
| 69 | 69 |
| 70 $request_method = $_SERVER['REQUEST_METHOD']; | 70 $request_method = $_SERVER['REQUEST_METHOD']; |
| 71 | 71 |
| 72 if(array_key_exists('v', $_GET) === TRUE && $request_method === 'PUT') { | 72 if(array_key_exists('v', $_GET) === TRUE && $request_method === 'PUT') { |
| 73 $headers = getallheaders(); | 73 $upload_file_size = $_SERVER['HTTP_CONTENT_LENGTH']; |
| 74 | |
| 75 $upload_file_size = $headers['Content-Length']; | |
| 76 $upload_token = $_GET['v']; | 74 $upload_token = $_GET['v']; |
| 77 | 75 |
| 78 $calculated_token = hash_hmac('sha256', "$upload_file_name $upload_file_size", $CONFIG_SECRET); | 76 $calculated_token = hash_hmac('sha256', "$upload_file_name $upload_file_size", $CONFIG_SECRET); |
| 79 if($upload_token !== $calculated_token) { | 77 if($upload_token !== $calculated_token) { |
| 80 header('HTTP/1.0 403 Forbidden'); | 78 header('HTTP/1.0 403 Forbidden'); |