pozmu.net::blog

Blog porzeraczamuzguw
Cze 22

Właśnie sobie uświadomiłem, że nie poleciłem tutaj jeszcze strony giveawayoftheday.com – a jest ona naprawdę warta polecenia. O co chodzi jakby? – jest to witryna na której codziennie można znaleźć jeden komercyjny program (najczęściej klasy shareware) dostępny za darmo. Gdzie jest haczyk? Program można ściągnąć i zainstalować tylko tego dnia. Niedozwolone jest również komercyjne wykorzystywanie tak zdobytych programów. Czy warto? Cóż, warto codziennie zajrzeć na tę stronę i zobaczyć, co dziś akurat ciekawego dają. Jakościowo wypada to bardzo różnie – od niemal bezwartościowych aplikacji, które ustępują możliwościami freewarowym odpowiednikom do programów całkiem niezłych, choć raczej niezbyt szeroko znanych. Strona ma też sekcję „game” gdzie codziennie oferowana jest darmowa gra. Wszystko byłoby dobrze, gdyby nie fakt, że gry te są zazwyczaj prostymi logiczno-zręcznościowymi gierkami a nie grami w pełnym tego słowa znaczeniu, no, może z policzalnymi na palcach jednej ręki wyjątkami.

Cze 19

Kiedyś robiłem trochę w PHP. Wszystko było fajnie i w ogóle, do momentu, gdy usłyszałem o sql injection. Padł blady strach, przetestowałem jedną z moich witryn i okazało się, że jest na to podatna. Zacząłem szukać jakiegoś rozwiązania ale prawdę mówiąć kiepsko mi szło… w końcu skleciłem funkcję która, jak mi się wydawało, dawała pełne bezpieczeństwo. Okazuje się jednak, że to zabezpieczenie można było łatwo obejść… na szczęście w owych czasach chyba nikt na to jeszcze nie wpadł. Anyway, jeśli chcecie się dobrze zabezpieczyć to znalazłem takie coś:

Zastosowanie:
// Przyjmujemy, dla przykładu:
$_POST['uid'] = 1;
$_POST['name'] = 'Łukasz "anAKiN" Lach';
$_POST['username'] = 'anakin';
$_POST['password'] = 'an4kin';
$_POST['newsletter'] = 1;

$sql = SQL('INSERT INTO users (id, uid, name, username, password, newsletter) '.
'VALUES (NULL, %d, %s, %s, %s, %b)', $_POST['uid'], $_POST['name'],
$_POST['username'], md5($_POST['password']), $_POST['newsletter']);

Wynikowa wartość (zapytanie wynikowe):
INSERT INTO users (id, uid, name, username, password, newsletter)
VALUES (NULL, 1, "Łukasz \"anAKiN\" Lach", "anakin",
"97296eca657a093aa379778c237e292d", 1)

Autor: Łukasz Lach.
To co mi się podoba w tym rozwiązaniu to bardzo ładna konstrukcja funkcji, emulująca znaną programistom składnię i ograniczająca kłopotliwość definiowania typu przekazywanych do bazy danych do minimum. Jednocześnie, jako że wszystko dzieje się tuż przed wysłaniem do bazy łatwo sobie przyswoić nawyk stosowania tej funkcji zamiast „gołego” zapytania SQL.

Cze 15

Niestety, jak widać od kilku dni na blogu cisza. Powód? Problem z WordPress, czyli oprogramowaniem na którym stoi ten blog. Przestał mi działać wizualny edytor… w Operze, w IE działa. Naprawdę jest to dziwna sprawa, bo nic nie zmieniałem w konfiguracji, po prostu przestał działać z dnia na dzień. Dla testu zaintstalowałem jeszcze jedną kopię WordPress (na serwerze gdzie stoi m.in. web proxy) i ta działa bez zarzutu. Ciekawe jak długo… Anyway, problem zgłosiłem autorom, ale czy doczekam się jakiejś pomocy to inna sprawa.

Cze 7

Konkretnie SnagIt, wersja 7.2.5. Bardzo dobry program do łapania screenshotów. Rejestrujemy go tutaj , a sam program zasysamy stąd.

Cze 6

Raz już o tym było, no ale jest tego więcej i równie zabawne:

With Penis Enlarge Patch your penis can link the two Americas.
(„z naszym lekarstwem twój penis będzie tak długi, że będzie mógł połączyć obie Ameryki)
Since the ancient times men were trying to enlarge their dicks. Today we created Penis Enlarge Patch especially for you.
(Od czasów starożytnych mężczyźni próbowali powiększać swoje ptaszki. Dziś stworzyliśmy nasz specyfik specjalnie dla ciebie)
If penises could talk, they would definitely ask you to order Penis Enlarge Patch.
(Jeśli penisy potrafiłyby mówieć, z  pewnością poprosiłyby ciebie o zakup naszego specyfiku)
The owners of big penises are the owners of the world – try Penis Enlarge Patch.
(Posiadacze dużych penisów rządzą światem – spróbuj naszego specyfiku)

Wszystko to leci od jednego spamera, widać człowiek jest niespełnionym copywriterem 😉
P.S. Jakby ktoś potrzebował linka to proszę się nie wstydzić 🙂 i przesłać zapytanie.

Cze 5

Taka sobie oferta – każdy może dostać:
Full cPanel Hosting!
200 MB Space (upgraded to 5000 MB after 1 year)
Unmetered Traffic
Unlimited Subdomains
Unlimited Email Accounts
Hosting for 10 Domains (upgraded to Unlimited Domains after 1 year)
MySQL, PHP
Fantastico Deluxe (40 scripts, one click install)
na okres jednego roku. Haczyk? Co najmniej dwa. Po pierwsze, firma nie wygląda zbyt solidnie. Po drugie, aby sobie taki hosting założyć należy posiadać konto Paypal i przypisaną do niego kartę (po roku trzeba będzie zapłacić albo zrezygnować). Anyway tutaj jest link

Cze 3

Można wygrać Ipod-a albo 79$. Wystarczy umieścić na swojej stronie linka do tej strony. Rozwiązanie będzia miało miejsce ok. 1 lipca. Powodzenia 🙂

Cze 2

Ok, jak wiadomo od którejś tam w wersji w PHP wyłączone jest domyślnie register_globals, co zmusza nas do korzystania ze zmiennych zawartych w tablicach typu _POST, _GET itp. co nie jest fajne. W wielu przypadkach można to zmienić ingerując w ustawienia serwera, co często da się osiągnąć nawet z poziomu skryptu PHP. Jednak jest to o tyle niefajne, że nie zawsze się to da zrobić. Rozwiązanie:

if (!ini_get('register_globals')) {
while (list($key, $val) = @each($_GET)) $GLOBALS[$key] = $val;
while (list($key, $val) = @each($_POST)) $GLOBALS[$key] = $val;
while (list($key, $val) = @each($_COOKIE)) $GLOBALS[$key] = $val;
while (list($key, $val) = @each($_FILES)) $GLOBALS[$key] = $val;
while (list($key, $val) = @each($_SESSION)) $GLOBALS[$key] = $val; }

Należy coś takiego umieścić na początku naszego pliku ze skryptem i powinien on bezproblemowo działać nawet przy register_globals 0. Najłatwiej zapisać to w oddzielnym pliku i dołączać na początku skryptów za pomocą instrukcji include().
(znalezione na ldev.com/forums)

Cze 1

Google Adwords, zakładanie konta, edycja danych… niby nic takiego, a ile serca autorów włożonego – proszę, jak bardzo zapewniają nas o swoich dobrych intencjach 😉

Google Adwords zapewnia