luty 11, 2007 at 1:43 pm · Filed under Siedlecki Informator Kulturalny
No i galeria zrobiona. Co prawda jest to jedynie pierwsza wersja, którą mam zamiar jeszcze sporo ulepszyć i wprowadzić kilka poprawek, jednak najważniejszą funkcję już ma: wyświetlają się zdjęcia. Na razie jest tylko galeryjka z jednego koncertu, ale w najbliższym czasie postaramy się dodać więcej zdjęć.
Zapomniał bym… Galerię można podziwiać pod adresem: www.kultura.siedlecka.pl/galeria.
luty 4, 2007 at 11:13 am · Filed under Blog, WordPress
Jakiś czas temu Emila na swoim blogu opublikowała notkę, w której narzekała na spam przychodzący na jej bloga. Biorąc pod uwagę, że ja też ostatnio dostaję go masę, postanowiłem coś z tym zrobić.
Kilka dni temu, zacząłem przerabiać swojego bloga oraz logować wszystkie zapytania POST na niego wysyłane. Po analizie danych wysyłanych przez boty postanowiłem wprowadzić dwa zabezpieczenia: zabezpieczenie zrobione specjalnie na boty spamujące wordpressy, oraz zabezpieczenie na “całą resztę”. Okazało się, że skuteczność rozwiązań, które wprowadziłem jest 100% (od kilku dni nie dostałem ani jednego spamu). Dodatkowo są one przezroczyste dla użytkownika i nie używają żadnych filtrów, które mogły by przypadkowo skasować “dobry” komentarz.
Zabezpieczenie na boty Wordpressowe
Okazało się, że większość botów wysyłających spam tylko na blogi “napędzane” skryptem Wordpress jest dość głupia. Wchodzą one na stronę komentarzy i wysyłają standardowe zapytanie POST dla wordpressa, nie patrząc nawet w jaki sposób formularz jest zbudowany. Dlatego aby pozbyć się tego robactwa wystarczyło zmienić nazwy pól w formularzu. Tym samym zapytanie POST wysyłane przez boty stało się niepoprawne i można je łatwo wyfiltrować.
Zabezpieczenie przeciwko “całej reszcie”
Całą resztę też dosyć łatwo oszukać. Ja zrobiłem to w następujący sposób: skopiowałem pole, w którym wpisuje się treść komentarza. Dałem mu atrybut display: none i opis (dla przeglądarek tekstowych): to pole pozostaw puste. W oryginalnym polu zmieniłem nazwę na “spam”. Jak to działa?
Większość botów wypełni wszystkie pola, łącznie z tym którego zwykły użytkownik nie wypełni, bo albo go nie zobaczy, albo przeczyta opis “tego nie wypełniaj”. Wszystkie te boty można z łatwością wyfiltrować. Co bardziej cwane boty mogą “nauczyć” się takie zabezpieczenie omijać. To właśnie dlatego pole, w którym trzeba wpisać treść komentarza ma prowokacyjną nazwę “spam”. Jeśli bot będzie miał jakieś pole ominąć, to być może ominie właśnie te i czeka go “muka”.
Życzę powodzenia w zabezpieczaniu własnych blogów. Możecie oczywiście zastosować filtry. Ja je jednak niezbyt lubię.
luty 2, 2007 at 3:02 pm · Filed under Linux
Co to jest? Otóż jest to ta cała maszyneria, która uruchamia się gdy wciśniesz klawisz [tab]. Po co to? To chyba jasne jak słońce, aby odciążyć palce użytkownika od pisania ogromnych ilości tekstu. Ale zacznijmy od początku.
Większość ludzi, korzystających z komputera, można podzielić na dwie grupy: tych, którzy klepią w terminalu długie i niezrozumiałe komendy oraz tych, którzy nie wiedzą, dlaczego Ci drudzy nie użyją myszki. Lub inaczej: tych, którzy wiedzą jak używać shella oraz znają jego moc oraz tych, którzy są w tej kwestii jeszcze laikami.
Co takiego fajnego jest w pisaniu “długich niezrozumiałych komend”? Chyba to, że jedna taka komenda może Ci zaoszczędzić kilka minut lub nawet godzin klikania myszką, na pewno też to, że nie jest taka niezrozumiała gdy spróbujesz ją pojąć oraz to, że staje się o wiele krótsza gdy użyjesz do tego [tab]a!
Jak działa [tab]? Gdy piszesz jakąś komendę w shellu, możesz w wielu momentach wcisnąć [tab], wtedy komputer postara się dokończyć za ciebie komendę lub podpowiedzieć Ci jakie masz możliwości. Nie powinniśmy oczekiwać cudów, to tylko maszyna. Jednak gdy wiemy kiedy użyć [tab]a, może nam to zaoszczędzić zarówno czasu, jak i zbędnego tłuczenia w klawisze. Powszechne jest dopełnianie [tab]em nazw programów oraz plików, ale nie każdy wie, że [tab] ma o wiele większe możliwości. Poza tym możemy dodawać własne (o czym być może kiedyś napiszę). Ujarzmijmy więc te możliwości na Debianie (dystrybucja, z której w tym momencie piszę).
Najpierw sprawdzimy czy potrzebny nam skrypt jest już w systemie (w Debianie z tego co wiem jest domyślnie):
tomwys@tom:~$ whereis bash_completion
bash_completion: /etc/bash_completion.d /etc/bash_completion
tomwys@tom:~$
Skrypt, który nam jest potrzebny, to /etc/bash_completion. Dodajemy więc wczytywanie go do ~/.bash_profile:
tomwys@tom:~$ echo '. /etc/bash_completion' >> ~/.bash_profile
Odpalamy nowy terminal i już możemy się cieszyć z nowych możliwości. Podajmy przykład (listing pierwszy to wciskane klawisze, drugi to rezultat na ekranie):
apti[tab][tab][tab]i[tab]bas[tab][tab]h[enter]
tomwys@tom:~$ aptitude
autoclean forbid-version purge unhold
changelog forget-new reinstall unmarkauto
clean hold remove update
dist-upgrade install search upgrade
download markauto show
tomwys@tom:~$ aptitude install bas
base bash bash-minimal
base-config bash-builtins bash-static
base-config-skolelinux bash-completion basket
base-files bashdb bastet
base-passwd bash-doc bastille
tomwys@tom:~$ aptitude install bash
Reading package lists... Done
Building dependency tree... Done
Reading extended state information
Initializing package states... Done
Reading task descriptions... Done
Building tag database... Done
E: Could not open lock file /var/lib/dpkg/lock - open (13 Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
tomwys@tom:~$
Gdyby nie [tab] musieli byśmy najpierw dowiedzieć się jaki program jest nam potrzebny, jakie ma parametry i jaki pakiet chcemy zainstalować. Poza tym musieli byśmy wcisnąć 22 klawisze. Tak mając szczątkowe informacje wprowadziliśmy naszą komendę i wcisnęliśmy tylko 16 klawiszy. Gdybyśmy wiedzieli od razu o co nam chodzi, wystarczyło by wcisnąć 12 klawiszy:
apti[tab]i[tab]bash[enter]
Zyskalibyśmy wtedy aż 10 klawiszy, to prawie połowa! A zyski będą się pojawiać przy wielu programach. Rozwiązanie to najlepiej jest wypróbować samemu. Życzę milej zabawy.