diff options
| author | Savetheinternet <savetheinternet@n0v4.com> | 2010-11-05 20:32:40 +1100 |
|---|---|---|
| committer | Savetheinternet <savetheinternet@n0v4.com> | 2010-11-05 20:32:40 +1100 |
| commit | f6abfa61c693b9b55937be0db0a54ca074349cc6 (patch) | |
| tree | bba3d754dfdd49b1f84338c9d5729f22ab6be385 | |
| parent | 6fc9db808747acf5a91caa65d65819d930f1b987 (diff) | |
Added a check to verify if .ZIP files are infact archives.
| -rw-r--r-- | inc/config.php | 1 | ||||
| -rw-r--r-- | post.php | 7 |
2 files changed, 7 insertions, 1 deletions
diff --git a/inc/config.php b/inc/config.php index e5c0b42e..40ea923a 100644 --- a/inc/config.php +++ b/inc/config.php @@ -51,6 +51,7 @@ define('ERR_INVALIDIMG','Invalid image.', true); define('ERR_FILESIZE', 'Maximum file size: %maxsz% bytes<br>Your file\'s size: %filesz% bytes', true); define('ERR_MAXSIZE', 'The file was too big.', true); + define('ERR_INVALIDZIP', 'Invalid archive!', true); // For resizing, max values define('THUMB_WIDTH', 200, true); @@ -121,6 +121,12 @@ if(!@move_uploaded_file($_FILES['file']['tmp_name'], $post['file'])) error(ERROR_NOMOVE);
if($post['zip']) {
+ // Validate ZIP file
+ if(is_resource($zip = zip_open($post['zip'])))
+ zip_close($zip);
+ else
+ error(ERR_INVALIDZIP);
+
$post['file'] = ZIP_IMAGE;
$post['extension'] = strtolower(substr($post['file'], strrpos($post['file'], '.') + 1));
}
@@ -191,7 +197,6 @@ if(in_array($extension, $allowed_ext)) {
if (zip_entry_open($zip, $entry, 'r')) {
-
// Fake post
$dump_post = Array(
'subject' => $post['subject'],
|
