Posts Tagged ‘programowanie’

Kilka sztuczek przy pomocy MySQL UNION


30 lis
{lang: 'pl'}

Wbrew temu co sądzi wiele osób polecenie UNION dostępne w silniku bazy MySQL nie służy tylko do wstrzykiwania kodu w niezabezpieczonych stronach. UNION w wielu sytuacjach służy dobrym celom, chociaż nieumiejętnie wykorzystany może doprowadzić do dramatycznego spadku wydajności.

Uwaga. W tym artykule przedstawię przykłady nie do końca najlepsze do zastosowania w serwisach ze sporym ruchem. Jestem świadomy także, że wielu osobom którzy na co dzień obcują z optymalizacją zapytań włos się na głowie zajerzy niejednokrotnie. Niemniej jednak moim celem jest pokazać jak wykorzystywać UNION w warunkach ekstremalnych :)

Do czego służy UNION? Na republice znalazłem krótkie wyjaśnienie zjawiska jakim jest UNION:

Jak pobrać bieżący adres url


19 wrz
{lang: 'pl'}

Problem z pozoru dość błachy, ale myślę, że nie jedna osoba miała z tym problem :)

Oto przykładowa funkcja zwracająca pełny adres strony na której się obecnie znajdujemy:

Wejdź na stronę z postem, aby zobaczyć podgląd kodu źródłowego.

Wyszukiwane frazy:

  • jak pobrac url (36)
  • jak pobrac adres url (17)
  • jak pobrać pdf ze strony (16)
  • php pobieranie adresu url (15)
  • pobranie adresu url php (10)
  • pobieranie adresu url php (10)
  • php pobranie adresu strony (10)
  • php jak pobrać adres strony (8)
  • php bieżący url (8)
  • pobranie adresu strony php (8)

Wymiary obrazka w milimetrach w php


15 wrz
{lang: 'pl'}

Ostatnio stanąłem przed pewnym zadaniem jakim była obróbka pliku graficznego z poziomu skryptu. Wszystko szło gładko przy pomocy biblioteki GD, aż do momentu kiedy musiałem pobrać wymiary obrazka … w milimetrach. Pomyślałem sobie że na pewno istnieje jakaś funkcja typu getimagesizemm lub inna podobna. Oczywiście nie istniała. Co gorsza nie istniała także funkcja mowiąca ile DPI ma obrazek. Czyli żeby uciąć deskę konieczne było stworzenie piły..

Na pierwszy ogień poszła funkcja pobierająca z pliku graficznego (jpg) informacje o DPI. Kod wyglądał mniej więcej tak:

Jak pozbyć się www z adresu


05 cze
{lang: 'pl'}

Przedrostek www pamięta jeszcze początki internetu, kiedy to był wymagany. Dziś jednak nie istnieje potrzeba poprzedzania adresu tym przedrostkiem. Adresy bez www są krótsze i przede wszystkim łatwiejsze do zapamiętania. Za chwilę pokaże jak zmusić serwer żeby traktował ten przedrostek jako coś zbędnego i permementnie przekierowywał na nazwę domenową.

Rozwiązanie

Otóż najprosztszym sposobem jest wykorzystanie pliku htaccess i dobrodzejstw apache’owego mod_rewrite’a.

Wejdź na stronę z postem, aby zobaczyć podgląd kodu źródłowego.

Powyższa reguła spowoduje przekierowanie wszystkich żądań dla www.example.com na adres example.com.

Wyszukiwane frazy:

  • jak pozbyć się przedrostka www (2)
  • adres jak się poznbyć www (1)
  • dagthore (1)

Jak wykonać kod PHP z bazy danych


04 mar
{lang: 'pl'}

Przykładowy problem. Tworzymy moduł do wysyłania maili. Z backendem i możliwością edytowania szablonów email z poziomu panelu administracyjnego. Szablony składać się będą z kodu HTML przemieszanego z kodem PHP. Nasuwa się tylko jedno zasadnicze pytanie. Jak parsować kod PHP wyciągnięty z bazy danych?

O ile z samym kodem PHP nie ma żadnego problemu, gdyż wystarczy wrzucić wartość z komórki bezpośrednio do funkcji eval np.:

Wejdź na stronę z postem, aby zobaczyć podgląd kodu źródłowego.

To w momencie kiedy w kodzie znajduje się także kod HTML, zaczynają się schody. Zobaczmy.

Wejdź na stronę z postem, aby zobaczyć podgląd kodu źródłowego.

Wrzucenie tego w funkcję eval będzie grzechem śmiertelnym i zaskutkuje błędem typu Fatal Error, ponieważ nie jest to poprawny kod PHP. Zastosujmy małą i niezwykle prostą sztuczkę.

[B]log programistyczny

IP 38.107.179.209 (38.107.179.209)