PHP Security Tools

Najefikasniji način da osigurate Vašu PHP aplikaciju je pažljivo kodiranje i stalni nadzor aplikacije, međutim postoji par alata koji vam taj posao mogu znatno olakšati i brže vam ukazati na moguće ranjive tačke vašeg koda. Evo nekih alata koji vam mogu biti od koristi:

– PhpSecInfo

PHP Security Post Image

Ovaj skript radi pod PHP okruženjem, i što je najbolje od svega, nudi sugestije za ispravljanje nađenih propusta. Dostupan je pod “New BSD” licencom, i uvijek traže nove PHP developere za pomoć na razvijanju ovog odličnog alata.

PHP Security Post Image

Download PhpSecInfo.

– PHP Security Scanner

Ovaj alat će skenirati Vaš PHP kod tražeći sigurnosne propuste, a može skenirati i čitav direktorijum.  PHP Security Scanner posjeduje koristan korisnički interfejs (UI) koji omogućava bolji pregled problema, podržava i “wild card search” za bolje filtriranje i pronačaženje fajlova ili direktorijuma koje treba provjeriti.

Download PHP Security Scanner

– Spike PHP Security Audit Tool

Spike PHP Security Audit Tool je open source rješenje za analizu PHP koda. On će naći sigurnosne propuste u vašoj aplikaciji, tako da ih možete ispraviti tokom razvoja iste.

PHP Security Post Image

Download Spike PHP Security Audit Tool

Apple Safari 4

Safari
Apple je predstavio novu verziju svog browser-a, Safari 4.

U odnosu na verziju 3 dosta toga je promenjeno. Najbitnije promene su:

Top Sites

Top Sites

Zahvaljujuci Top Sites-u možete uživati u u prelepom preview-u vaše omiljene stranice.

Safari 4 prati sajtove koje najviše posećujete i na osnovu toga postavlja vaše omiljene na Top Sites preview panel.Na jednoj strani je moguće prikazati do 24 umanjena preview-a omiljenih web stranica.

Takodje mozete podešavati prikazivanje vaših omiljenih sajtova, kao i njihovu poziciju.

Ukoliko je došlo do promene sadržaja na vašem omiljenom web sajtu imate mogućnost osvežavanja prikaza istog.

Cover Flow

Coverf Flow

Cover Flow je nešto novo na Safari-ju. On služi za vizuelan prikaz web sajtova koje ste posetili i bookmark-ovali.

Na ovaj način imate kompletan preview web sajtova, koji izgledaju upravo onako kao poslednji put kada ste ih posetili.

Ovakav naci pretrage je veoma efektivan i koristi se u saradnji sa History opcijom. Za pretragu možete koristiti direkcione tastere (back i forward) ili ih pretraživati iz side-bara sa leve strane.

Tabs on Top

Tabs

Tabovi su jako korisna opcija u browser-ima, jer vam omogućavaju pregled stranica u jednom prozoru, umesto da otvarate više pojedinačnih browser-a.

Safari se odlučio za postavljanje tabova na vrh, kako bi dobili što više prostora za pregled sadržaja sajtova (istu politiku ima i Google Chrome).

Full History Search

History

Safari je uveo novi naci pretrage istorije sajtova koje ste posetili. U kombinaciji sa Cover Flow-om dobijate mogućnost da pretražujete

web sajtove na veoma jednostavan i vizuelno atraktivan način.

Potrebno je ukucati reč ili frazu u Search polju u Top Sites polju i dobićete listu mogućnosti za pretragu, pomoću koje je čak moguće

pretraživati i fotografije na prethodno posećenim sajtovima.

Treba napomenuti da verzija Safari 4 koristi Windows Native Look, kao i Windows standardne fontove. Naravno moguće je koristiti i Apple fontove.

Za sve dodatne informacije, kao i download Safari 4 beta browser-a možete posetiti zvaničan Apple website

Izvor: Apple

Moć marketinga

Google je najavio vlastiti OS. I odmah su se svi digli na noge. Ajme, gotovo je! Microsoft će propasti, Apple će propasti, Google Chrome OS je budućnost svih nas! Pozdravimo svi našeg novog digitalnog vladara prije nego nas vrijeme pregazi i prestanemo biti cool!! No, što je tako revolucionarno u Googleovoj najavi? Zapravo, baš ništa.

Radoslav Dejanović

Izvor: Monitor.hr

google chrome

Moć marketinga je strašna. Mnogi mlad i inteligentan inženjer, sa svojim proizvodom fantastičnih mogućnosti, pokleknuo je pred konkurentskim proizvodom, manje sposobnim ali puno više reklamiranim.

Google je najavio vlastiti OS. I odmah su se svi digli na noge. Google! Onaj Google? Da, onaj Google! Rade OS! Ajme, gotovo je! Microsoft će propasti, Apple će propasti, Google Chrome OS je budućnost svih nas! Pozdravimo svi našeg novog digitalnog vladara prije nego nas vrijeme pregazi i prestanemo biti cool!!

Tako nekako mogao bi se opisati hype nastao oko najave novog OS-a na tržištu. Dolazi Google i svijet operacijskih sustava više nikad neće biti isti. Novinari pišu, mediji prenose, blogovi zuje, komentatori komentiraju, geekovi sline, pa i obični ljudi – o tome čitaju.

No, što je tako revolucionarno u Googleovoj najavi? Zapravo, baš ništa. Riječ je o, zamislite, još jednoj Linux distribuciji. Da, Linux distribuciji. Istom onom Linuxu kojeg protivnici slobode softvera vole karakterizirati kao loš, ružan, prekompliciran i na njemu ne radi MS Office, dakle nešto neupotrebljivo i od toga treba bježati i općenito slobodni softver fuj, fuj.

Ali, kada se slobodnim softverom bavi Google, onda je to nešto cool, moćno, upotrebljivo, izvrsno.

To je snaga marketinga. Slobodni softver kao takav običnim ljudima ne izaziva znatiželju, ali kada se njime bavi brand Google, to je onda druga priča.

Google ima moć branda

Google OS (Chrome je browser) nije ništa drugo već još jedna Linux distribucija, na koju je nadodano grafičko sučelje, također bez nekih posebnih inovacija, a na to još i browser čija najveća tehnološka prednost je tzv. “sandboxing”, tj. kad vam se sruši prikaz jedne stranice, neće se srušiti prikazi drugih stranica. Tehnološki, zaista ništa novo pod kapom nebeskom.

Što Google OS donosi običnom korisniku? Jednu ključnu stvar: jednostavnost upotrebe. Iz nekog neobičnog psihološkog razloga korisnici će se dragovoljno ograničiti na predefinirani set mogućnosti ako im netko važan i bitan kaže kako je to najbolje za njih (da, pritom mislim prvenstveno na Apple!) i vjerovati da bolje od toga ne može biti. Ova priča mogla bi se ponoviti sa Google Linux distribucijom, jer za razliku od klasičnih distribucija, Google ima jednaku moć branda da uvjeri korisnike da je ono što dobivaju idealan paket skrojen upravo za njih.

Za početak, ovaj OS bit će dostupan na netbook računalima, gdje već ima konkurenciju Windowsa XP i drugih Linux distribucija. Ta hardverska kategorija idealna je za uvođenje novog OS-a jer su kupci svjesni hardverskih ograničenja i lakše prihvaćaju vezanje ruku. Osim toga, netbook računala iznimno su prenosiva i predstavljaju idealnu platformu za ideje koje pokušava progurati Google OS: web aplikacije i cloud computing.

Prednosti i mane ‘cloud computinga’

Ideja sa web aplikacijama je da iste budu negdje na Internetu, a sve što vi trebate imati je mogućnost spajanja na isti i već su vam na dohvat ruke. Cloud computing sve vaše podatke i resurse stavlja u imaginarni oblak, i sve dok ste u bilo kojem dijelu tog oblaka, vaši podaci i resursi su vam dostupni.

Priča budućnosti malo je umrljana recesijom, posebice u trenucima kada se šuška o uvođenju trošarina na mobitele, vjerojatno i na komunikaciju njima, zbog čega će i inače (ne samo kod nas) nimalo jeftino surfanje korištenjem davatelja GSM usluga – postati još skuplje. Što se cloud computinga tiče, njemu jednostavno – ne vjerujem. Ideja da moji podaci budu pospremljeni ili obrađeni na nekom potpuno nepoznatom mjestu identična je ideji da plaću umjesto banci povjerim grupi kamatara.

No, Google OS ima i nekoliko značajnih prednosti:

Snagom svog branda snažno će afirmirati slobodni softver. U najširoj populaciji nebitno je koliko je neko rješenje tehnološki dobro, bitno je koliko je ono cool i funky. Google je cool i funky. Google OS će biti cool i funky. Jedan mali dio tog hype-a prijeći će i na slobodni softver općenito.

Dobra vijest za zajednicu slobodnog softvera

Google će vjerojatno pokazati kako je moguće napraviti OS za netbooke kojeg će kupci prihvatiti jednako dobro ili bolje od Windowsa XP. Time će se razbiti još jedan mit da Linux na netbook računalima nije tako dobro rješenje kao XP. Pritom će Google koristiti svoj moćan marketinški stroj, nešto što druge tvrtke koje se bave slobodnim softverom nemaju ili si ne mogu priuštiti. A marketing je vladar tržišta, kako sam u uvodu napomenuo.

Najzad, Google bi mogao uspjeti u onome u čemu ostale Linux distribucije već godinama uspjevaju relativno loše – nagovoriti proizvođače hardvera da počnu intenzivno razvijati upravljačke programe za Linux. Za početak bit će to driveri za Google OS, ali kako je riječ o Linux kernelu, podrška za hardver postat će virulentna poput svinjske gripe, i upravljački programi počet će skakati sa distribucije na distribuciju. Unuar samo par godina jedna od najvećih boljki Linux distribucija – podrška za nove, cool uređaje – postat će prošlost. Proizvođači hardvera izdavat će paralelno drivere za Windowse i Google OS, tj. Linux.

U konačnici, Google OS nije toliko loša vijest za Microsoft, koliko je dobra za zajednicu slobodnog softvera.

Autor kolumne je jedan od vodećih domaćih informatičara i ekspert za slobodni softver, informatički novinar, bivši stručni savjetnik za informatiku u poglavarstvu Grada Zagreba i vlasnik tvrtke Operacijski sustavi.
Stare tekstove autora možete pronaći na njegovom osobnom blogu oddparity.org.

www.quietpc.com – preporuka

Samo sam želio da preporučim ovu online prodavnicu ukoliko nekome trebaju komponente za sastavljanje tihog računara. Kao što vidite po linku nema nikakvog referal broja ili nesto slično, jednostavno sam imao odlično iskustvo sa njima i to je sve. Za neke sitnije stvari postarina je 3-4 eura i znalo je da mi stigne u Podgoricu za 4 dana.

http://www.quietpc.com/me-en-eur/home

Preporuka.

http://www.quietpc.com
http://www.quietpc.com

Instalacija Apache, PHP, MySQL na vašem računaru

Odmah da kažem koga mrzi instalirati sve posebno i traži brzo rješenje najbolje je da ne čita dalje nego da preuzme neka od “Sve u jednom” rješenja koja će vam instalirati php, mysql i apache na računar. Neka od tih “rješenja” su WampServer ili XAMPP

Za ostale  potrebni su nam sledeći fajlovi :

apache 2.2.11

http://apache.deathculture.net/httpd/binaries/win32/apache_2.2.11-win32-x86-no_ssl.msi

PHP 5.2.10

http://yu2.php.net/distributions/php-5.2.10-Win32.zip

MySql 5.1.36

http://gd.tuwien.ac.at/db/mysql/Downloads/MySQL-5.1/mysql-5.1.36-win32.msi

Ovo je primjer mog računara :

default lokacija apache servera je

“c:\program files\apache group\apache2\” i u daljem tekst ću je nazivati “\apache\” . Isto tako važi i za php i mysql kome su default lokacije “c:\php” koju nazivam sa \php\, “c:\mysql\” koju nazivam sa \mysql\, isto tako ja sam koristio da mi je apache www folder (gde stoji sajt ) u “c:\www\“.

1.APACHE

Sama instalacija je trivijalna i ne treba je posebno objašnjavati, ostavite sve defaultne opcije prilikom instalacije. Poslije instalacije trebalo bi da se u tray icon bar -u (kod sata) pojavi apache SERVICE MONITOR sa kojim će se lako kontrolisati tj start-ćovati i stop -irati tada će apache biti instaliran kao service i svaki put kad restartujemo kompjuter i on će se pokrenuti.

Apache monitor
Apache monitor

2.PHP

Sadržaj arhive php-5.2.10-Win32.zip otpakovati u “C:\php\“. Unutra se nalazi fajl koji se zove php.ini-dist koga  treba prekopirati u “C:\windows\” folder i preimenovati ga u php.ini. Otvoriti php.ini sa omiljenim editorom, naći stavke: doc_root =, extension_dir = i extension=php_gd2.dll te ih prepraviti  da izgledaju ovako:

doc_root = “c:/www/”

extension_dir = “C:/php/extensions”

– treba skinuti znak  ;  ispred extension=php_gd2.dll

1.APACHE

zatim se vratiti na APACHE SERVER i otvoriti http.conf u c:\program files\apache group\apache2\conf\ folderu (ili Start->Program files->Apache HTTP Server… ->Configure Apache Server->Edit the Apache httpd.conf Configuration File)  i dodati mu sledeće linije na kraju :

ScriptAlias /php/ “C:/php/”
Action application/x-httpd-php “/php/php.exe”
AddType application/x-httpd-php .php

odmah prepraviti i :
DocumentRoot “C:/www”

i odmah ispod liniju :

zatim :
UserDir “My Documents/www”

i veoma važnu liniju DirectoryIndex , da izgleda ovako :

DirectoryIndex index.html index.html.var index.php index.phtml index.php3

posle ovoga apache je spreman treba napraviti folder u c:\ koji se zove www i treba restartovati apache iz SERVICE MONITORA ili restartovati računar.

TEST

napraviti fajl sa imenom index.php i u njega staviti

[c] <?php phpinfo(); ?>
[/c]

zatim pokrenuti firefox, operu ili šta već koristite i zahtjevati stranicu http://localhost

Ako je dosad sve prošlo u redu vidjećete rezultat funkcije phpinfo(), odnosno detaljan izvještaj o trenutnoj konfiguraciji php-a.

Rezultat funkcije phpinfo(); u browseru
Rezultat funkcije phpinfo(); u browseru

3. MYSQL

nema puno pametovanja oko mysql-a, next, next next, sve default opcije i odabrati root password na kraju. Ne bi bilo loše da skinuti phpMyAdmin i sa njime mijenjati mysql tabele.

KAKO KUPOVATI PREKO INTERNETA (ONLINE) U USA TRGOVINAMA

Autor: Morpheus

Amazon.com
Amazon.com

Zahvaljući povoljnom kursu dolara i eura (makar za nas Evropljane – znam da će se mnogi nasmijati na ovu tvrdnju – “za nas Evropljane”) mnoge stvari je isplativije kupovati preko interneta u američkim online shop-ovima nego kod domaćih trgovaca.

Dodatni razlog za ovaj odabir je i činjenica što se mnoge stvari kod nas ne mogu uopšte ni naći u trgovinama, a za dosta njih će vas još i praviti ludima tvrdeći da uopšte ni ne postoje -konkretno, moj slučaj trgovine AMD-ovog energy efficient procesora Athlon X2 4850E kojeg sam namijenio HTPC (Home Theatre) konfiguraciji i super-tihim Noctua ventilatorima za ThermalTake-ovo Mozart SX kućište za pomenuti HTPC.

Međutim, potencijalni kupci sa ovih prostora često će se suočiti sa problematikom da veliki broj USA-based online shopova robu uopšte ne isporučuje u Evropu, a kada to i rade često nema država – republika bivše Jugoslavije –  na spisku. eBay.com je takođe u najvećem broju slučajeva zatvoren za kupce sa ovih prostora, prvenstveno zbog činjenice da preko 90% sellera preferira pay-pal servis kao  način plaćanja.

No, ovome se problemu može “doaakati” uz upotrebu nekog od servisa za internacionalno prosljeđivanje pošte (international mail forwarding).

OSTATAK TUTORIJALA MOŽETE PROČITATI NA

http://www.blogovanje.com/matrix/komentari.php?id=167

Otkljucavanje modema Huawei e220

Soap on the roap :-)
Soap on the roap 🙂

Prije pocetka povezite i instalirajte E220 modem. Zatvorite web’n’walk Manager ili kako li se to vec zove kod vašeg provajdera

Kada ste to uradili, preuzmite ovu arhivu, otpakujte je i pokrenite “E220Update_11.117.10.00.00.B268.exe”.
Slozite se sa uslovima i kliknite next. Na sledecem ekranu kao na slici ispod NE KLIKAJTE NA NEXT NEGO NA CANCEL

Update - ne klikajte na next
Update - ne klikajte na next

Nakon ovoga pokrenite program QMAT.exe.

  • U meniju pod “hardware forensics” kliknite na “Use Com/USB port
  • Pod Serial port odaberite Vas modem tj COMxx – HUWAEI Mobile connect itd itd
  • Pod “select command” odaberite VERNUM i kliknite na dugme “Send CMD

  • malo sačekajte 🙂
  • Zatim u boksu ispod u padajucoj listi odaberite opciju “Read EFS” i kliknite na Lets go

Read EFS
Read EFS
  • pojavice se prozor koji vas pita gdje da sacuvate fajl. Odaberite folder gdje je i sam qmat.exe
  • Sam eksport ce malo potrajati i napredovanje mozete pratiti preko plavog progres bar-a
  • Rezultirajuci fajl će imati oko 32 MB i njega treba da otvorite programom HxD.exe koji se nalazi u istoimenom folderu
  • Kliknite CTRL + Fsearchhex
  • U polje “Search for:” unesite 53 64 2C 00
  • Pod poljem “Data type” odaberite HEX-values i kliknite na OK
  • U desnoj koloni pored pronađenog rezultata trebalo bi da stoji “Sd,.”  nakon nje ili ispod nje trebalo bi da se nalazi osmocifreni broj koji zapisujemo npr: 23445624searchhex2
  • Zatim pokrecemo program E220_SimLock_UnLock.exe i unosimo nađeni osmocifreni broj
  • Kliknemo Ok i to je to

Funkcija za provjeru email adrese

web-form_protectedEvo jedne veoma korisne funkcije kada radite sa email adresama koje unose Vaši korisnici pa stoga nikad nijesmo sigurni na sta ćemo naići u email polju. Inače sve ama bas SVE sto se unosi preko web formi pogotovo u janom dijelu sajta morate provjeriti. Javascript skripte za provjeru su korisne (sa stanovišta – user friendly interfejsa) ali ni izbliza dovoljne jer se lako zaobilaze od strane zlonamjernih korisnika. Sve bitne, ma uostalom sve podatke morate provjeriti i na serverskoj strani.

Funkcija ispod provjerava validnost email adrese i od ostalih koje “kruže” okolo razlikuje se po korišćenju DNS lookups za MX i A zapise (ovo mislim da radi samo na Linux/Unix serverima pa ako je vaš hosting na windows serverima ili ovaj skript testirate lokalno na vašoj windows mašini zakomentirajte ove linije koda) i po tome što neke skripre koje koriste sledeće regularne izraze:

“^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)
↪*(\.[a-z]{2,3})$”
Ovaj regularni izraz dozvoljava samo donju liniju (_) srednju liniju (-) mala slova i brojeve a ne dozvoljava sasvim regularne znakove kao sto su kosa crta(/), znak jednakosti (=), uzvičnik (!) i procenat (%). Ovaj izraz takođe zahtjeva da domen najvišeg nivoa (.com, .me, .net) ima dva ili tri slova izostavljajući email adrese koje završavaju sa .info, .travel itd.

“^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$”
Ovaj regularni izraz ima iste greske kao i prethodni kada su u pitanju specijalni karakteri. Dozvoljava top level domene sa vise od dva ili tri slova ali zato neke kao sto su example..com smatra ispravnim a oni to nijesu.

Fajl validEmail.php

[code language=”php”]
<?php
/**
Validate an email address.
Provide email address (raw input)
Returns true if the email address has the email
address format and the domain exists.
*/
function validEmail($email)
{
$isValid = true;
$atIndex = strrpos($email, &quot;@&quot;);
if (is_bool($atIndex) &amp;&amp; !$atIndex)
{
$isValid = false;
}
else
{
$domain = substr($email, $atIndex+1);
$local = substr($email, 0, $atIndex);
$localLen = strlen($local);
$domainLen = strlen($domain);
if ($localLen < 1 || $localLen > 64)
{
// local part length exceeded
$isValid = false;
}
else if ($domainLen < 1 || $domainLen > 255)
{
// domain part length exceeded
$isValid = false;
}
else if ($local[0] == ‘.’ || $local[$localLen-1] == ‘.’)
{
// local part starts or ends with ‘.’
$isValid = false;
}
else if (preg_match(‘/\\.\\./’, $local))
{
// local part has two consecutive dots
$isValid = false;
}
else if (!preg_match(‘/^[A-Za-z0-9\\-\\.]+$/’, $domain))
{
// character not valid in domain part
$isValid = false;
}
else if (preg_match(‘/\\.\\./’, $domain))
{
// domain part has two consecutive dots
$isValid = false;
}
else if
(!preg_match(‘/^(\\\\.|[A-Za-z0-9!#%&amp;`_=\\/$\’*+?^{}|~.-])+$/’,
str_replace(&quot;\\\\&quot;,&quot;&quot;,$local)))
{
// character not valid in local part unless
// local part is quoted
if (!preg_match(‘/^&quot;(\\\\&quot;|[^&quot;])+&quot;$/’,
str_replace(&quot;\\\\&quot;,&quot;&quot;,$local)))
{
$isValid = false;
}
}
if ($isValid &amp;&amp; !(checkdnsrr($domain,&quot;MX&quot;) ||
↪checkdnsrr($domain,&quot;A&quot;)))
{
// domain not found in DNS
$isValid = false;
}
}
return $isValid;
}
?>
[/code]

Primjena

[code language=”php”]

<?php
require(‘validEmail.php’);

if(validEmail($email)) {

// adresa je u redu i moze se koristiti

}

else {

//adresa nije u redu i shodno tome kod koji obavjestava korisnika ili sta vec treba

}

[/code]

Osigurajte Vaše forme za unos

Sigurnost je jako važna tema danas na web-u. Osigurati bezbjednost neke stranice je izuzetno važno za bilo koju web aplikaciju. U stvari, neki web developeri potrose i do 70% svog vremena na osiguravanje svojih aplikacija. Jedna od najvažnijih stvari koje moramo osigurati su forme za unos tj. interakciju sa korisnikom. Ispod se nalazi php klasa koja služi za sprečavanje XSS (Cross-site scripting) i Cross-site request forgery napada na  forme za unos.

Zašto ovo sve radimo?

Evo jednog primjera.
Korisnik, prijavljen na Vašu web stranicu, posjeti neku drugu “neprijateljski raspoloženu” web lokaciju  tokom sesije. Ova stranica će biti u mogućnosti poslati POST podatke  do Vaše web lokacije – na primjer koristeći  AJAX.  Budući da je korisnik prijavljen na Vašim stranicama, s druge web lokacije će također biti u mogućnosti poslati POST zahtjev na  obrasce koji su dostupni tek nakon prijave na vašem sajtu a nijesu dodatno zaštićene.

Kod je podijeljen u dva fajla formkey.class.php i fajla u kojem se u stavri nalazi nasa forma koju želimo da zaštitimo. Kod je sam po sebi dobro iskomentarisan tako da mislim da nema potrebe za nekim detaljnijim objasnjenjima.

Preuzeto sa sajta http://net.tutsplus.com/

Kod klase formkey.class.php

[code language=”php”]
<?php
class formKey
{
//Ovdje drzimo generisani form key
private $formKey;

//Here we store the old form key (more info at step 4)
private $old_formKey;

//The constructor stores the form key (if one excists) in our class variable
function __construct()
{
//We need the previous key so we store it
if(isset($_SESSION[‘form_key’]))
{
$this->old_formKey = $_SESSION[‘form_key’];
}
}

//Function to generate the form key
private function generateKey()
{
//Get the IP-address of the user
$ip = $_SERVER[‘REMOTE_ADDR’];

//We use mt_rand() instead of rand() because it is better for generating random numbers.
//We use ‘true’ to get a longer string.
//See http://www.php.net/mt_rand for a precise description of the function and more examples.
$uniqid = uniqid(mt_rand(), true);

//Return the hash
return md5($ip . $uniqid);
}

//Function to output the form key
public function outputKey()
{
//Generate the key and store it inside the class
$this->formKey = $this->generateKey();
//Store the form key in the session
$_SESSION[‘form_key’] = $this->formKey;

//Output the form key
echo "<input type=’hidden’ name=’form_key’ id=’form_key’ value=’".$this->formKey."’ />";
}

//Function that validated the form key POST data
public function validate()
{
//We use the old formKey and not the new generated version
if($_POST[‘form_key’] == $this->old_formKey)
{
//The key is valid, return true.
return true;
}
else
{
//The key is invalid, return false.
return false;
}
}
}
?>
[/code]

I kod same stranice forme. Normalno prilagodite je svojim potrebama.

[code language=”php”]
<?php
//Start the session
session_start();
//Require the class
require(‘formkey.class.php’);
//Start the class
$formKey = new formKey();

$error = ‘No error’;

//Is request?
if($_SERVER[‘REQUEST_METHOD’] == ‘post’)
{
//Validate the form key
if(!isset($_POST[‘form_key’]) || !$formKey->validate())
{
//Form key is invalid, show an error
$error = ‘Form key error!’;
}
else
{
//Do the rest of your validation here
$error = ‘No form key error!’;
}
}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
<title>Securing forms with form keys</title>
</head>
<body>
<div><?php if($error) { echo($error); } ?>
<form action="" method="post">
<dl>
<?php $formKey->outputKey(); ?>

<dt><label for="username">Username:</label></dt>
<dd><input type="text" name="username" id="username" /></dd>
<dt><label for="username">Password:</label></dt>
<dd><input type="password" name="password" id="password" /></dd>
<dt></dt>
<dd><input type="submit" value="Submit" /></dd>
<dl>
</form>
</body>
</html>
[/code]

Šta je to SEO?

seo-blocksNajčešći scenario:

Vi uložite puno truda u kreiranje vaše Internet Prezentacije

Sadržaj, dizajn, HTML kod, kaskadni stilovi, možda čak i JAVA i Fleš
Puno grafike i još više teksta…

Pažljivo ste dizajnirali i kreirali vašu internet prezentaciju i onda…?

Poslije izvjesnog vremena vi uočavate da nešto nedostaje?

Najvažniji činilac vaše Internet Prezentacije je izostao: POSJETIOCI

Nema POSJETILACA na Vašoj Internetet Prezentaciji!

Kako je to moglo da se desi?

Vi počinjete da pitate sami sebe: “Šta sam pogrešio? Zašto niko ne dođe na moj Internet sajt? Ima toliko puno dobrih stvari na mojoj Internet Prezentaciji! Šta sada da radim? Kako da unapredim rejting moje Internet Prezentacije na Internet Pretraživačima?

A odgovor leži ispod površine Vašeg velikog truda… Vaše sopstvene Internet prezentacije…

Tajna je u HTML kodu Vaše Internet prezentacije, nevidljivom za ljude, ali “prevedenom” unutar Internet Pretraživača u ljudima vidljivu formu.
Od ključne je važnosti za uspešnu Internet Prezentaciju da je HTML kod Vaše Prezentacije optimizovan i bez grešaka.

Svaki Internet Pretraživač, kao što su Google, Yahoo, Ask Jeeves, MSN Search itd. redovno, periodično pretražuje Internet sa njiovim sopstvenim robotizovanim pretraživačima, takozvanim “paucima” – “spiders”, koji indeksiraju celokupan Internet.

Usljed toga, Internet pretraživači “vide” Vašu Internet Prezentaciju na potpuno drugačiji način nego što ih vide ljudski posjetioci.

Da bi ste postigli bolje pozicije na Internet Pretraživačima, vi treba da optimizujete Vašu Internet prezentaciju. Da prilagodite, fino podesite Vašu kompletnu Internet prezentaciju i u skladu sa time i HTML kod Internet prezentacije, tako da bude vidljiv ne samo ljudskim posetiocima, nego i robotima – “paucima” Internet Pretraživača.

Zbog toga je najćešći termin za opisanu proceduru:
SEOSearch Engine OptimizationOptimizacija za Internet Pretraživače.

Jedini način da postignete je da je Vaš site SEO optimiziran je:

– da imate organiziranu strukturu sadržaja koja uključuje postavljanje sitemap-a (hijerarhije stranica), URL-ova i njihovih međusobnih poveznica.
– da postavite meta data podatke u skriptu*
– da imate od 2-5 posto keyworda (ključnih riječi) s obzirom na ukupnu količinu sadržaja pojedine stranice.
– da vam se keywords-i nalaze i u opisu i u naslovu sajta, i po mogućnosti u imenu domena.
– da sadržaj ima HTML tagove za naslove (H1, H2,..), paragrafe, naglašene dijelove teksta i slično.
– meta tagovi ne bi smjeli sadržavati više od 10 keywordsa.
– uklonite nepotreban (nepotrebno multipliciran) sadržaj.

*Meta Data (Meta Podatci) su dodatni podaci o svakoj web stranici koji su prvenstveno namijenjeni računarskoj obradi. Kombinacijom sadržaja i metapodataka kao što su Title, Keywords i Description, možemo kroz rezultate pretraživanja “usmjeriti” korisnike koji na internetu traže upravo naše ključne riječi i fraze izravno na naše web stranice.

Uz sve to, da biste bili dobro rankirani na internetu, morate prijaviti link site-a na važne web direktorije poput dmoz.org ili sli?no. dovoljno je da u tražilicu upišete free ili open web directory i naći ćete ih na hiljade, neki bolje a neki lošije rangirani. Bitno je da site prijavljujete samo u kategorije koje odgovaraju vašem sadržaju!
Da li je vaša internet stranca dobro optimizirana možete provjeriti na http://www.rankingtoday.com/seo/ koji je jedan od definitivno najboljih besplatnih SEO siteova.
Uz to vrijedi čekirati i Free Webmaster Tools

tekst je preuzet sa linka: ITS – internet technology blog http://www.optimize.se/sr/podrska/podrska-seo/sta-je-seo.html