tu się wchodzi, naciska, ogląda się z bliska
6 września
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 ![]()
31 sierpnia
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ą.
3 sierpnia
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 sierpnia
… 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…)
17 marca
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 ![]()