Thursday, March 5, 2009

Resavanje problema sa nezeljenim znacima na web strani.

Par puta mi se ranije desilo da mi se ponekad nakon nekog brzog editovanja nekog malog detalja na strani i uploada na server stranica "zabrljavi" nekim cudnim znakovima, a koji se ne vide u obicnim editorima. Nemanja Avramovic mi je dao odgovor na pitanje zasto je to tako. Dakle rec je najcesce o takozvanom "bom signature". Dakle sta ciniti, pa nista, obrisati ih, najprostije zar ne, obzirom da se oni uvek nalaze na pocetku strane (ili ako se pokazu u delu gde inkludujete neku skriptu svoju znaci da su u njoj) samo otvorite skriptu nekim od hex editora i pronadjete ga i obrisete rucno, i sacuvate svoju skriptu. ;)

Kako god, to ne mora uvek biti razlog zbog kojeg se neki karakteri nasi poput slova: ž, ć, č, š, đ cudno vide na vasoj strani. To se moze desiti ako browser ne detektuje charset koji ste mu postavili u samoj strani, ili je postavljen na neki drugi razlicit od utf-8 charset-a.

Resenje za ovo je ili da postavite rucno svakoj strani charset encoding na utf-8 ili da za sve strane odjednom postavite u svom php.ini fajlu default charset jer je cesto podesen na iso-8859-1 a vama treba utf-8. 

Dakle u php.ini fajlu pronadjite liniju koda koja izgleda ovako:
default_charset = "iso-8859-1" i mozete ili da je komentirate ovako:
;default_charset = "iso-8859-1" i dodate novu liniju koja bi izgledala ovako:
default_charset = "utf-8"
... i sacuvate svoj php.ini fajl, uploadujete opet na server u istom direktorijumu gde su vam je sajt i vidite da li je sve ok. ;)



Friday, January 9, 2009

Pauza za kafu

Heh, slucajno videh ovaj video koji je postovala jedna prijateljica na www.inter-caffe.com -u i pomalo se i zabrinuh za sebe, jer sam se prepoznao donekle :)

Wednesday, January 7, 2009

Koriscenje MD5 funkcije za sifrovanje stringova (najkorišćenije za lozinke)

Često je poželjno (da ne kažem neophodno) kako bi omogućili recimo korisnicima sajta privatnost što se tiče recimo njihovih lozinki. Konkretno, ukoliko bi neko upao na vaš sajt i ukrao recimo bazu podataka koju koristite da čuvate podatke o korisnicima vašeg sajta, i u njoj su smeštene recimo email adrese i lozinke korisnika sajta, e sad, ljudi često koriste iste lozinke za više sajtova, i ukoliko neko dodje do tih podataka može recimo da im stvori probleme ili sl.
Medjutim! Ukoliko neko dodje do email adresa recimo i šifrovanih lozinki to neće moći da zloupotrebi.

Kako možemo da iskoristimo recimo MD5 funkciju za šifrovanje lozinki?
Lepo, možemo da stavimo da se podaci za lozinke md5-uju prilikom registracije korisnika, i da kad se unose podaci pri logovanju da se opet md5-uju kako bi se uporedjivali sa onim u bazi.

md5 funkcija se lako koristi:

(primer je za php)
[code]...
/* $lozinka je promenjiva kojoj dodeljujemo vrednost prosledjen preko POST metode iz forme u kojoj je uneta lozinka */
$lozinka = $_POST["lozinka"]; //stara lozinka
$sifrovana_lozinka = md5("$lozinka"); //nova lozinka (sifrovana)
...
[/code]
...i sad, ukoliko bi neko preko forme za unos lozinke uneo za svoju lozinku "123" (bez navodnika) njegova lozinka nakon šifrovanja bi bila "202cb962ac59075b964b07152d234b70" (bez navodnika) i takav podatak sačuvamo za lozinku korisnika u bazi umesto sa nezaštićenom "123".

Naravno, da bi mogli da se ulogujete morate da uporedjujete opet md5-ovane stringove kad korisnik sa lozinkom "123" pokusa da se uloguje.

Sunday, January 4, 2009

SRECNA NOVA 2009.

Srecna svima nova 2009. godina, i u njoj kako meni jedna prijateljica lepo rece, zelim da vam srce, novcanik i krevet nikad ne budu prazni ;)

Monday, December 29, 2008

Tabela precica specijalnih karaktera!

Cesto mi se desi da zaboravim koja je precica nekog specijalnog znaka, na to mislim precica kad drzite pritisnut taster alt i kucate kod na numerickoj tastaturi, tabelu sa datim znakovima mozete naci OVDE

Saturday, July 12, 2008

Nova pdf verzija tutorijala!

Ovde se nalazi bolje objasnjena, pdf verzija tutorijala za D4PHP.

Kao i tekst ovde moze se distribuirati ali se ne sme prodavati i predstavljati kao svoja bez saglasnosti autora tj. mene :)

PDF verziju mozete preuzeti OVDE!

Sunday, December 23, 2007

Logovanje i ogranicavanje pristupa!

Logovanje i ogranicavanje pristupa!



Pozdrav evo me kao sto sam i obecao, nastavljam sa tutorialom. Kao sto i sami znate cesto se javlja potreba da korisnicima ogranicite pristup pojedinim delovima vaseg sajta. Kako to mozemo da uradimo, pa lepo mozemo tako sto cemo da proverimo da li je onaj koji zeli da pristupi nekom delu sajta koji smo zastitili registrovan clan na nasem sajtu (kasnije cemo da vrsimo podelu i po jos nekim kriterijumima) ;)


Za registraciju, tj. dodavanje clanova mozete da iskoristite post "Dodavanje podataka u bazu".


Kako da proverimo da li je neko ko pokusa da pristupi nekom delu sajta zaista u nasoj bazi clanova?


Pa lepo koristicemo filtriranje baze, i ukoliko taj neko ko pokusa da se uloguje i unese prave podatke koje trazimo od njega (korisnicko ime i lozinku) i ukoliko je jedinstven onda cemo da ga izvrsimo neku akciju, u suprotnom poslacemo mu neko obavestenje da ne moze da pristupi.


Kako to izgleda?


Evo ovako, postavicemo na formu 2 edit boksa i u properties-u prvom cemo staviti ime (name) ProveriIme a drugom ProveriLozinku.


Postavicemo i jedno dugme, nazvacemo ga LogInButton i isprogramiracemo.


function LogInButtonClick($sender, $params)

{

$con = mysql_connect("localhost", "", "");

if (!$con) {

die('Ne moze da se uspostavi veza ' . mysql_error());

}

$db_selected = mysql_select_db("Korisnici",$con);

$sql = "SELECT KorisnickoIme FROM TabelaKorisnici WHERE KorisnickoIme = '".$this->ProveriIme->Text."' AND Lozinka = '".$this->ProveriLozinku->Text."'";

$result = mysql_query($sql,$con);

if (mysql_num_rows($result) == 1)

{

echo 'ULOGOVAN';

mysql_close($con);

exit;


}

else

{

echo 'LOSI PODACI';

mysql_close($con);

exit;

}



Sta radi ovaj kod?


Dakle, prvo se konektujemo na bazu podataka u koju su korisnici, i sql upitom vrsimo proveru (filtriranje), da li se uneti korisnik nalazi u bazi.


Kad se filtriranje zavrsi proveravamo koliko ima rezultata, ako je pronadjen korisnik u bazi koji ima trazeno korisnicko ime i lozinku koja odgovara tom imenu onda u mom primeru stampam za rezultat komentar "Ulogovan" a ako su uneti podaci pogresni stampamo za rezultat "Losi podaci".


Naravno vi mozete da stavite nesto drugo, tipa stavite redirekciju na odredjen deo, ili sl. igrajte se malo ovim, eksperimentisite...