Обновить
14
0
Skarah@skarah

Пользователь

Отправить сообщение

Письмо Деду Морозу

Время на прочтение2 мин
Охват и читатели39K
image

Доброго времени суток!

Не так давно заметили, что на сервере происходят некие странные события. До этого фтп аккаунт был один, и пользовались им два человека. После появления «странностей» решили сделать каждому отдельный аккаунт и написать в техподдержку о необходимости вести лог того, кто когда и какие файлы правил по фтп.

Сразу хочу сказать, что пост не о проблеме на сервере, а о том, что оказывается в техподдержке тоже работают живые люди с чувством юмора.
Читать дальше →

Yii 1.1.8 — загрузка файлов с произвольным расширением с помощью CMultiFileUpload

Время на прочтение1 мин
Охват и читатели4.2K
Доброго всем времени суток!

Недавно делая сайт на Yii обнаружили такую вот дыру в загрузке файлов на сервер с помощью CMultiFileUpload (за что отдельное спасибо Mx21): есть возможность взять файл с произвольным расширением, дописать в конец имени что-то вроде .jpg и потом залить на сервер виджетом CMultiFileUpload. Даже не смотря на то, что свойство 'accept' имеет, к примеру, значения 'jpeg|jpg|gif|png', т.е. не должно аплоадить ничего кроме такого рода картинок, происходило следующее: файл без проблем закачивался на сервер, причем .jpg в конечном файле обрезалось и на сервере оказывался исходный файл с тем расширением какое оно было до того как мы его переименовали.
Используемая нами версия фреймворка 1.1.8.

Лечится следующим образом:
В файле /framework/web/js/jquery.multifile.js нужно исправить строки 222-223:
          if(MultiFile.accept && v && !v.match(MultiFile.rxAccept))//{
            ERROR = MultiFile.STRING.denied.replace('$ext', String(v.match(/\.\w{1,4}$/gi)));

вернее заменить их на следующий код:
			var str=this.value;
			var pattern='\.';
			var pos = str.indexOf(pattern);
			for (var count = 0; pos != -1; count++)
				pos = str.indexOf(pattern, pos + pattern.length);
          
          
          if((MultiFile.accept && v && !v.match(MultiFile.rxAccept)) || count>1)//{
            ERROR = MultiFile.STRING.denied.replace('$ext', String(v.match(/\.\w{1,4}$/gi)));


Т.е. добавили проверку на количество точек в имени загружаемого файла, если более одной точки получаем сообщение об ошибке «Invalid file type».

Облако тегов — 404

Время на прочтение1 мин
Охват и читатели571
Захожу по ссылке на теге под постом типа http://habrahabr.ru/tag/yii/. Над списком постов вижу форму слева от которой стрелка и облачко-ссылка «перейти на страницу со всеми метками» — перехожу на эту страницу и вижу выпученый глаз с зелеными щупальцами пытается высосать мозг из недовольной головы 404 страница не найдена.

Yii расширение для показа MP4 на коленке

Время на прочтение3 мин
Охват и читатели3.8K
Готовим проект на Yii, в котором пользователи смогут, помимо всего прочего, размещать и просматривать небольшие материалы в формате MP4. Подсказали несколько вариантов решения относительно плеера, я решил остановиться на JW Player. Испытания он прошел успешно. Осталось быстренько написать соответствующее расширение для Yii.
Под катом пошагово что откуда куда скачать и листинг кода расширения с комментариями.
Читать дальше →

Экстремальное программирование или IT в современной пенитенциарной системе

Время на прочтение2 мин
Охват и читатели1.7K
Приветствую вас, хабропользователи!

Сегодня я хочу вам рассказать о том, как можно выжить, если уж придется попасть не дай Бог конечно, и не отупеть в современной пенитенциарной системе, проще говоря, разговор пойдет о положении дел в области образования в «местах не столь отдаленных». То, что оказаться там в условиях современной демократии может каждый, думаю и так понятно.
Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Пятигорск, Ставропольский край, Россия
Дата рождения
Зарегистрирован
Активность