Archiwum

Archiwum dla ‘programowanie’ Kategoria

Ewolucja…?

Wrzesień 1st, 2009 end 3 comments

Dawno, dawno temu…
<p><center>coś na środku<center><p>

Jeszcze nie tak całkiem dawno…
<p align="center">coś na środku<p>

Nowocześnie?
<p style="text-align: center;">coś na środku<p>

Ewolucja? Postęp? Unifikacja? Elastyczność kodu? Mhm… Semantyka?
Cóż, idziemy naprzód zgodnie ze standardami, wszystko brnie do przodu… Ktoś tam wyżej, na górze, ustala zasady, którymi podążamy… Nawet w wolnym kraju, czy wolnym "zawodzie" – informatyce. Cóż, nie pozostaje nic innego jak poddać się postępowi, który tak naprawdę jaki by nie był – jest nam odgórnie narzucony i przez wszystkich wymagany… :)

Ahh, Ci klienci…

Czerwiec 11th, 2009 end 3 comments

Klienci są przeróżni. Jedni chętnie płacą, a nic właściwie nie wymagają, drudzy wiedzą co ile kosztuje i nie chcą przepłacać, ale są jeszcze klienci typu ‘czemu ja za to mam płacić!?’. Cóż, fakt jest faktem – wiedza kosztuje, jednak nie każdy klient tą zasadę wyznaje. Mało tego, wszelkie usługi dodatkowe po wykonaniu skryptu powinny być bezpłatne! W momencie niezgody z mojej strony na bezpłatne wykonanie usług dodatkowych – w tym wypadku przeniesienie skryptu na inny serwer (klient nie potrafił ustawić odpowiednio kodowania, co za darmo mu zdiagnozowałem, i opisałem co ma w tym celu zrobić), dochodziły do mnie dziwne wiązki słów… Dość często zdarza mi się wykonywać prace informatyczne bezinteresownie, szczególnie jak nie mam w danej chwili nic na głowie, jednak ten klient trochę przegiął… Zresztą – zobaczcie sami. Rozmowa jest nieco obcięta z fragmentów naprawdę nieistotnych ;)

(…)
Ja: (Środa 10.06.2009 20:25)
baza danych miala ustawione zle kodowanie tak jak pisalem
dlatego nie dalo sie wstawic polskich liter
Klient: (Środa 10.06.2009 20:25)
ja to ręcznie przerobię
Ja: (Środa 10.06.2009 20:25)
no ok
(…)
Ja: (Środa 10.06.2009 20:28)
‘spróbuj ten import zrobić tak
że wyczyścisz baze na aktualnym serwerze
uruchomisz skrypt
stworzy cała strukture
a pozniej import
a przy exporcie33 dodac ze create database if not exist zrobil
chyba jest taka funkcja przy wykonywaniu exportu’
Klient: (Środa 10.06.2009 20:27)
sluchaj no ja chcialbym jedynie aby to działalo
nic więcej
nie znam się na tym, nie mozesz tego dla mnie zrobic ?
ja sie bede z tym męczyl 10 razy dłuzej :/
Ja: (Środa 10.06.2009 20:28)
no to musialbym do tego usiasc
to sie ani nie oplaca dla mnie, ani dla ciebie, bo za darmo mi sie tego nie oplaca, a tez tobie sie nie oplaca za to placic
;d
szczegolnie ze teraz akurat siedze w innym projekcie ktory modyfikuje
Klient: (Środa 10.06.2009 20:29)
wiesz co
zaczynasz mnie szokowac
(…)
Klient: (Środa 10.06.2009 20:29)
zapłacilem Ci kilkaset złotych a Ty nie mozesz mi pomóc postawic bazy?
co to za problem dla programisty?
ja sie na tym kurwa mac nie znam
Ja: (Środa 10.06.2009 20:30)
no za wiedze sie placi
;d
Klient: (Środa 10.06.2009 20:29)
strona zmowu nie działa
za wiedże sie płaci ?
dla mnie to jest element zlecenia
i jezeli uwazasz
Ja: (Środa 10.06.2009 20:30)
no raczej przenosin miedzy serwerami nie bylo;d
Klient: (Środa 10.06.2009 20:30)
ze mam Ci znowu zaplacic to jestes po prostu niesprawiedliwy
Ja: (Środa 10.06.2009 20:30)
a juz i tak duzo zrobilem i napisalem dokladnie jak trzeba zrobic
Klient: (Środa 10.06.2009 20:30)
wiesz i wlasnie z powodu takiego podejscia , ciezko z Tobą współpracowac
to co Tobie zajełoby 5 minut
ja musze zrobic w 10 godzin
ale jak wolisz, ja na tym stracę kilkadziesiąt zlotych
i znajde kogos innego
ale za takie podejscie wiesz mi – stracisz więcej :)
(…)
to jest Twoje podejscie, o wszystko chcesz pieniądze
Ja: (Środa 10.06.2009 20:32)
no to dlatego dziekuje za taka wspolprace
(…)
Ja: (Środa 10.06.2009 20:32)
nikt nie mowil o przenosinach miedzy serwerami
a kilka linijek wyzej masz dokladny opis jak to zrobic
Klient: (Środa 10.06.2009 20:32)
a skąd ja miałem wiedziec ze takie problemy wystąpią?
wiesz ja Ci powiem krótko
zachowujesz sie jak popierdolony materialista , oczywiscie masz do tego prawo – wolny rynek
Ja: (Środa 10.06.2009 20:33)

daj oferte na zlecenia.przez.net sam zobacz ze nikt tego za darmo nie zrobi tzn przenosin miedzy serwerami
Klient: (Środa 10.06.2009 20:33)
ale ode mnie juz ani złotówki nie otrzymasz
na zlecenia przez net – postaram się abys juz nie zarobił ani grosza – Twój login znam
a kontakty mam wystarczające
takze dzieki za współprace i za chamskie podejscie
ja stracę kilka zlotych
Ty kilkaset
(…)
Ja: (Środa 10.06.2009 20:34)
straszysz mnie kontaktami, a sam nie wiesz kim jestem ;)
Klient: (Środa 10.06.2009 20:34)
mozesz ją upublicznic
jebie mine to kim jestes, dla mine jestes 19 letnim dzieciakiem z materialnym podejsciem do kazdej sprawy
mozesz to smiało opublikowac
ostatni raz pytam – zmieniasz baze czy zostawiasz temat tak jak jest?
ja nie jestem wrózką
zeby przewidziec ze dotychczasowy serwer okaze się zbyt mały
?
ja kliknąlem EDYTUJ i strona znowu nie dziala – takze dla mnie jest to ewidentna wina skryptu
nikt Ci nie kaze tej strony przenosic, ale skrypt przy przenosinach MUSI dzialac
Ja: (Środa 10.06.2009 20:38)
ok, więc zaraz będzie działać
Klient: (Środa 10.06.2009 20:38)
do godziny 23:00 chcialbym miec dzialającą stronę
bez zadnych pierdolonych krzaków
i tylko o to Cie proszę
do uslyszenia

Ehh, idąc jego tokiem myślenia mógłbym w sumie go nająć by zagrabił mi liście na podwórku za darmo, w końcu chyba nie jest materialistą i nie liczy na to że mu za to zapłacę… Pozdrawiam i współczuję wszystkim, którzy muszą się użerać z takimi właśnie klientami ;)

Obrazki osadzone w jednoplikowym skrypcie php

Październik 18th, 2008 end 3 comments

Wstęp… ;)

Ostatnio pracuję nad projektem inferno – jedno plikowym systemem zdalnego zarządzania systemem, oczywiście na licencji GPL. Panel takiego skryptu musi ładnie wyglądać, a żeby ładnie wyglądał potrzebuje obrazków… Tylko jak tu teraz umieścić obrazki w jednym pliku z skryptem?

Okazuje się że to nie jest wcale takie trudne! Sposób podejrzałem w skrypcie c99shell. Wystarczy zakodować obrazki base64 i wstawić je do pliku php!:)
Wystarczy odpowiednia manipulacja funkcjami base64_decode oraz base64_encode.

No to zaczynamy!

Podstawą są same obrazki. Musimy je zakodować. Oczywiście, funkcją którą wykorzystamy do tego celu będzie base64_encode. Przyjmuję, że mamy plik graficzny w formacie gif o nazwie ‘ikonka.gif’.

$filename='ikonka.gif';
file_put_contents($filename.'base64.txt',
base64_encode(file_get_contents($filename));

Skrypt stworzy nam nowy plik – ikonka.gif.base64.txt, w którym to znajdziemy zakodowany nasz plik graficzny. Właściwie to już połowa pracy za nami :)

Teraz musimy zająć się skryptem, który ma obsługiwać ten obrazek. Przyjmuję, że skrypt jest w pliku skrypt.php, oraz obrazek będziemy chcieli wyświetlić poprzez skrypt.php?image=ikonka.

Na górze dokumentu dopisujemy więc:
if (isset($_GET['image']) && $_GET['image']=='ikonka') {
header('Content-type: image/gif'); //nasz plik był w formacie gif
echo base64_decode('MIEJSCE'); //tutaj umieszczamy "zakodowaną" zawartość pliku graficznego
exit(); //no i kończymy skrypt, bo obrazek już mamy!
}

I już mamy osadzony obrazek w skrypcie PHP :)

Więcej!

Zapraszam do pobrania skryptu Inferno, w którym można zobaczyć praktyczne i bardziej zaawansowane zastosowanie powyższej metody.

Good luck & have fun :)