ExBB Community » » Настройка форума » регистрация пользователя

Страниц (2): « 1 [2]
 

16. igrok54 - 27 октября 2011 — 01:02 - перейти к сообщению
BON пишет:
igrok54, если как ты говоришь любое письмо, то тогда в этом письме можно будет отослать любой джава скрипт который выполнится при прочтении письма. ТАк же получается?

Да я именно об этом и говорю. Получается любой же зарегенный юзер имеет право отправить через форум другому юзеру письмо, содержащее html-код, который может быть вредоносным. А потом все шишки админу сайта, через который заслали...

Надо какой-то фильтр добавить, проверку, на то, что в данном типе писем разрешен html.

Можно добавить еще один параметр при отправке письма (их было 5, добавляем шестую переменную $list[5] (отсчет с 0, а не с 1) и пропишем условие, что если эта шестая переменная в аргументах получена и она равна TRUE, то html в этом типе писем разрешен...

Не проверял, но должно работать:

CODE:
function _SendMail($list) {
// До формирования письма проверим и установим тип письма:
if(isset($list[5]) && $list[5]===TRUE) {$mailtype='text/html';} // Если разрешен в данном письме html
else {$mailtype='text/plain';}
// Затем формируем заголовки письма подставляя определенную ранее переменную с типом письма:
$headers = 'From: '.$list[0].' <'.$list[1].">\n";
$headers .= 'Reply-To: '.$list[1]."\n";
$headers .= 'Return-Path: '.$list[1]."\n";
$headers .= "MIME-Version: 1.0\nContent-type: ".$mailtype."; charset=windows-1251\nContent-Transfer-Encoding: 8bit\nDate: " . gmdate('D, d M Y H:i:s', time()) . " UT\nX-Priority: 3\nX-MSMail-Priority: Normal\nX-Mailer: PHP\n";


Тогда в командах на отправку писем, где html разрешаем, нужно будет добавить этот шестой аргумент, дописав в их конец еще один: TRUE
Для случая Nikela - это изменения еще в файле register.php

Номера строк по сборке Электрона, у Вас могу отличаться! Но где-то рядом...
Строку 186:
CODE:
$fm->_Mail($fm->exbb['boardname'],$fm->exbb['adminemail'],$fm->input['emailaddress'],$subject,$email);

Заменить на:
CODE:
$fm->_Mail($fm->exbb['boardname'],$fm->exbb['adminemail'],$fm->input['emailaddress'],$subject,$email, TRUE);

Строку 248:
CODE:
$fm->_Mail($fm->exbb['boardname'],$fm->exbb['adminemail'],$fm->input['emailaddress'],$fm->LANG['RegThanks'],$email);

Заменить на:
CODE:
$fm->_Mail($fm->exbb['boardname'],$fm->exbb['adminemail'],$fm->input['emailaddress'],$fm->LANG['RegThanks'],$email, TRUE);

Две одинаковых строки 260 и 358:
CODE:
$fm->_Mail($fm->exbb['boardname'],$fm->exbb['adminemail'],$fm->exbb['adminemail'],$subject,$email);

Каждую заменить на:
CODE:
$fm->_Mail($fm->exbb['boardname'],$fm->exbb['adminemail'],$fm->exbb['adminemail'],$subject,$email, TRUE);
17. BON - 27 октября 2011 — 14:18 - перейти к сообщению
igrok54, если в письме придет такая бодяга: <iframe src="/vzlom.js">А тут текс письма</iframe> не сработает код???
18. igrok54 - 27 октября 2011 — 14:50 - перейти к сообщению
BON пишет:
igrok54, если в письме придет такая бодяга: <iframe src="/vzlom.js">А тут текс письма</iframe> не сработает код???

Суть дополнения в том, что можно сделать выборочный вариант с отправкой писем с форума, для каких-то писем разрешить html, для остальных - только текст. А уж на усмотрение админа форума, вносящего изменения с данным вариантом, решить, какие письмо с его форума могут содержать html-код...

В функцию добавлена возможность того, что отправка html возможна, но требуется, чтобы для писем с кодом, чтобы они читались как html, был получен дозволяющий параметр: $list[5]=TRUE. Без этого параметра письмо будет передавать в заголовках, что в нем содержиться только текст и код будет выводиться как текст, в виде именно таком: "<iframe src="/vzlom.js">А тут текст письма</iframe>"...

А вторая часть кодов (изменения в register.php) предназначена конкретно для Никелы. Другие пользователи могут при желании увидеть в кодах, как требуется изменить команды на отправку писем, чтобы в данных письмах разрешалось html (дописать в конец еще один параметр TRUE).
Во второй части кодов описано, какие изменения потребуется внести в файл register.php для того, чтобы после регистрации юзер получал письмо с форматированием. А текст этих писем лежит в файле lang_front_register.php, и в него теперь можно внести html-форматирование. Этот текст же редактировать может только админ, поэтому для данного случая все вполне безопасно.
19. BON - 27 октября 2011 — 15:20 - перейти к сообщению
а всё спасибо, понял Улыбка

Яндекс.Метрика   

Powered by ExBB
[Script Execution time: 0.0187]     [ ]