piątek, 29 maja 2009

skrypt FTP . BAT w windows

w shellu windowsa dziala nast. skrypt

ftp -i -s:plik.txt

-i - oznacza aby nei pokazywal odpowiedzi serwera
-s - odpal nastepujące komendy z pliku.txt

plik.txt:

open adres.domena.com.pl polaczenie z adresem
username np.anymous
password np.123
cd /sciezka
put 1.in kopiuj na serwerjakis plik
quit " ew. komenda bye

poniedziałek, 25 maja 2009

RSS reader w PHP + AJAX

Własny czytnik RSS:


Nie ma to jak dziwne technologie
Ajax jest jedną z takich technologii.
Jest to metoda na komunikacje strony HTMl ze
skryptami JAVASCRIPT i potem wrzucanie w HTML
wyników.Powstał ponieważ sam HTML jest zbyt ubogi
dla stron internetowych.

1. wyświetlamy HTML:
w niego wrzucamy select'a z jedna z option value np
"magiczny_krakow"
2.dajemy calemu selectowi atrybut showwRSS(this.value)
3.teraz pozostaje wywolac JAVASCRIPT ktora odpala PHP z
_GET["q"]="magiczny_kraków"
4.zwrócić wynik do orginalnego HTML

PHP najpierw tworzy nowy dokument DOM:
$xmlDoc = new DOMDocument();
$xmlDoc->load(http://www.krakow.pl/komunikaty/rss/rss_krakow.xml);



Kanał RSS to po prostu XML ktory ma nastepujące atrybuty:
<item>
  • title
  • link
  • description
</item>
Które można zczytać następująca skladnia:
$x=$xmlDoc->getElementsByTagName('item');
for ($i=0; $i<=5; $i++)
{
$item_title=$x->item($i)->getElementsByTagName('title')
->item(0)->childNodes->item(0)->nodeValue;
$item_link=$x->item($i)->getElementsByTagName('link')
->item(0)->childNodes->item(0)->nodeValue;
$item_desc=$x->item($i)->getElementsByTagName('description')
->item(0)->childNodes->item(0)->nodeValue;



czwartek, 21 maja 2009

Zip Archiver compression comparison

Dziś porównywałem
jakość kompresji poszczególnych archiwerów pod UNIXEM
najlepiej wypadł oczywiście 7z,
co ciekawe z opcja mx1 - fastest - ma zdecydowanie najlepszy Size/Time ratio.
Bije na głowe inne archiwizery : np. nieszczęsnego RAR.

compression comparison

Jak widac opcja mx9 - najmocniejsza kompresja jest tylko dla masochistów
,którzy lubią ogrzewać, pomieszczenia komputerami zamiast grzejnikami.

wtorek, 12 maja 2009

Session Adoption - walka z porywaniem sesji

Ostatnio doszły mnie słuchy ze cześć skryptów jest niezabezpieczona przed adopcja sesji.
Adopcja sesji - umieszczanie własnej (użytkownika) sesji w magazynie danych.
Oto jak się zabezpieczyć:



session_start();

if (!isset($_SESSION['our_own']))

{

session_regenerate_id(true);

$_SESSION['our_own'] = true;

}

Innymi słowy serwer akceptuje tylko sesje stworzone przez system (samego siebie).
  • session_regenerate_id(true) - mówi serwerowi aby utworzył nową sesje(z nowym id) a starą usunął - za to odpowiada argument true.


piątek, 8 maja 2009

moja pierwsza CAPTCHA

CO to jest captcha??
Każdy kiedyś widział napis "przepisz kod z obrazka"
w założeniu jest to zabezpieczenei przed robotami spamującymi
malymi programikami które rozsyłają tysiące maili ze strony ofiary.

Dlaczego używamy?
Program komputerowy nie umie rozróżniać obrazów tak dobrze jak człowiek.
Więc chcąc mieć pewność ze to człowiek a nie skrypt wysyła maila
dodaje się identyfikacje na podstawie.... captcha.

Ale:
Można nauczyć komputer rozróżniania obrazków - jest wiele metod,
m. in.:
  • OCR.
  • Sieci nauronowe i
  • Programy uczące się AIcaptcha
  • Gotowe skrypty np. PWNtcha
  • używa się też taniej siły roboczej: np Indie, albo użytkownicy porno

O co chodzi?
Cały pic polega na tym, aby obrazki jakie należy wpisywać były łątwe do odczytania przez ludzi i jednocześnie trudne do złamania przez program.


Na stronie porneL jest dobrze opisane o co chodzi z tymi  capchami.
Poniżej kilka moiuch pierwszych captchy:




jak widać jeszcze trzeba bedzie wiele poprawić,
  • m. innymi: zwiększyć róznice polożenia czcionek
  • zaimplementowac nakladanie sie czcionek
  • większe obracanie liter
Niektórzy zamiast captcha używają filtrów antyspamowych,
jest to lepsze rozwiązanie - nie stresuje użytkowników.
Oto link do jednego z nich:
SBLAM



Na koniec:


Nieco humoru ze strony http://www.handrooster.com/2007/04/27/im-a-bot/

czwartek, 7 maja 2009

Kompilacja php pod windows

Kompilowanie do  plików wykonywalnych . exe kodu php jest możliwe na kilka sposobów:
ja polecam phc-win

cechy charakterystyczne:
wiekszosć kompilatorów łączy kod PHP z php5.dll , niektóre jak PriadoBlender nawet szyfrują nasze źródło - aby utrudnić odwrotną inżynierię oprogramowania. PHC-win zamienia kod php na kod binarny, no i jest łatwy w użyciu.