HOT FIX - уязвимость на аплоаде файлов

This commit is contained in:
Krivchikov Dmitry 2016-06-07 13:18:22 +03:00
parent 4b17d0e630
commit 611c912276
4 changed files with 4 additions and 3 deletions

View File

@ -32,6 +32,7 @@ class Image
public static function createAllSizes($imgName, $noWatermark = false, $folder = '') public static function createAllSizes($imgName, $noWatermark = false, $folder = '')
{ {
$sizes = App::getConfig('images'); $sizes = App::getConfig('images');
$srcdir = App::getBasedir() . 'photos/' . $folder;
$uploaddir = App::getBasedir() . 'public/photos/' . $folder; $uploaddir = App::getBasedir() . 'public/photos/' . $folder;
$watermarkDir = App::getBasedir() . 'watermarks/'; $watermarkDir = App::getBasedir() . 'watermarks/';
@ -40,7 +41,7 @@ class Image
$watermark = $noWatermark ? '' : $watermark; $watermark = $noWatermark ? '' : $watermark;
self::imgResize( self::imgResize(
$uploaddir . $imgName, // Source - original image $srcdir . $imgName, // Source - original image
$uploaddir . $dir . '/' . $imgName, // Destination $uploaddir . $dir . '/' . $imgName, // Destination
$size[0], // X $size[0], // X
$size[1], // Y $size[1], // Y

View File

@ -49,7 +49,7 @@ class ImagesController extends Controller
{ {
if (isset($_FILES) && !empty($_FILES) && App::$user) { if (isset($_FILES) && !empty($_FILES) && App::$user) {
$userId = App::$user->id; $userId = App::$user->id;
$uploaddir = App::getBasedir() . 'public/photos/articles/'; $uploaddir = App::getBasedir() . 'photos/articles/';
$fileName = (string)$_FILES['photo']['name']; $fileName = (string)$_FILES['photo']['name'];
$temp = pathinfo($fileName); $temp = pathinfo($fileName);
$extension = strtolower($temp['extension']); $extension = strtolower($temp['extension']);

View File

@ -148,7 +148,7 @@ class JsonController extends Controller
$photos = $images = array(); $photos = $images = array();
if (empty($errors) && !App::$request['ajax'] && isset($_POST['id']) && (int) $_POST['id']) { if (empty($errors) && !App::$request['ajax'] && isset($_POST['id']) && (int) $_POST['id']) {
$id = (int) $_POST['id']; $id = (int) $_POST['id'];
$uploaddir = App::getBasedir().'public/photos/'; $uploaddir = App::getBasedir().'photos/';
if (isset($_FILES) && !empty($_FILES)) { if (isset($_FILES) && !empty($_FILES)) {
foreach ($_FILES['photos']['name'] as $key => $fileName) { foreach ($_FILES['photos']['name'] as $key => $fileName) {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 238 KiB