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
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.
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.
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.