|
Бесплатные PHP скрипты - форум техподдержки |
Форум техподдержки WR-Скриптов на php. Обсуждаем: основы программирования на PHP 5 - 7 версий, различные подходы к написанию скриптов на php 7 без MySQL. А также WR-скрипты: бесплатные доски объявлений, скрипты форумов, Гостевые книги, Каталог ссылок, Галерея, Фотоальбом, Счётчики, Рассылки, Анекдот и другие. Принимаются пожелания для новых версий. Сообщите какой скрипт нужен для Вашего сайта, постараемся найти или реализовать. Скачать скрипты можно бесплатно. Вместе мы сделаем бесплатные php скрипты лучше и доступнее!
|
| Сегодня: 06.12.2024 - 02:27:35
Страницы: 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|$uname|"; $text=htmlspecialchars($text); $text=stripslashes($text); $text=str_replace ("\r\n"," ",$text); $exd=explode("|",$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("|","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("|", $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) || ($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
|