Cześć.
Jeśli mogę włączyć się do dyskusji
, to mam kilka sugestii.
- petrus_ napisał:
W Joomla standardowo jest dodatek Maskowanie adresów e-mail (EmailCloaking),
...i ma na 100% rację. Nie należy lekceważyć tego dodatku, bo może nie jest na 100% skuteczny, ale zawsze ograniczy ilość spamu. A przynajmniej odczyt adresów e-mail. Znam inne tego typu dodatki, ale po testowaniu ich, stwierdziłem, że niczym się nie różnią od wbudowanego dodatku "Maskowanie adresów e-mail (EmailCloaking)". W Mambo może nazywać się podobnie.
- Iceman napisał:
No tak petrus_, ale zauważ że Alicji chodzi o spam wysyłany przez Kontakt a EmailCloaking ma się do tego nijak.
To też prawda. Bo jak pisze Iceman, cała sprawa dotyczy komponentu com_contact, czyli też wbudowanego w core Joomla i Mambo składnika, który służy do wysyłania poczty z naszej witryny. I tutaj leży sedno całego wątku.
- Alicja napisała:
Dzięki za pomysł Iceman , ale poczekam na inną wersję. Zależy mi bowiem na tym, aby moi użytkownicy kontaktowali się za pomocą formularza com-contact. Czy ktoś próbował zabezpieczyć ten komponent?
No właśnie czy ktoś próbował zabezpieczyć ten komponent?. A mam pytanie do Ciebie Alicja. A Ty próbowałaś?. Bo przecież ten komponent ma wbudowane filtry zarówno do tematów e-maili, jak i ich treści. Standardowo jest w Menu witryny odnośnik do tego komponentu. I nawet jeśli utworzysz dodatkowe odnośniki do osobistego kontaktu z wybrana osobą, to i tak w dalszym ciągu korzystasz z komponentu com_contact. U mnie jest to menu typu "Odsyłacz - kontakt". W edycji menu masz takie pozycje po lewej stronie:
( przykład dotyczy kontaktu ze mną, czyli Administratorem serwisu )
Kod: |
index.php?option=com_contact&task=view&contact_id=1&Itemid=26
|
com_contact, jak wyraźnie widać w odsyłaczu. Natomiast po prawej masz na samym dole trzy pola:
To jest filtr komponentu, i na tyle skuteczny, że zablokuje Ci wszystko co chcesz, wysyłane poprzez cały komponent com_contact. Bo te reguły ustalasz nie tylko dla tego kontaktu, ale dla całego komponentu. A skuteczny, bo dzięki temu wątkowi przypomniałem sobie o nim. Działał tak efektywnie, że od około miesiąca, dwóch nie dostawałem e-maili z Forum. A dlaczego?. No właśnie dlatego, że widzicie na obrazku powyżej wpis "Enter a subject". W taki sposób wpisany tekst blokuje wszystkie tematy z wyrazami "Enter", "a", "Subject". A właśnie informacja z Forum zawierała słowa "Subject". Zamieniłem w pliku "post.php" kod:
Oryginalny tekst formularza wysyłany z forum Fireboard do Moderatorów:
( tutaj kod z wersji 1.0.1 niczym nie różniący się od wersji mojej, 1.0.0 )
Kod: |
foreach ($subsList as $subs) {
$mailsubject = "$_COM_A_NOTIFICATION $board_title";
$msg = "$subs->name,\n";
$msg .= "$_COM_A_NOTIFICATION1 $board_title forum\n";
$msg .= "Subject: '" . stripslashes($messagesubject) . "' in Forum: '" . stripslashes($catName) . "'\n";
$msg .= "Posted by: " . stripslashes($fb_authorname) . "\n\n";
$msg .= "$_COM_A_NOTIFICATION2\n";
$msg .= "URL: $messageUrl\n\n";
$msg .= "Post:\n";
$msg .= stripslashes($mailmessage);
$msg .= "\n\n";
$msg .= "$_COM_A_NOTIFICATION3\n";
$msg .= "\n\n\n\n\n";
$msg .= "** Powered by FireBoard **\n";
$msg .= "** Best of Joomla! - http://www.bestofjoomla.com **";
if ($ip != "127.0.0.1" && $my->id != $subs->id) { //don't mail yourself mosmail($fbConfig['email']
, "Forum at " . $_SERVER['SERVER_NAME'], $subs->email, $mailsubject, $msg);
|
...i jak widać zawiera on tekst Subject. A nagłówek wiadomości wyglądał tak:
Forum at www.jokris.info [moj@email.info]
Forum JOKRIS.INFO forum
Subject: 'Odproblem z downloadem...' in Forum: 'CMS Mambo'
Posted by: nono44
Poniżej zmodyfikowany przeze mnie kod z tekstem formularza wysyłany z forum Fireboard do Moderatorów:
Kod: |
foreach($subsList as $subs){
$mailsubject = "$_COM_A_NOTIFICATION $board_title";
$msg = "$subs->name,\n";
$msg .= "$_COM_A_NOTIFICATION1 forum $board_title\n";
$msg .= "Temat: '".stripslashes($messagesubject)."' na Forum: '".stripslashes($catName)."'\n";
$msg .= "Autor postu: ". stripslashes($fb_authorname) . "\n\n";
$msg .= "$_COM_A_NOTIFICATION2\n";
$msg .= "URL: $messageUrl\n\n";
$msg .= "Post:\n";
$msg .= stripslashes($mailmessage);
$msg .= "\n\n";
$msg .= "$_COM_A_NOTIFICATION3\n";
$msg .= "\n\n\n\n\n";
$msg .= "** Powered by FireBoard **\n";
$msg .= "** Best of Joomla! - http://www.bestofjoomla.com **";
if($ip != "127.0.0.1" && $my_id != $subs->id){//don't mail yourself mosmail($fbConfig['email'],"Informacja z Forum "
. $_SERVER['SERVER_NAME'],$subs->email,$mailsubject,$msg);
|
...i CUD!. E-maile nagle zaczęły dochodzić. A wyprawiałem różne rzeczy, aby dojść, dlaczego nie dostaje tych e-maili z Forum. Oskarżałem OVH, usuwałem wszystkie filtry na koncie pocztowym, i nie pomagało. Teraz znam przyczynę.
Wnioski?:
Jak mówi stare powiedzenie "
Cudze chwalicie, swego nie znacie". Komponent
com_contact to potężne narzędzie z w pełni konfigurowalnymi filtrami. Nie wiem, czy nie lepsze filtry, niż na niejednym koncie pocztowym. Możesz tutaj wpisywać dowolne adresy
e-mail, słowa z treści, czy słowa z treści tematu. Proponuję do pola "
Blokuj tekst" wpisać następujące wyrażenia, które stosuję do blokowania
spamerów pojawiających mi się w module "
Skąd przybyłeś...". Oto one:
Kod: |
sex;porn;credit;cards;capital;whois;pharmacy;doctorato;bankjp;thisinvestment;withfunds;thatwealth;seblogs;pharlo;clomid;panda;[url];url;hi;blog
|
Oczywiście to tylko część ze wszystkich możliwych słów. Po prostu eliminować
spamerów poprzez kolejne dopisywanie ich do tej listy. Zauważ, że treść od
spamera zawiera zazwyczaj odnośniki w postaci
[url],
[url=www.spamer.tld]. Są to znaczniki
BBCode, ale dodałem też na końcu zwykły znacznik
url. Tylko
pamiętaj!!, że jeśli ktoś poda Ci w treści
e-maila do Ciebie jakiś adres
URL, wówczas
e-mail nie dojdzie. Do pola "
Blokuj tematy", jeśli nie używasz komponentów anglojęzycznych ( wspomniany wyżej
FireBoard ), możesz dopisać parę innych wyrażeń, np:
at;Subject;genera,egregiously
Nie ma potrzeby zabezpieczać komponentu jak pisała
Alicja, tylko odpowiednio go skonfigurować. To wszystko. Pozdrawiam.
Jokris.
P.s:
Na koniec taka uwaga dla Ciebie
petrus_, ale i też dla innych. Staraj się po wyświetleniu komunikatu przez
Firefoxa, że strona zawiera dane
POSDATA, odczekać chwilę, aż wrócisz do postu, i wówczas naciśnij przycisk
ANULUJ, a nie
OK. Stąd te twoje podwójne posty. Ja już o tym pisałem. Jak post jest ostatni, to nie ma problemu. Można go usunąć. Ale jak już jest w środku, to muszę interweniować w bazie danych. Dodatkowo jako
MODERATOR Forum możesz drugi post usunąć, czego nie mogą zrobić zwykli użytkownicy. Narka...