Archive

Archive for January, 2007

FreeBSD 6.2

January 18th, 2007 No comments
Wyszło nowe FreeBSD 6.2. Mniam! Jak przystało na nowe wydanie mamy: poprawki bezpieczeństwa, upgrady sterowników, nowe wersje portów (np: KDE 3.5.4). A czytając Release Notes dowiedziałem się, że FreeBSD można uruchomić na XBOX. Pozdrawiam
Categories: FreeBSD Tags:

FormChek, walidacja numeru karty kredytowej w JavaScript

January 16th, 2007 No comments
Witam, Znalazłem bibliotekę JavaScript do walidacji danych – FormChek.js (np. numery karty kredytowej). Mam do niej od razu patcha, gdyż mi nie działało.
 // BOI, followed by an optional + or -, followed by one or more digits,
 // followed by EOI.
-var reSignedInteger = /^(+|-)?\d+$/
+var reSignedInteger = /^([-+])?\d+$/


 // BOI, followed by one of these two patterns:
@@ -208,7 +208,7 @@
 // (a) one or more digits, followed by ., followed by zero or more digits
 // (b) zero or more digits, followed by ., followed by one or more digits
 // ... followed by EOI.
-var reSignedFloat = /^(((+|-)?\d+(\.\d*)?)|((+|-)?(\d*\.)?\d+))$/
+var reSignedFloat = /^((([-+])?\d+(\.\d*)?)|(([-+])?(\d*\.)?\d+))$/

 // BOI, followed by one or more characters, followed by @,
 // followed by one or more characters, followed by .,
W skrócie: wyrażenie (+|-) zastępuję ([-+]). Działa OK. Testowałem dla IE, Firefoxa, Opery i Konquerora.
Categories: JavaScript Tags:

Sesje, mod_rewrite i trochę PHP

January 9th, 2007 No comments
Czasami niestety zachodzi konieczność, przechowywania identyfikatora sesji w adresie URL. Ostatnio troszkę częściej – za sprawą nowych wymysłów w IE i problemu z ramkami. Dawno, dawno temu, gdy wymyślono ciasteczka, okazało się, że nie wszyscy je lubią. Niektóre języki programowania WWW umożliwiały więć przechowywanie ciasteczka (identyfikatora sesji) w adresie URL. I tak na przykład PHP, po wprowadzeniu zmian w konfiguracji:
session.use_cookies 1
session.use_only_cookies 0
session.use_trans_sid 1
url_rewriter.tags "a=href,area=href,frame=src,input=src,form=,fieldset="
przed wypluciem strony modyfikuje wszystkie linki znajdujące się na stronie doklejając identyfikator sesji jako parametr zapytania. To działa, ale nie zawsze. Gdy na stronie jest dużo JavaScriptu, konieczne jest inne rozwiązanie. Proponuję coś takiego: 1. Modyfikukejemy adres URL, ale zamiast parametrów modyfikujemy ścieżkę, np.:
index.php?PHP_Session=XXX
/PHP_Session.XXX/index.php
Możemy to zrobić na przykład poprzez Header( "Location: ..." ); 2. Piszemy odpowiednie regulu dla mod rewrite:
RewriteEngine On
RewriteRule ^(.*)(PHP_Session\.([^/]+))/(.*)/(.*) $1$4/$5 [L]
RewriteRule ^(.*)(PHP_Session\.([^/]+))/(.*) $1$4?PHP_Session=$3&%{QUERY_STRING} [L]
oraz wyłączamy niepotrzebne już nam trans_sid. I to wszystko. Dzięki temu nasz identyfikator sesji będzi wisiał jako część adresu URL. Paskudne (patrz XSS), ale czasami nie da się zrobić nic lepszego.
Categories: PHP Tags:

screen

January 2nd, 2007 3 comments
Wstyd się przyznać, ale dopiero dziś nauczyłem się screena. A pomocną mi była ta strona:screen i inne. W skrócie: screen, ctrl+a pózniej c, ctrl+a później n.
Categories: Linux Tags: