Визуальный редактор + картинки = мутный алгоритм

Benderlio

Новичок
Визуальный редактор + картинки = мутный алгоритм

вообщем есть визуальный редактор тинимсе
к нему прикрутил свой загрузчик картинок
своего рода раздел приколов куда каждый может добавить картинки с тестами так сказать статьи с картинками

получается пользователь пишет текст прикрепляет картинки(они закачиваются во временную папку) жмет отправить

полученный текст парсится , выделяются картинки (записываются в базу) и переносятся в другую папку, при этом новые ссылки на картинки проставляются в исходный текст

вообщем как то это все работает с переменным успехом
хотелось бы узнать правильно ли так делать и возможно ли упростить...
Спасибо.
 

Benderlio

Новичок
статьи будут предварительно модерироватся...
хотя это тоже проблема.
 

YuriyA

Новичок
Да уж. Из массы способов вы решили выбрать самый кривой.
Если посетители проходят на сайте авторизацию, я бы предложил выделять каждому из них свою папку. И пусть туда кладут что хотят.
 

Benderlio

Новичок
YuriyA
подскажите пожалуйста самый не кривой

или хотя бы в чем именно сама кривость заключается ?
 

YuriyA

Новичок
Класть фото во временную папку, затем парсить текст, выискивать в нем картинки, затем перемещать их в другую папку, производить в тексте соответствующие изменения - это мне кажется слишком сложно.
Я думаю так, пользователь зарегистрировался, ему присвоился какойто ID, например 25. Вот пусть он и кладет свои фото в папку /all_user/25/. И все.
 

kruglov

Новичок
У вас проблема основная - как быть, если пользователь зааплоадил фотку, а потом ее никуда не вставил?

Ограничивайте пользователя в визуальности редактора - инпут загрузите картинку, текстария введите текст.

Либо надо чистить HTML от XSS, в принципе, тоже задача решаемая, посмотреть тот же ЖЖ.

И вот мои эксперименты насчет XSS: http://weblog.ru/unhack/
 

Benderlio

Новичок
kruglov
У вас проблема основная - как быть, если пользователь зааплоадил фотку, а потом ее никуда не вставил?

гм, для этого есть временная папка, т.е. если пользователь зааплоадил а никуда не вставил то файли лежит во временной папке положим пару дней а потом удаляется...

-~{}~ 14.02.08 12:31:

kruglov
а можно хотя бы приблизительно узнать ваш алогорит борьбы с XSS

?
 

kruglov

Новичок
Benderlio
Валидация с помощью tidy, а потом вдумчивая переработка различных доступных в интернете баз знаний по способам включения xss-уязвимостей. Но это я попытался почти не ограничивать пользователя в верстке. Разрешить ему стили, ссылки, даже видео с youtube.

Можно пойти проще - разрешить конкретные теги и конкретные атрибуты. Не включать в список разрешенных тегов style. Не разрешать a href с адресами, не начинающимися с http и т.д.
 

Alexandre

PHPПенсионер
я бы использовал BBCode

т.е. все теги переводим в BBCode и наоборот...
все лишнее режем.
 

kruglov

Новичок
Alexandre
С одной стороны, BB при грамотной реализации - 100% защиты.

Но вот почему, интересно, ЖЖ не использует BBcode?
 

kruglov

Новичок
Alexandre
Да.

Но:
При грамотной реализации не только в движке, но и в браузерах. Чтоб нельзя было так перековеркать <a href="javascript:...">, чтобы там слова "javascript" не осталось, а какой-нить браузер не подумал бы, что оно там все-таки есть.

-~{}~ 15.02.08 17:20:

p.s. А то появится в каком-нить бровсере возможность задавать коды символов в двоичном формате, типа
"jAv\0b00100001scRipt:" - и лови его фильтрами
 
Сверху