normanos 2.0

tu się wchodzi, naciska, ogląda się z bliska

Archive for the ‘PHP’ Category

cakePHP: debug oraz redirect

Dzisiaj 2 banalne rady, w zasadzie kwestie o których powinien każdy wiedzieć, jednak jak pokazują posty na forum.php.pl z zeszłego tygodnia wcale tak nie jest.

Pierwsza sprawa to ustawienie stałej DEBUG (/app/config/core.php) na coś więcej niż 0 (sugeruje 2). Zaskakujący jest fakt, iż większość osób, które pisały do mnie na owym forum z prośbą o pomoc “bo w cake nic nie działa i nic się nie dzieje” miały DEBUG ustawiony na 0 (no to rzeczywiście nic dziwnego, że kawałka komunikatu o błędach nie zobaczyły ;) ). Swego czasu pytałem się też kilku “kejkowców” jak tam u nich wygląda sprawa z ilością pytań sql. I tu to samo: nie mieli pojęcia bo… w ogóle nie pracowali na włączonym DEBUGu. Nie powiem, jestem zdziwiony, że w ogóle tak mozna napisać całą aplikację :)

Druga rada to też wynik postów na forum. Pamiętajcie aby po $this->redirect(’/kontroler/akcja/’); zawsze wstawić exit();! Brak exita to musi być dość powszechny błąd skoro nawet było o tym na piekarence :)

  • 2 Comments
  • Filed under: PHP
  • cakePHP: findABaker();

    Autor bloga cakebaker uruchomił kilka dni temu serwis zleceń związanych z cakePHP. Nie wróżę tej stronie świetlanej przyszłości: autor chce wkrótce pobierać 20 zielonych za ogłoszenie (a przy zerowej liczbie ogłaszających jest to dosyć głupie i… bezczelne) :). Pomijam już fakt, iż klient na ogół nie mówi “zróbcie mi sajta w cakePHP” bo taki serwis ogłoszeniowy można wykorzystać do np. skompletowania większego zespołu, tudzież rozbudowania działającej już “kejkowej” aplikacji.

    Przy okazji tej ciekawostki zaczynam nowy cykl na moim blogu: garść porad (krótkie, nieskomplikowane, pomocne przy budowaniu rozbudowanych sajtów) związanych z cakePHP. Powoli kończę (75% done) swój pierwszy serwis oparty na tym frameworku i można powiedzieć, że podstawy mam za sobą.

  • 19 Comments
  • Filed under: PHP
  • OPT 1.0

    OPT Po kilku miesiącach i kilku wersjach RC doczekaliśmy się finalnej wersji najlepszego (moim zdaniem) systemu szablonów w PHP5. Zapraszam do przeczytania odpowiedniej notki u Zyxa oraz do pobrania OPT 1.0.

    Ja wprawdzie w tej chwili stałem się zapalonym piekarzem :) więc OPT poszedł w odstawkę, ale z pewnością wrócę do niego jeżeli tylko zajdzie potrzeba.

    Swego czasu zainteresowałem się Chameleonem reklamowanym przez autora na forum php.pl jako super szybkiego systemu szablonów. Owszem, produkt rzeczywiście szybki, ale jednocześnie z mocno okrojonymi możliwościami w stosunku do OPTa (wiadomo, coś za coś). Na pewno dobry do malutkich, prostych projektów, na coś większego (dla mnie) okazał się niewystarczający.

    Swoją drogą, zamiast projektu Open Power Board w skład którego wchodzą właśnie OPT (Open Power Template), OPD (Open Power Driver) i OPF (Open Power Forms) widziałbym bardziej jakiegoś frameworka w PHP5 opartego właśnie o w/w komponenty. To było by coś :) A forum? Cóż, for ci u nas dostatek (frameworków też? :) ).

  • 2 Comments
  • Filed under: PHP
  • Jak zostałem piekarzem…

    cakePHP… czyli subiektywny przegląd frameworków :)

    Dawno nic nie pisałem, a to (standardowo) ze względu na masę pracy: troche zleceń, trochę własnej roboty. Właśnie z powodu małej ilości czasu zainteresowałem się gotowymi frameworkami w PHP. Wprawdzie jakiś czas temu zacząłem pisać coś swojego (oparte na PDO i OPT) ale wiele z tego nie wyszło. Raz: nie posiadam odpowiednio sporej wiedzy aby napisać to porządnie, a dwa: nie da się tego napisać szybko.

    Przegląd frameworków zrobiłem jakis czas temu (nawet wtedy z cakePHP pożyczyłem sobie bardzo fajną obsługę sesji) ale wtedy ostatecznie nic nie wybrałem ze względu na dosyć specyficzne wymagania. Tym razem na lekturę różnych opracowań i poszczególnych dokumentacji poświęciłem kilka dni. Z listy 10 PHPowych frameworków wybrałem 3 które mi się spodobały i o których słyszałem najwięcej tj. cakePHP, Code Igniter i Symfony.
    (more…)

  • 9 Comments
  • Filed under: PHP
  • Email injection

    Ostatnio dużo się pisze na temat sql injection zapominając o innych groźnych atakach. Całkiem niedawno ktoś przez mój serwer, a konkretnie przez jeden z skryptów php typu ‘kontakt’ wysłał masę spamu na AOL przez co AOLowcy się na mnie obrazili ;)

    Pierwsze co zrobiłem to odpowiedni wpis w mod_security. Na sieci znalazłem wiele wersji np:

    SecFilterSelective ARGS_VALUES “\n[[:space:]]*(to|bcc|cc)[[:space:]]*:.*@”

    co niestety nie dało rady (?!) spam poszedł jeszcze raz. (na gotroot.com znajdziecie więcej regułek do mod_security).

    Spam poszedł przez specjalnie spreparowany mail w MIME. W takim wypadku najlepiej filtrować inputa w poszukiwaniu róznych znaków np.

    < ?php
    $from=$_POST["sender"];
    if (eregi(”\r”,$from) || eregi(”\n”,$from)){
    die(”Why ?? :(”);
    }
    ?>

    (/n = %0A /r=%0D)

    Dopiero to wychwyciło wstrzyknięty spam kodowany w MIME. Więcej o tym (wraz z przykładami) można przeczytać na SecurePHP.

    Póki nie miałem własnego serwera nie sądziłem, że można być narażonym na kilkaset różnych ataków dziennie :) Logi mod_security normalnie puchną. Najwięcej jest ataków na phpBB, awstats i wordpressa. Boty szukające takich skryptów najlepiej od razu banować bo potrafią one setki razy dziennie zapuszczać tysiące requestów ;)

  • 5 Comments
  • Filed under: PHP