Pull to refresh
15
0
Skarah @skarah

User

Send message

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

Reading time2 min
Views39K
image

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

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

Сразу хочу сказать, что пост не о проблеме на сервере, а о том, что оказывается в техподдержке тоже работают живые люди с чувством юмора.
Читать дальше →
Total votes 84: ↑61 and ↓23+38
Comments18

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

Reading time1 min
Views4.1K
Доброго всем времени суток!

Недавно делая сайт на 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».
Total votes 17: ↑9 and ↓8+1
Comments31

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

Reading time1 min
Views541
Захожу по ссылке на теге под постом типа http://habrahabr.ru/tag/yii/. Над списком постов вижу форму слева от которой стрелка и облачко-ссылка «перейти на страницу со всеми метками» — перехожу на эту страницу и вижу выпученый глаз с зелеными щупальцами пытается высосать мозг из недовольной головы 404 страница не найдена.
Total votes 16: ↑9 and ↓7+2
Comments4

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

Reading time3 min
Views3.5K
Готовим проект на Yii, в котором пользователи смогут, помимо всего прочего, размещать и просматривать небольшие материалы в формате MP4. Подсказали несколько вариантов решения относительно плеера, я решил остановиться на JW Player. Испытания он прошел успешно. Осталось быстренько написать соответствующее расширение для Yii.
Под катом пошагово что откуда куда скачать и листинг кода расширения с комментариями.
Читать дальше →
Total votes 10: ↑8 and ↓2+6
Comments10

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

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

Сегодня я хочу вам рассказать о том, как можно выжить, если уж придется попасть не дай Бог конечно, и не отупеть в современной пенитенциарной системе, проще говоря, разговор пойдет о положении дел в области образования в «местах не столь отдаленных». То, что оказаться там в условиях современной демократии может каждый, думаю и так понятно.
Читать дальше →
Total votes 18: ↑16 and ↓2+14
Comments11

Information

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