Skip to main content

php

2014

Elegancki globalny h5ai pod nginxem
·330 words·2 mins
blog.dsinf.net nginx php
h5ai to lister plików w katalogach dla webserwerów oparty o PHP. Zamiast nudnego <ul><li>... produkowanego przez Apache’a, nginxa i całą resztę możemy dostać dowolnie ułożony spis plików (siatka, lista, szczegóły…) z ikonkami, podglądem w colorboxie, kody QR z linkami oraz m.in. filtr. Twórca twierdzi, że żadna specyficzna dla serwera funkcja w tym aliasy (w nginxie server { … } jest już takim aliasem) nie działa. Ma rację, ale dziś pokażę jak mu tę rację odebrać ;)
Kilka koncepcji na zabezpieczanie PHP przy obróbce plików z podaniem ich ścieżki + wykonywaniem poleceń systemowych
·450 words·3 mins
blog.dsinf.net php
Problem ten dotyka głównie skrypty siedzące w katalogach hardadmin, mających super zabezpieczenia i przeznaczonych do wygodnej edycji plików konfiguracyjnych przez WWW bez konieczności wpinania się do SSH (głównie tam, gdzie nie jest to możliwe). Jeśli mamy stałą liczbę plików to nic prostszego jak je stablicować i nadać nawet prymitywne indeksy numeryczne. Ale szczególnie gdy chcemy mieć możliwość dodawania plików sprawa się komplikuje. Naszym zadaniem będzie uniemożliwić atakującemu podanie ../ lub innych cudów aby ten mógł w najgorszym wypadku namieszać tylko z tą jedną usługą którą zarządza nasz skrypt (np. konfigami nginx’a).

2013

PHP: var_dump do zmiennej
·138 words·1 min
blog.dsinf.net php
Tego łatwo się nie znajdzie, a potrafi krwi napsuć. W PHP var_dump() wyrzuca zmienną wraz z jej typem, o jest szczególnie użyteczne przy rzucaniu całych tablic (np. $_GET, czy $_SERVER). Ale jak ściągnąć wynik do zmiennej, żeby np. wrzucić go do pliku?
Możliwe problemy przy aktualizacji PHP pod Suse Linuxem (i nie tylko)
·131 words·1 min
blog.dsinf.net apache linux php suse
Jak udało mi się wykryć pod Suse Linux Enterprise Server (a dokładniej 11 SP2) podczas migraji do PHP 5.3 występują pewne problemy, których wolelibyśmy uniknąć na serwerze produkcyjnym.
H-PLIKI wydane
·93 words·1 min
blog.dsinf.net h-pliki moje projekty mysql php
Od razu z numerem v2.0 wydałem H-PLIKI - lekkie i proste webowe repozytorium plików napisane w PHP i napędzane przez MySQL. Ma podstawowe funkcjonalności i jest proste w rozbudowie: umożliwia upload plików, zamieszczanie linków oraz dowolną modyfikację plików - łącznie z kasacją (także z dysku) oraz ukrywaniem.
Szybki gotowiec na ochronę przed SQL Injection w PHP
·115 words·1 min
blog.dsinf.net php zabezpieczenia
Kod krótki, ale jakże niezbędny. Podstawowa wersja podmienia wszystkie zmienne przekazane przez GET i POST: foreach ($_GET as &$z) $z = preg_replace('/[^a-zA-Z0-9_ \[\]\.\(\)\{\}\^\@\#\?\!.,&]/s', '', $z); foreach ($_POST as &$z) $z = preg_replace('/[^a-zA-Z0-9_ \[\]\.\(\)\{\}\^\@\#\?\!.,&-]/s', '', $z); Regexa (pomiędzy ukośnikami) można dostroić do naszych potrzeb i pokusić się o ładną funkcję, która będzie zależna od typu danych - coś w rodzaju function make_string_safe($string, $type){ $regex_inters = array ( 'unsigned_int' => '0-9', 'float' => '0-9-,.