Бесплатные PHP скрипты - форум техподдержки

Бесплатные PHP скрипты - форум техподдержки

Форум техподдержки WR-Скриптов на php. Обсуждаем: основы программирования на PHP 5 - 7 версий, различные подходы к написанию скриптов на php 7 без MySQL. А также WR-скрипты: бесплатные доски объявлений, скрипты форумов, Гостевые книги, Каталог ссылок, Галерея, Фотоальбом, Счётчики, Рассылки, Анекдот и другие. Принимаются пожелания для новых версий. Сообщите какой скрипт нужен для Вашего сайта, постараемся найти или реализовать. Скачать скрипты можно бесплатно. Вместе мы сделаем бесплатные php скрипты лучше и доступнее!

Главная сайта бесплатных php скриптовГлавная сайта   ПоискПоиск  
Сегодня: 25.04.2024 - 16:51:06
Страницы:  1  

Рай для собирателей e-mail`ов?

Объявление - WR-Scriptы в UTF-8 кодировке

Активно обновляю скрипты и перевожу их в UTF-8 кодировку. Список перекодированных php скриптов доступен на главной странице сайта. Скачивайте скрипты и устанавливайте на свой сайт! В ближайшее время обновлю каталог знакомств, форум Про, фотоальбом, доски объявлений лайт и ЛЮКС.

На форуме, пожалуйста, пишите что модернизировать в скриптах в первую очередь. Постараюсь исправить большую часть пожеланий!
Планирую продолжить работы весь 2023 год.

АвторСообщение

AntiGun

A
Участник форума

В WR-Forum © 1.8 eXclusive в списке пользователей в HTML коде присутствуют адреса емайл юзверов. Не в голом виде, но есть, и вытащить их оттуда может каждый, кто владеет операциями Copy-Paste.
Предлагаю переделать почтовую систему на манер того, как я сделал в своём моде:
https://www.wr-script.ru/forum/index.php?fid=10&id=11998125558251&page=3#m26
советую смотреть по #m26, а то предыдущие мои мессаги написаны с ошибками по причине того, что то ли я так спешу, то ли уже сон завладевает моими мозгами, и я начинаю тормозить.

Сообщение # 1 18.10.08 - 22:19:20

WR

W
Участник форума

а я вот думаю - может емайлы как-нибудь кодировать, передавать через GET-запрос, а потом раскодировать? Чтобы не обращаться частко к файлу с юзерами...

Сообщение # 2 20.10.08 - 04:46:52

AntiGun

A
Участник форума

В этом тоже есть рациональное зерно. По крайней мере, если пост от гостя (его же е-майла нет в базе).
Я тут на днях грешным делом похулиганил - отправил кому-то майл с почти нецензурным содержанием (если б не изменил одну букву - оно было бы нецензурным), да ещё от имени нецензурного емайла. Кстати, емайл этот давно существует на сервере майл.ру и никого его нецензурность почему-то не беспокоит Прошу прощения у всех, кого моё хулиганство задело в какой бы то ни было степени. Между прочим, кто-то с не буду публично говорить какими IP-и e-mail адресом меня вычислил (а вообще-то, вычислить мог и не адресат) и прислал заголовки моего письма в мою гостевуху приватным сообщением. И я вот теперь тщусь понять, кто же он, этот неведомый "вычислитель".

Сообщение # 3 20.10.08 - 13:56:10

AntiGun

A
Участник форума

Может, закодить е-майл в base64?

Сообщение # 4 21.10.08 - 15:10:13

WR

W
Участник форума

AntiGun, а раскодировать его потом можно перед отправкой?

пример кода какой-нибудь есть?

Сообщение # 5 23.10.08 - 09:14:51

AntiGun

A
Участник форума

Для расшифровки можно что-то в этом роде:

Код:

// ШАГ 2 отправки сообщения пользователю
if ($_GET['event']=="mailtogo") {
//$name=$_POST['name'];
//$email=$_POST['email'];
$msg=$_POST['msg'];
$msg=str_replace("|","I",$msg);
i f (isset($_POST['fid'])) {$fid=$_POST['fid'];}

if (isset($_POST['id'])) {$id=$_POST['id'];}
$uname=$_POST['uname'];
$uname=str_replace("|","I",$uname);
if ($msg=="") {print "$back Вы не ввели сообщение!</B></center>"; exit;}

$text="$msg&#124;$uname&#124;";
$text=htmlspecialchars($text);
$text=stripslashes($text);
$text=str_replace ("\r\n","
",$text);
$exd=explode("&#124;",$text); $msg=$exd[0]; $uname=$exd[1];

include("$fskin/top.html"); addtop();

if (!isset($wrfname)) { exit("<p align=center>Личные сообщения могут отправлять только <b>зарегистрированные</b> пользователи.</p>");}

$uemail=$_POST['uemail'];
if (!($uemail==""))
{
$uemail=base64_decode($uemail);
$uemail=str_replace("&#124;","I",$uemail);
}
else
{
$line s=file("$datadir/usersdat.php"); $i=count($lines);
$ok=0; $okok=0; $uemail="";
//print "<br />wrfpass = $wrfpass<br />";
do {$i--; $rdt=explode("&#124;", $lines[$i]);
$realname=strtolower($rdt[0]);
if (strtolower($uname)===$realname)
{$ok=1; $uemail=$rdt[3];}
if ( (strtolower($wrfname)===$realname) && ($wrfpass===$rdt[1]) )
{$okok=1;}
} while($i > 1); //1 потому что первая (0-я) строка там - PHP команда die

if (($ok==0) &#124;&#124; ($okok==0)) {print "$back Нет такого пользователя!</B></center>"; exit;}

}
//ДАЛЬШЕ ФОРМИРОВАНИЕ ЗАГОЛОВКОВ МЫЛА И САМ МЫЛИНГ
$headers=""; // Настройки для отправки писем
$headers.="Content-Type: text/html; charset=windows-1251\r\n";
$headers.="From: Robot <".$uemail.">\r\n";
$headers.="X-Mailer: WR-Forum PHP/".phpversion();

// Собираем всю информацию в теле письма
$host=$_SERVER["HTTP_HOST"]; $self=$_SERVER["PHP_SELF"];
$furl="http://$host$self";
$furl=str_replace("tools.php", "", $furl);

$allmsg="<html><head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251'><meta http-equiv='Content-Language' content='ru'>
</head><body>
<BR><BR><center><i><b>$uname</b></i>, это сообщение отправлено вам от посетителя <a href='$furl"."tools.php?event=profile&pname=$wrfname'><b>$wrfname</b></a> <BR> форума <a href='$furl"."index.php'><B>$fname</B></a><BR><BR>
<table cellspacing=0 width=700 bgcolor=navy><tr><td><table cellpadding=6 cellspacing=1 width='100%'>
<tr bgcolor=#F7F7F7><td> Сообщение:</td><td><BR>$msg<BR></td></tr>
<tr bgcolor=#F7F7F7><td>Дата отправки сообщения:</td><td>$time - <B>$date г.</B></td></tr>
<tr bgcolor=#F7F7F7><td>Перейти на главную страницу:</td><td><a href='$furl"."index.php'>$furl"."index.php</a></td></tr>
</table></td></tr></table></center><BR><BR>* Данное письмо сгенерировано и отправлено роботом, отвечать на него не нужно.
</body></html>";

// антиспам И АНТИФЛАД майла
$ok=1; $vyvod="";
//JS-АНТИСПАМ, БЕЗ КОТОРОГО МОЖНО ОБОЙТИСЬ
$crc1 = $crc - 0; $crc3 = $crctri - 0;
$crc2=$crc1*41-270;
if ($crc2 != $crc3)
{
$ok=0; $vyvod="А хренъ тебе, спамер!";
}
// КОНЕЦ JS-АНТИСПАМА
if (strlen($msg)>10000) //проверим сообщение на длину
{
$ok=0; $vyvod="Слишком длинное сообщение";
}

// АНТИФЛАД ПО АЙПИ
$ipnow = getenv("REMOTE_ADDR");

$filename = ".bvhjk";
$ipfile = fopen($filename,"r");
$iptext = fread($ipfile, filesize ($filename));
fclose($ipfile);

$content = split("\n",$iptext);
$sizearray = sizeof($content);

$numofsameip = 0;

for ($i=0; $i<$sizearray; ++$i)
{
if ($content[$i]!="")
{
if ($ipnow == $content[$i])
$numofsameip++;
else
$numofsameip = 0;
}//end if
}//end for

if ($numofsameip > 5)
{
$ok=0; $vyvod="Слишком много пишете. Нельзя.";
}
if ($ok == 0)
{ //если ничего не отправлять
echo "<h1>ОШИБКА</h1>";
echo "<strong>$vyvod</strong></body></html>";
}
else
{ //если отправлять
mail("$uemail", "=?windows-1251?B?" . base64_encode("Сообщение от посетителя $wrfname (форума $fname)") . "?=", $allmsg, $headers);
// отправлено
// теперь запишем IP в файл
$fp=fopen($filename,"a+");
flock ($fp,LOCK_EX);
ftruncate ($fp,0);//УДАЛЯЕМ СОДЕРЖИМОЕ ФАЙЛА
// пишем в файл IP адреса, начиная с [1]
for ($i=1; $i<$sizearray; ++$i)
{
$zapis = $content[$i];
if ($zapis!="")
{
fputs($fp, "$zapis\n");
}//end if
}//end for
// теперь добавим текущий IP адрес
fputs($fp, $ipnow);
// fputs($fp,"$txtdat\n");
fflush ($fp);
flock ($fp,LOCK_UN);
fclose($fp); // закрыли файл
// теперь выведем сообщение
echo "<h1><center>Успешно завершено</center></h1>";
echo "<center>Письмо отправлено</center></body></html>";
} // закончили обработку отправки

exit;
} //END OF $_GET['event']=="mailtogo"

В ШАГЕ 1 отправки сообщения (там где форма сообщения) надо предусмотреть скрытое поле для uemail, заполняемое закодированным мэйлом по содержимому соотв-щей GET-переменной либо пустое если юзверь-адресат - зарег-ный.

Сообщение # 6 23.10.08 - 19:42:00

yudined

Y
гость

Меня радует ваш оптимизм по поводу почты. Только меня это не веселит. Не знаю, что у меня происходит. Визуально все нормально - почта уходит, но реально на ящик так и ничего не приходит.
Это и с форумом происходит, так и с доской знакомств (meeting). Причем есть еще доска объявлений - установлена на этом же сервере, там все в порядке - и регистрационные данные приходят юзеру, и я получаю данные об объявлениях. Кто знает в чем дело? Сразу скажу, чтобы не было лишних предположений. При отладке все права доступа на все файлы у меня устновлены на 777, так что в этом не может быть дело. Или это глюки скриптов? Скачаны недавно. (

Сообщение # 7 25.10.08 - 04:10:48

AntiGun

A
Участник форума

yudined, возможно, антиспамы на почтовых серверах? Например, один из моих емайл адресов считается на Яндекс-почте спамовым, и все мои письма там помещаются в папку "спам".
Возможно, какой-нибудь "антиспам" есть на сервере-отправителе. Я знаю пару серверов, где отправленные из шелла письма не всегда доходят до адресата, а когда их много - не доходят вообще :(
Лично у меня пока всё ок. Заметил такую особенность (своего хостинга): на адреса от майл.ру доходит почти мгновенно, на рамблер.ру - через несколько минут. Ещё знаю, что доходит на цтс.ру
О прочих пока не осведомлён.
Думаю, это не глюки скриптов. Хотя в форуме в своё время заметил лишний \r\n в заголовках. Но он вроде не приводил ни к чему фатальному - просто лишняя линия в письме (если оно text/plain).

Сообщение # 8 25.10.08 - 19:44:06

Maksir

M
Участник форума

yudined,
Цитата:

При отладке все права доступа на все файлы у меня устновлены на 777

Абсолютно безразличные права...
наберите в google команду chmod - наглядно объективно станет понятно, какому файлу, какие права.

Самый антиспамовый почтовый сервер, это по-моему gmail
Антиспамовый фильтр можно прикрутить по условию количества символов в строке Subject. Как правило, большинство спама пишут как можно больше информации в этой строке, когда личные контакты используют очень короткую фразу...
Можно так же смотреть MIME файла тела письма. Но, это уже сложнее. Реализация в основном по протоколу IMAP , который, кстати, использует gmail. другие, почему-то не используют.. Хотя, можно и на POP3 организовать фильтры, но IMAP имеет расширенные возможности, это более современный протокол и используется далеко не везде...

Сообщение # 9 25.10.08 - 21:10:56
Ошибки в 1.8.St2. Только у меня?? :Предыдущая темаСледующая тема: Снять ограничение 9999
Страницы:  1  

Сообщение
Имя E-mail
Сообщение

Нажмите на точку возле имени для обращения к участнику

Смайлы:

Ещё смайлы
Эмодзи
         
Защитный код: (введите цифры, которые на синем фоне)
Ответ на вопрос: (Какой сейчас год?)
   
WR-Счётчик
Powered by WR-Forum Professional © 2.3 UTF-8 beta версия