devBlog Webowe.pl | aplikacje webowe »

aplikacje webowe, aplikacje internetowe, AJAX, web 2.0, skrypty, widgety, JavaScript, Ext JS, PHP, Smarty, Apache, mod_rewrite, .NET, Java, Flash, webdesign i inne

Graylisting – i spam znika

Jakiś czas temu zaktualizowałem Pleska na swoim serwerze (no dobra, admin mi zaktualizował) do wersji 9.2. Pośród nowości najbardziej spodobała mi się nowa opcja w ustawieniach ochrony antyspamowej: greylisting. Spam mailowy przestał istnieć w 99,99% a SpamAssassin w zasadzie nie ma nic do roboty. Co to jest greylisting? Podaję za Wikipedią:

Greylisting (lub graylisting) to metoda ochrony kont poczty elektronicznej przed spamem. Serwer poczty, który używa metody greylistingu, odrzuca maile od nierozpoznanych nadawców przy pierwszej próbie ich dostarczenia. Ponieważ odrzucenie maila realizowane jest poprzez zwrócenie serwerowi nadawcy kodu błędu oznaczającego tymczasowe problemy z odebraniem maila, to jeśli taka wiadomość została przesłana ze stałego serwera poczty, to zgodnie ze specyfikacją protokołu pocztowego, serwer ten po pewnym czasie (zależnym od ustawień serwera nadawcy) ponowi próbę wysłania wiadomość, która tym razem zostanie przyjęta przez serwer odbiorcy. Jeśli poczta pochodzi z serwera rozsyłającego spam, na ogół nie jest wysyłana ponownie. Na ogół takie serwery działają tymczasowo w celu uniemożliwienia ich identyfikacji i umieszczeniu w DNSBL.

Geneza nazwy

Słowo greylisting informuje, że mechanizm jest czymś pośrednim między whitelisting i blacklisting, oznaczającymi odpowiednio używanie białej i czarnej listy. Nadawcy znajdujący się na białej liście są automatycznie akceptowani, natomiast na czarnej – odrzucani. Greylisting jest czymś pośrednim – najpierw odrzuca nadawcę, a potem go akceptuje.

Jak to działa

Protokół SMTP przewiduje dwa rodzaje błędów: tymczasowe i permanentne. Tymczasowy błąd jest sygnalizowany, kiedy serwer chwilowo nie może przyjąć przesyłki (bo np. chwilowo zabrakło miejsca na dysku serwera albo inny program blokuje skrzynkę odbiorcy), ale możliwe że przyjmie ją później. Błąd permanentny oznacza, że przesyłka nie może zostać przyjęta ani teraz ani później (bo np. odbiorca nie istnieje). Jeżeli błąd jest tymczasowy, to serwer, który próbuje dostarczyć wiadomość, będzie co jakiś czas próbował dostarczyć ją ponownie. Greylisting polega na tymczasowym odrzucaniu wiadomości od nieznanych nadawców. Jeżeli nadawca po ustalonym czasie ponowi próbę wysłania przesyłki, to trójka (najczęściej) składająca się z nadawcy, odbiory i adresu IP wysyłającego serwera zostanie na ustalony czas dopisana do listy zaufanych trójek. Kolejna próba dostarczenia przesyłki pasująca do zapisanej trójki powiedzie się bez sygnalizowania tymczasowego błędu.

Greylisting działa dlatego, że serwery spamerów najczęściej nie zapisują nigdzie informacji, że dany serwer tymczasowo odmówił przyjęcia przesyłki. Traktują taką odmowę jak permanentną.

Kolejność dostarczania wiadomości

Ponieważ graylisting nie działa w oparciu o np. identyfikator wiadomości, zatem dość często zdarza się, iż odbiorca otrzymuje od graylistowanego nadawcy wiadomości w innej kolejności niż ten je wysłał. Dzieje się tak dla tego, iż pierwsza z wiadomości zostaje tymczasowo odrzucona i umieszczona przez serwer nadawcy w kolejce do powtórnej wysyłki, zaś kolejna nadchodząca od nadawcy wiadomość jest przez serwer odbiorcy traktowana już jako kolejna próba nadawcy i przyjmowana od razu. Po jakimś czasie (zależnym od ustawień serwera nadawcy) pierwsza wiadomość jest wysyłana powtórnie i również jest już przyjmowana bez opóźnień. Jest to normalne zjawisko w przypadku serwerów które stosują graylisting.

TYPO3 4.3.1

Ukazała się nowa wersja TYPO3 oznaczona numerem 4.3.1. Jest to pierwsze wydanie w serii 4.3 zawierające poprawki błędów oraz poprawki związane z bezpieczeństwem.

Więcej informacji na stronie projektu TYPO3.

TYPO3 4.3 wydany

TYPO3

W dniu wczorajszym ukazała się nowa wersja systemu CMS TYPO3 oznaczona numerem 4.3.

Pośród najważniejszych zmian znajdziemy m. in.:

  • odnowiona edycja stron na frontendzie – elementy treści mogą być przenoszone przez drag&drop, edycja treści w edytorze otwieranym w lightboxie, zapisywanie zmian przy pomocy AJAXa. Wspierane są zarówno szablony klasyczne jak i TemplaVoila. Funkcjonalność ta dostępna jest jako rozszerzenie – zdecydowano się nie implementować jej w rdzeniu systemu, gdyż developerzy uznali, że dzięki temu łatwiej będzie zarządzać aktualizacjami.
  • Extbase i Fluid – dwa rozszerzenia, które mają ułatwić migrację do TYPO3 w wersji 5. Obydwa rozszerzenia to porty z frameworku FLOW3. Extbase umożliwia korzystanie z modelu MVC z zachowaniem kompatybilności z TYPO3 v5. Fluid zaś zapewnia nowy silnik szablonów.
  • Salted MD5 Hashes – aby hasła były bezpieczne. Ponadto dane mogą być przesyłane poprzez kanał RSA nawet gdy witryna nie wspiera HTTPS. Możliwe jest też uwierzytelnianie użytkowników poprzez OpenID.
  • Backend – flash uploader do jednoczesnego wgrywania wielu plików oraz automatyczne uzupełnianie kodu i zintegrowanie dokumentowanie w edytorze TypoScript. Powinno to pomóc początkującym koderom TypoScript w jego poznaniu a także ułatwić tworzenie poprawnego kodu.
  • Nowy kosz na śmieci.
  • Harmonogram systemowy – i to bez użycia CRONa.
  • Warunki w TSconfig (PageTSconfig oraz UserTSconfig).
  • Wzrost wydajności – automatyczne ładowanie plików wczytuje teraz do pamięci tylko potrzebne pliki. Dodano też opcjonalny framework cache’ujący pochodzący z FLOW3
  • i inne.

Więcej informacji na stronie projektu.

5. urodziny Firefoxa

FirefoxW dniu dzisiejszym przeglądarka internetowa Mozilla Firefox obchodzi swoje 5. urodziny. Wszystkiego najlepszego!

Firefox powstał jako alternatywa dla Internet Explorera. Z założenia Firefox miał być przeglądarką bezpieczną, łatwą w instalacji i obsłudze, rozbudowywalna (pluginy) oraz nie obciążającą komputera.

Od roku 2004 Firefox odmienił na lepsze sposób, w jaki setki milionów ludzi na całym świecie korzystają z sieci WWW, i zrewolucjonizował podejście do przeglądania internetu. Funkcje takie jak karty, blokada wyskakujących okienek, zakładki dodawane jednym kliknięciem, intuicyjny pasek adresu i tryb prywatny to tylko niektóre ze tych cech, któe czynią Firefoksa tak popularną dziś przeglądarką – wg serwisu gemiusRanking dziś w Polsce korzysta z niej już ponad połowa internautów.

Aby dowiedzieć się więcej o tym, jak ludzie na całym świecie świętują tę rocznicę, przejdź na www.spreadfirefox.com/5years.

OpenBSD 4.6 wydany

OpenBSD

Z poślizgiem, ale jednak, ukazała się nowa wersja najbezpieczniejszego systemu operacyjnego OpenBSD oznaczona numerem 4.6.

Pełna lista funkcjonalności dostępna jest pod adresem: http://openbsd.chem.uw.edu.pl/46.html

Netia = amatorzy

Przynajmniej w dziedzinie sprzedaży i obsługi klienta.

Zamówiłem w Netii internet. Już na infolinii dowiedziałem się, że możliwy jest dostęp tylko w technologii WIMAX. Trudno, niech będzie, wyboru nie mam bo to jedyny operator na tym terenie (Zamienie pod Warszawą, powiat piaseczyński, gmina Lesznowola), który świadczy usługi dostępu do internetu. Dostępu przez GSM nie zaliczam do takich usług bo internet przez komórkę uważam za “internet ostatniej szansy”. No więc panienka poinformowała mnie, że owszem internet mi założą, ale tylko WIMAX. Następnie Netia przez miesiąc sprawdzała warunki techniczne (mimo, że panienka na infolinii już je znała). Netia, po sprawdzeniu warunków miała się ze mną skontaktować i poinformować o wyniku sprawdzania i poinformować jakie są dalsze kroki. Nie zadzwonili.

Zadzwoniłem ja. Ustaliliśmy sobie z konsultantem, że żeby przyspieszyć sprawę otrzymam umowę mailem, wydrukuję, podpiszę ją i odeślę pocztą. Pracownicy Netii przez 5 dni nie byli w stanie wysłać maila. Po kilku kolejnych telefonach w końcu jakiejś gwieździe udało się wysłać maila z załącznikiem. Niestety – załączenie kompletnej umowy już ją przerosło – dostałem tylko pierwszą stronę. Ręce opadają…

Jeśli Netia będzie w dalszym ciągu tak działać i w takim tempie to już niedługo straci pozycję monopolisty na tym terenie – na jesieni TP SA zacznie tam świadczyć Neostradę a to oznacza, że także inni operatorzy wejdą na ten teren ze swoimi usługami, np. Netka z oferty TK Telekom.

Kapitan Wagner (grany przez Zbigniewa Zapasiewicza, C.K. Dezerterzy) powiedziałby Wiecie Państwo, że nie ma w słowniku ludzi kulturalnych słów, które mogłyby dostatecznie obelżywie określić Wasze postępowanie [http://www.youtube.com/watch?v=lKQFPahVfOs].

Ciąg dalszy nastąpi – dam znać. O ile się zdecyduję na szarpanie z tymi [ocenzurowano ;-)].

iPhone ma MMS-y

Wraz z pojawieniem się nowej wersji oprogramowania dla iPhone oznaczonej numerem 3.0 telefon ten otrzymał między innymi obsługę MMS-ów, poziomą klawiaturę w większości aplikacji oraz funkcję kopiuj-wklej. Tym samym Apple wytrącił chyba już ostatnie argumenty przeciwnikom iPhone’ów.

Pełna lista nowych funkcji poniżej:

czytaj dalej »

  • 0 komentarzy
  • kategorie: iPhone
  • OpenBSD 4.5

    Zgodnie z tradycją (nowe wersje OpenBSD wydawane są co pół roku: 1 maja i 1 listopada) w dniu dzisiejszym ukazało się nowe wydanie systemu operacyjnego OpenBSD oznaczone numerem 4.5.

    W nowej wersji OpenBSD zoptymalizowano nieco kodu, rozszerzono wsparcie dla platformy sparc64, dodano nowe sterowniki i narzędzia oraz wiele, wiele innych.

    Szczegółowe informacje na temat zmian w OpenBSD 4.5 znaleźć można na stronie projektu OpenBSD.

    TYPO3, mm_forum i RealURL

    Po całym dniu walk udało mi się zmusić TYPO3, mm_forum i RealURL do generowania w miarę przyzwoitych linków. Oto moja konfiguracja do RealURLa:

    $TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT'] = array(
    'init' => array(
    'enableCHashCache' => 1,
    'enableUrlDecodeCache' => 1,
    'enableUrlEncodeHash' => 1,
    'respectSimulateStaticURLs'=>1,
    'postVarSet_failureMode' => 'redirect_goodUpperDir',
    ),
    'rewrite' => array(
    ),
    'preVars' => array(
    array(
    'GETvar' => 'L',
    'valueMap' => array(
    'pl' => '0',
    'en' => '1',
    ),
    'noMatch' => 'bypass',
    //'valueDefault' => 'pl',
    ),
    array(
    'GETvar' => 'no_cache',
    'valueMap' => array(
    'no_cache' => 1,
    ),
    'noMatch' => 'bypass',
    ),
    ),
    'pagePath' => array(
    'type' => 'user',
    'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
    'spaceCharacter' => '-',
    'languageGetVar' => 'L',
    'expireDays' => 3,
    ),
    'fileName' => array (
    'defaultToHTMLsuffixOnPrev' => 0,
    'index' => array(
    'page.html' => array(
    'keyValues' => array (
    'type' => 1,
    ),
    ),
    ),
    ),
    'fixedPostVarSets' => array(),
    'fixedPostVars' => array(
    'mm_forum_pi3' => array(
    array(
    'GETvar' => 'tx_mmforum_pi3[folder]',
    'valueMap' => array(
    'odebrane' => 'inbox',
    'wyslane' => 'send',
    'archiwum' => 'archiv'
    )
    ),
    array(
    'GETvar' => 'tx_mmforum_pi3[action]',
    'valueMap' => array(
    'czytaj' => 'message_read',
    'napisz' => 'message_write',
    'kasuj' => 'message_del'
    )
    ),
    array(
    'GETvar' => 'tx_mmforum_pi3[messid]',
    'lookUpTable' => array(
    'table' => 'tx_mmforum_pminbox' ,
    'id_field' => 'uid',
    'alias_field' => 'subject',
    'addWhereClause' => ' AND NOT deleted',
    'useUniqueCache' => 1,
    'useUniqueCache_conf' => array(
    'strtolower' => 1,
    'spaceCharacter' => '-',
    ),
    ),
    ),
    array(
    'GETvar' => 'tx_mmforum_pi3[userid]',
    'lookUpTable' => array(
    'table' => 'fe_users' ,
    'id_field' => 'uid',
    'alias_field' => 'username',
    'addWhereClause' => ' AND NOT deleted',
    'useUniqueCache' => 1,
    'useUniqueCache_conf' => array(
    'strtolower' => 1,
    'spaceCharacter' => '-',
    ),
    ),
    )
    ),
    'mm_forum_pi1' => array(
    array(
    'GETvar' => 'tx_mmforum_pi1[action]',
    'valueMap' => array(
    'kategoria' => 'list_topic',
    'temat' => 'list_post',
    'profil' => 'forum_view_profil',
    'nowy-wpis' => 'new_post',
    'nowy-temat' => 'new_topic',
    'zglos' => 'post_alert',
    'edytuj-wpis' => 'post_edit',
    'kasuj-wpis' => 'post_del',
    'historia-wpisow' => 'post_history',
    'bez-odpowiedzi' => 'list_unans',
    'nieczytane' => 'list_unread',
    'ustaw-jako-przeczytane' => 'reset_read',
    'wlacz-powiadomienia' => 'set_havealook',
    'wylacz-powiadomienia' => 'del_havealook',
    'dodaj-do-ulubionych' => 'set_favorite',
    'ustaw-jako-rozwiazany' => 'solve',
    'ustaw-jako-nierozwiazany' => 'unsolve',
    'usun-z-ulubionych' => 'del_favorite',
    'prefiks' => 'list_prefix'
    ),
    ),
    array(
    'GETvar' => 'tx_mmforum_pi1[fid]',
    'lookUpTable' => array(
    'table' => 'tx_mmforum_forums' ,
    'id_field' => 'uid',
    //'alias_field' => 'forum_name',
    'addWhereClause' => ' AND NOT deleted',
    'useUniqueCache' => 1,
    'useUniqueCache_conf' => array(
    'strtolower' => 1,
    'spaceCharacter' => '-',
    ),
    ),
    ),
    array(
    'GETvar' => 'tx_mmforum_pi1[tid]',
    'lookUpTable' => array(
    'table' => 'tx_mmforum_topics' ,
    'id_field' => 'uid',
    //'alias_field' => 'topic_title',
    'addWhereClause' => ' AND NOT deleted',
    'useUniqueCache' => 1,
    'useUniqueCache_conf' => array(
    'strtolower' => 1,
    'spaceCharacter' => '-',
    ),
    ),
    ),
    array(
    'GETvar' => 'tx_mmforum_pi1[pid]',
    ),
    array(
    'GETvar' => 'tx_mmforum_pi1[page]',
    ),
    array(
    'GETvar' => 'tx_mmforum_pi1[user_id]',
    'lookUpTable' => array(
    'table' => 'fe_users' ,
    'id_field' => 'uid',
    'alias_field' => 'username',
    'addWhereClause' => ' AND NOT deleted',
    'useUniqueCache' => 1,
    'useUniqueCache_conf' => array(
    'strtolower' => 1,
    'spaceCharacter' => '-',
    ),
    ),
    ),
    ),
    '6' => 'mm_forum_pi1',
    '18' => 'mm_forum_pi3'
    ),
    );

    Zauważcie, że wykomentowałem wszystkie ‘alias_field’. Zrobiłem to dlatego, że wolę mieć parametry liczbowe niż opisowe. Te drugie może by coś więcej dawały pod względem pozycjonowania, ale linki robią się niekiedy koszmarnie długie i w związku z tym nieestetyczne. Efektem ubocznym jest to, że PHP wywala trochę warrningów więc trzeba wyłączyć na amen raportowanie błędów (co i tak się robi w środowisku produkcyjnym):

    Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /var/www/vhosts/mojeforum.tld/httpdocs/t3lib/class.t3lib_db.php on line 834
    Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /var/www/vhosts/mojeforum.tld/httpdocs/t3lib/class.t3lib_db.php on line 861

    Poza tym w powyższym kodzie mogą być jakieś kwiatki – używajcie na własne ryzyko.

    Znalazłem też już jeden syf. Link do profilu użytkownika wygląda tak:

    http://www.mojeforum.tld/forum/profil/salvi/

    ale w module “informacje o portalu” niestety wygląda tak:

    http://www.mojeforum.tld/forum/profil/////salvi/

    i na razie nie mam pojęcia co z tym zrobić. Ktoś ma jakiś pomysł?

  • 0 komentarzy
  • kategorie: TYPO3
  • Magazyn Typo3 już w sprzedaży

    Do sprzedaży trafił pierwszy numer magazynu poświęconego systemowi CMS o nazwie Typo3. Magazyn nosi tytuł “Magazyn Typo3“. Wydawany jest w wersji elektronicznej i papierowej. Adresowany jest zarówno do początkujących użytkowników systemu jak i do tych bardziej zaawansowanych. Czasopismo zostało podzielone na działy oznaczone zgodnie ze stopniem trudności.

    Redaktorem naczelnym pisma został Daniel Ciunkiewicz, dotychczas manager projektów TYPO3, programista, wdrożeniowiec i szkoleniowiec z zakresu funkcjonalności systemu TYPO3, a także felietonista publikujący artykuły w czasopismach i w portalach branżowych. Zespół redakcyjny dwumiesięcznika liczy sześć osób, których wspiera czterech stałych współpracowników.

    Na stronie magazynu dostępny jest za darmo do pobrania numer zerowy magazynu. Można także kupić online wydania cyfrowe kolejnych numerów.

    Strona magazynu: Magazyn Typo3.

    Kategorie