All streams
Search
Write a publication
Pull to refresh
14
0
Skarah @skarah

User

Send message

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

Reading time2 min
Views39K
image

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

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

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

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

Reading time1 min
Views4.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

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

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

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

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

Reading time2 min
Views1.7K
Приветствую вас, хабропользователи!

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

Information

Rating
Does not participate
Location
Пятигорск, Ставропольский край, Россия
Date of birth
Registered
Activity