“Indija jeftini cialis inurl pročitajte cgi ploču. CGI programiranje u asemblerskom jeziku?!? - Lako! Dohvaćanje verzije WEB poslužitelja


Hakiranje s Googleom

Aleksandar Antipov

Google tražilica (www.google.com) nudi mnoge mogućnosti pretraživanja. Sve ove značajke neprocjenjiv su alat za pretraživanje za korisnika koji je tek na Internetu, au isto vrijeme još moćnije oružje invazije i uništenja u rukama ljudi sa zlim namjerama, uključujući ne samo hakere, već i ne-računalne kriminalce i čak i teroristi.
(9475 pregleda u 1 tjednu)


Denis Barankov
denisNOSPAMixi.ru

Pažnja:Ovaj članak nije vodič za djelovanje. Ovaj članak je napisan za vas, administratore WEB poslužitelja, kako biste izgubili lažni osjećaj da ste sigurni i konačno shvatili podmuklost ovakvog načina dobivanja informacija i prihvatili se zaštite svoje stranice.

Uvod

Na primjer, pronašao sam 1670 stranica za 0,14 sekundi!

2. Unesite drugi red, na primjer:

inurl:"auth_user_file.txt"

malo manje, ali to je već dovoljno za besplatno preuzimanje i pogađanje lozinke (koristeći istog Johna The Rippera). U nastavku ću navesti još nekoliko primjera.

Dakle, morate shvatiti da je tražilica Google posjetila većinu internetskih stranica i pohranila informacije sadržane na njima. Ove predmemorirane informacije omogućuju vam da dobijete informacije o web-mjestu i sadržaju web-mjesta bez izravnog povezivanja s web-mjestom, samo udubljivanjem u informacije koje su pohranjene unutar Googlea. Štoviše, ako informacije na web-mjestu više nisu dostupne, informacije u predmemoriji još uvijek mogu biti sačuvane. Sve što trebate za ovu metodu je znati neke Google ključne riječi. Ova tehnika se zove Google hakiranje.

Informacije o Google hakiranju prvi put su se pojavile na Bugtruck mailing listi prije 3 godine. Godine 2001. ovu je temu pokrenuo francuski student. Ovdje je poveznica na ovo pismo http://www.cotse.com/mailing-lists/bugtraq/2001/Nov/0129.html. Pruža prve primjere takvih upita:

1) Indeks /admin
2) Indeks /lozinke
3) Indeks /mail
4) Indeks / +banques +filetype:xls (za Francusku...)
5) Indeks / +passwd
6) Indeks / password.txt

Ova je tema nedavno uzburkala engleski čitateljski dio interneta: nakon članka Johnnyja Longa, objavljenog 7. svibnja 2004. Za potpunije proučavanje Google hakiranja, savjetujem vam da posjetite web stranicu ovog autora http://johnny.ihackstuff.com. U ovom članku samo vas želim upoznati s novostima.

Tko ovo može koristiti:
- Novinari, špijuni i svi oni koji vole zabadati nos u tuđe poslove mogu to iskoristiti za traženje inkriminirajućih dokaza.
- Hakeri koji traže pogodne mete za hakiranje.

Kako Google radi.

Za nastavak razgovora, podsjetit ću vas na neke od ključnih riječi koje se koriste u Google upitima.

Pretražujte pomoću znaka +

Google iz pretraživanja isključuje riječi koje smatra nevažnima. Na primjer, upitne riječi, prijedlozi i članovi u engleskom jeziku: na primjer are, of, where. Na ruskom, čini se da Google sve riječi smatra važnima. Ako je riječ isključena iz pretraživanja, Google piše o tome. Kako bi Google počeo tražiti stranice s ovim riječima, morate dodati znak + bez razmaka prije riječi. Na primjer:

as +baze

Traži pomoću znaka –

Ako Google pronađe velik broj stranica s kojih treba isključiti stranice s određenom temom, tada možete natjerati Google da traži samo stranice koje ne sadrže određene riječi. Da biste to učinili, morate naznačiti ove riječi stavljanjem znaka ispred svake - bez razmaka ispred riječi. Na primjer:

ribolov - votka

Pretraživanje pomoću ~

Možda želite pretraživati ​​ne samo navedenu riječ, već i njezine sinonime. Da biste to učinili, ispred riječi stavite simbol ~.

Pronalaženje točne fraze pomoću dvostrukih navodnika

Google pretražuje na svakoj stranici sva pojavljivanja riječi koje ste napisali u nizu upita i ne mari za relativni položaj riječi, sve dok se sve navedene riječi nalaze na stranici u isto vrijeme (ovo je zadana radnja). Da biste pronašli točnu frazu, morate je staviti u navodnike. Na primjer:

"podupirač za knjige"

Da biste imali barem jednu od navedenih riječi, morate eksplicitno navesti logičku operaciju: OR. Na primjer:

sigurnost knjige ILI zaštita

Osim toga, možete upotrijebiti znak * u traci za pretraživanje da označite bilo koju riječ i. predstavljati bilo koji lik.

Traženje riječi pomoću dodatnih operatora

Postoje operatori pretraživanja koji su navedeni u nizu pretraživanja u formatu:

operator:traži_pojam

Razmaci pored dvotočke nisu potrebni. Ako umetnete razmak iza dvotočke, vidjet ćete poruku o pogrešci, a prije nje Google će ih koristiti kao uobičajeni niz za pretraživanje.
Postoje grupe dodatnih operatora pretraživanja: jezici - naznačite na kojem jeziku želite vidjeti rezultat, datum - ograničite rezultate za zadnja tri, šest ili 12 mjeseci, pojave - naznačite gdje u dokumentu trebate tražiti redak: posvuda, u naslovu, u URL-u, domene - pretražite na određenom web-mjestu ili ga, obrnuto, isključite iz pretraživanja; sigurno pretraživanje - blokira web-mjesta koja sadrže određenu vrstu informacija i uklanja ih sa stranica rezultata pretraživanja.
Međutim, neki operatori ne zahtijevaju dodatni parametar, na primjer zahtjev " predmemorija:www.google.com" se može nazvati kao punopravni niz za pretraživanje, a neke ključne riječi, naprotiv, zahtijevaju riječ za pretraživanje, na primjer " site:www.google.com pomoć". U svjetlu naše teme, pogledajmo sljedeće operatore:

Operater

Opis

Zahtijeva li dodatni parametar?

pretraži samo na stranici navedenoj u search_term

traži samo u dokumentima s tipom search_term

pronaći stranice koje sadrže search_term u naslovu

pronaći stranice koje sadrže sve riječi search_term u naslovu

pronaći stranice koje sadrže riječ search_term u svojoj adresi

pronaći stranice koje sadrže sve riječi search_term u svojoj adresi

Operater stranica: ograničava pretraživanje samo na navedeno mjesto, a možete odrediti ne samo naziv domene, već i IP adresu. Na primjer, unesite:

Operater Vrsta datoteke: Ograničava pretraživanje na određenu vrstu datoteke. Na primjer:

Od datuma objave članka, Google može pretraživati ​​unutar 13 različitih formata datoteka:

  • Adobe Portable Document Format (pdf)
  • Adobe PostScript (ps)
  • Lotus 1-2-3 (wk1, wk2, wk3, wk4, wk5, wki, wks, wku)
  • Lotus WordPro (lwp)
  • MacWrite (mw)
  • Microsoft Excel (xls)
  • Microsoft PowerPoint (ppt)
  • Microsoft Word (doc)
  • Microsoft Works (wks, wps, wdb)
  • Microsoft Write (wri)
  • Format obogaćenog teksta (rtf)
  • Shockwave Flash (swf)
  • Tekst (ans, txt)

Operater veza: prikazuje sve stranice koje upućuju na navedenu stranicu.
Vjerojatno je uvijek zanimljivo vidjeti koliko mjesta na Internetu zna za vas. Pokušajmo:

Operater predmemorija: Prikazuje verziju web-mjesta u Googleovoj predmemoriji kako je izgledala zadnji put kada je Google posjetio tu stranicu. Uzmimo bilo koje mjesto koje se često mijenja i pogledajmo:

Operater naslov: traži navedenu riječ u naslovu stranice. Operater sav naslov: je proširenje - pretražuje svih navedenih nekoliko riječi u naslovu stranice. Usporedi:

naslov:let na Mars
intitle:let intitle:on intitle:mars
allintitle:let na mars

Operater inurl: prisiljava Google da prikaže sve stranice koje sadrže navedeni niz u URL-u. allinurl operator: traži sve riječi u URL-u. Na primjer:

allinurl:acid acid_stat_alerts.php

Ova naredba je posebno korisna za one koji nemaju SNORT - barem mogu vidjeti kako radi na stvarnom sustavu.

Metode hakiranja pomoću Googlea

Dakle, saznali smo da korištenjem kombinacije gore navedenih operatora i ključnih riječi svatko može prikupiti potrebne informacije i tražiti ranjivosti. Te se tehnike često nazivaju Google hakiranje.

Karta stranice

Možete koristiti site: operator za popis svih veza koje je Google pronašao na web mjestu. Tipično, stranice koje su dinamički stvorene skriptama nisu indeksirane pomoću parametara, pa neka mjesta koriste ISAPI filtre tako da veze nisu u obliku /article.asp?num=10&dst=5, i s kosim crtama /članak/abc/broj/10/dst/5. To se radi kako bi tražilice generalno indeksirale stranicu.

Pokušajmo:

web mjesto:www.whitehouse.gov bijela kuća

Google misli da svaka stranica na web stranici sadrži riječ whitehouse. To je ono što koristimo za dobivanje svih stranica.
Postoji i pojednostavljena verzija:

web mjesto:whitehouse.gov

A najbolji dio je što drugovi iz whitehouse.gov nisu ni znali da smo pogledali strukturu njihove stranice, pa čak i predmemorirane stranice koje je Google preuzeo. Ovo se može koristiti za proučavanje strukture web-mjesta i pregled sadržaja, ostajući zasad neotkriveni.

Pregledajte popis datoteka u direktorijima

WEB poslužitelji mogu prikazati popise direktorija poslužitelja umjesto uobičajenih HTML stranica. To se obično radi kako bi se osiguralo da korisnici odaberu i preuzmu određene datoteke. Međutim, u mnogim slučajevima administratori nemaju namjeru prikazati sadržaj imenika. To se događa zbog neispravne konfiguracije poslužitelja ili nepostojanja glavne stranice u imeniku. Kao rezultat toga, haker ima priliku pronaći nešto zanimljivo u imeniku i iskoristiti to za vlastite svrhe. Da biste pronašli sve takve stranice, dovoljno je primijetiti da sve sadrže riječi: indeks od. Ali budući da indeks riječi ne sadrži samo takve stranice, moramo pročistiti upit i uzeti u obzir ključne riječi na samoj stranici, tako da upiti poput:

intitle:index.of nadređenog imenika
intitle:index.od veličina imena

Budući da je većina popisa imenika namjerna, možda će vam biti teško prvi put pronaći pogrešno postavljene popise. Ali barem već možete koristiti popise za određivanje verzije WEB poslužitelja, kao što je opisano u nastavku.

Dobivanje verzije WEB poslužitelja.

Poznavanje verzije WEB poslužitelja uvijek je korisno prije pokretanja bilo kakvog hakerskog napada. Opet, zahvaljujući Googleu, možete dobiti ove informacije bez povezivanja na poslužitelj. Ako pažljivo pogledate popis imenika, možete vidjeti da su tamo prikazani naziv WEB poslužitelja i njegova verzija.

Apache1.3.29 - ProXad poslužitelj na trf296.free.fr priključak 80

Iskusni administrator može promijeniti ove podatke, ali, u pravilu, oni su istiniti. Dakle, za dobivanje ove informacije dovoljno je poslati zahtjev:

intitle:index.of server.at

Da bismo dobili informacije za određeni poslužitelj, razjašnjavamo zahtjev:

intitle:index.of server.at site:ibm.com

Ili obrnuto, tražimo poslužitelje koji pokreću određenu verziju poslužitelja:

intitle:index.of Apache/2.0.40 poslužitelj na

Ovu tehniku ​​haker može koristiti da pronađe žrtvu. Ako, na primjer, ima exploit za određenu verziju WEB poslužitelja, onda ga može pronaći i isprobati postojeći exploit.

Verziju poslužitelja možete dobiti i pregledom stranica koje su zadano instalirane prilikom instalacije najnovije verzije WEB poslužitelja. Na primjer, da biste vidjeli testnu stranicu Apache 1.2.6, samo upišite

intitle:Test.Page.for.Apache to.radi!

Štoviše, neki operativni sustavi odmah instaliraju i pokreću WEB poslužitelj tijekom instalacije. Međutim, neki korisnici toga nisu ni svjesni. Naravno, ako vidite da netko nije uklonio zadanu stranicu, onda je logično pretpostaviti da računalo uopće nije bilo podvrgnuto prilagodbi i da je vjerojatno ranjivo na napad.

Pokušajte pretražiti IIS 5.0 stranice

allintitle:Dobro došli u Windows 2000 Internet usluge

U slučaju IIS-a, možete odrediti ne samo verziju poslužitelja, već i verziju sustava Windows i servisni paket.

Drugi način za određivanje verzije WEB poslužitelja je traženje priručnika (stranica pomoći) i primjera koji mogu biti instalirani na stranici prema zadanim postavkama. Hakeri su pronašli dosta načina za korištenje ovih komponenti za dobivanje privilegiranog pristupa web mjestu. Zato ove komponente morate ukloniti na mjestu proizvodnje. Da ne spominjemo činjenicu da se prisutnost ovih komponenti može koristiti za dobivanje informacija o vrsti poslužitelja i njegovoj verziji. Na primjer, pronađimo priručnik za apache:

inurl:ručni moduli apache direktiva

Korištenje Googlea kao CGI skenera.

CGI skener ili WEB skener je pomoćni program za traženje ranjivih skripti i programa na poslužitelju žrtve. Ovi uslužni programi moraju znati što tražiti, za to imaju cijeli popis ranjivih datoteka, na primjer:

/cgi-bin/cgiemail/uargg.txt
/random_banner/index.cgi
/random_banner/index.cgi
/cgi-bin/mailview.cgi
/cgi-bin/maillist.cgi
/cgi-bin/userreg.cgi

/iissamples/ISSamples/SQLQHit.asp
/SiteServer/admin/findvserver.asp
/skripte/cphost.dll
/cgi-bin/finger.cgi

Svaku od ovih datoteka možemo pronaći pomoću Googlea, dodatno koristeći riječi index ili inurl s nazivom datoteke u traci za pretraživanje: možemo pronaći stranice s ranjivim skriptama, na primjer:

allinurl:/random_banner/index.cgi

Koristeći dodatno znanje, haker može iskoristiti ranjivost skripte i upotrijebiti tu ranjivost da natjera skriptu da emitira bilo koju datoteku pohranjenu na poslužitelju. Na primjer, datoteka zaporke.

Kako se zaštititi od Google hakiranja.

1. Ne objavljujte važne podatke na WEB poslužitelju.

Čak i ako ste podatke objavili privremeno, možete zaboraviti na njih ili će netko imati vremena pronaći i uzeti te podatke prije nego što ih izbrišete. nemoj to raditi Postoje mnogi drugi načini prijenosa podataka koji ih štite od krađe.

2. Provjerite svoju stranicu.

Koristite opisane metode za istraživanje svoje stranice. Povremeno provjeravajte svoje web mjesto za nove metode koje se pojavljuju na web mjestu http://johnny.ihackstuff.com. Ne zaboravite da ako želite automatizirati svoje radnje, morate dobiti posebno dopuštenje od Googlea. Ako pažljivo čitate http://www.google.com/terms_of_service.html, tada ćete vidjeti izraz: Ne smijete slati automatizirane upite bilo koje vrste Googleovom sustavu bez prethodnog izričitog dopuštenja Googlea.

3. Možda vam Google neće trebati za indeksiranje vaše stranice ili bilo kojeg njezinog dijela.

Google vam dopušta uklanjanje veze na vašu stranicu ili njezin dio iz svoje baze podataka, kao i uklanjanje stranica iz predmemorije. Osim toga, možete zabraniti pretraživanje slika na vašoj stranici, zabraniti prikazivanje kratkih fragmenata stranica u rezultatima pretraživanja. Sve mogućnosti za brisanje stranice opisane su na stranici http://www.google.com/remove.html. Da biste to učinili, morate potvrditi da ste stvarno vlasnik ove stranice ili umetnuti oznake na stranicu ili

4. Koristite robots.txt

Poznato je da tražilice gledaju datoteku robots.txt koja se nalazi u korijenu stranice i ne indeksiraju one dijelove koji su označeni riječju Zabraniti. Ovo možete koristiti kako biste spriječili indeksiranje dijela stranice. Na primjer, kako biste spriječili indeksiranje cijele stranice, izradite datoteku robots.txt koja sadrži dva retka:

Korisnički agent: *
Zabrani: /

Što se još događa

Kako vam život ne bi izgledao kao med, reći ću na kraju da postoje stranice koje prate one ljude koji, koristeći gore navedene metode, traže rupe u skriptama i WEB poslužiteljima. Primjer takve stranice je

Primjena.

Malo slatko. Pokušajte sami nešto od sljedećeg:

1. #mysql dump filetype:sql - traženje dumpova mySQL baze podataka
2. Sažeto izvješće o ranjivosti glavnog računala - pokazat će vam koje su ranjivosti drugi ljudi pronašli
3. phpMyAdmin radi na inurl:main.php - ovo će prisiliti kontrolu da se zatvori kroz phpmyadmin panel
4. nije za distribuciju povjerljivo
5. Varijable poslužitelja kontrolnog stabla pojedinosti zahtjeva
6. Trčanje u Child načinu rada
7. Ovo izvješće generirao je WebLog
8. intitle:index.of cgiirc.config
9. filetype:conf inurl:firewall -intitle:cvs – možda nekome trebaju konfiguracijske datoteke vatrozida? :)
10. intitle:index.of finances.xls – hmm....
11. intitle: Indeks dbconvert.exe razgovora – icq zapisnici razgovora
12.intext:Tobias Oetiker analiza prometa
13. intitle: Statistika korištenja za Genered by Webalizer
14. intitle: statistika napredne web statistike
15. intitle:index.of ws_ftp.ini – ws ftp konfiguracija
16. inurl:ipsec.secrets čuva zajedničke tajne - tajni ključ - dobar nalaz
17. inurl:main.php Dobro došli u phpMyAdmin
18. inurl:server-info Informacije o Apache poslužitelju
19. site:edu admin ocjene
20. ORA-00921: neočekivani kraj SQL naredbe – dobivanje staza
21. intitle:index.of trillian.ini
22. naslov:Kazalo pwd.db
23.naslov:indeks.ljudi.lst
24. intitle:index.of master.passwd
25.inurl:passlist.txt
26. intitle: Indeks .mysql_history
27. intitle:index of intext:globals.inc
28. intitle:index.of administrators.pwd
29. intitle:Index.of etc shadow
30.intitle:index.ofsecring.pgp
31. inurl:config.php dbuname dbpass
32. inurl:izvedi filetype:ini

  • "Hakiranje s Googleom"
  • Centar za obuku "Informzashita" http://www.itsecurity.ru - vodeći specijalizirani centar u području obuke o informacijskoj sigurnosti (Licenca Moskovskog odbora za obrazovanje br. 015470, državna akreditacija br. 004251). Jedini ovlašteni centar za obuku za Internet Security Systems i Clearswift u Rusiji i zemljama ZND-a. Microsoftov ovlašteni centar za obuku (Sigurnosna specijalizacija). Programi obuke su usklađeni s Državnom tehničkom komisijom Rusije, FSB (FAPSI). Potvrde o obuci i državne isprave o usavršavanju.

    SoftKey je jedinstvena usluga za kupce, programere, trgovce i pridružene partnere. Osim toga, ovo je jedna od najboljih internetskih trgovina softverom u Rusiji, Ukrajini, Kazahstanu, koja kupcima nudi široku paletu proizvoda, mnogo načina plaćanja, brzu (često trenutnu) obradu narudžbi, praćenje procesa narudžbe u osobnom odjeljku, razne popusti iz trgovine i proizvođača BY.

    Kako ispravno pretraživati ​​pomoću google.com

    Svatko vjerojatno zna kako koristiti tražilicu poput Googlea =) Ali ne znaju svi da ako ispravno sastavite upit za pretraživanje pomoću posebnih konstrukcija, možete postići rezultate onoga što tražite mnogo učinkovitije i brže =) U ovom članku Pokušat ću pokazati to i što trebate učiniti da biste ispravno pretraživali

    Google podržava nekoliko naprednih operatora pretraživanja koji imaju posebno značenje prilikom pretraživanja na google.com. Obično te izjave mijenjaju pretraživanje ili čak govore Googleu da izvrši potpuno različite vrste pretraživanja. Na primjer, dizajn veza: je poseban operator, a zahtjev poveznica: www.google.com neće vam ponuditi normalno pretraživanje, već će umjesto toga pronaći sve web stranice koje imaju veze na google.com.
    alternativne vrste zahtjeva

    predmemorija: Ako uključite druge riječi u svoj upit, Google će istaknuti te uključene riječi unutar predmemoriranog dokumenta.
    Na primjer, cache:www.web stranicaće prikazati sadržaj u predmemoriji s istaknutom riječi "web".

    veza: Gornji upit za pretraživanje prikazat će web stranice koje sadrže poveznice na navedeni upit.
    Na primjer: poveznica: www.site prikazat će sve stranice koje imaju vezu na http://www.site

    povezano: Prikazuje web stranice koje su "povezane" s navedenom web stranicom.
    Na primjer, povezano: www.google.com izlistat će web stranice koje su slične Googleovoj početnoj stranici.

    info: Informacije o upitu: predstavit će neke informacije koje Google ima o web stranici koju tražite.
    Na primjer, info: web stranica pokazat će informacije o našem forumu =) (Armada - Forum za odrasle webmastere).

    Ostali zahtjevi za informacijama

    definirati: Upit define: pružit će definiciju riječi koje unesete nakon njega, prikupljenu iz različitih izvora na mreži. Definicija će biti za cijelu unesenu frazu (to jest, uključit će sve riječi u točnom upitu).

    dionice: Ako započnete upit s dionicama: Google će ostatak upita obraditi kao simbole dionica i povezati se na stranicu koja prikazuje gotove informacije za te simbole.
    Na primjer, dionice:Intel yahoo pokazat će informacije o Intelu i Yahoou. (Imajte na umu da biste trebali upisati simbole udarnih vijesti, a ne naziv tvrtke)

    Modifikatori upita

    stranica: Ako uključite site: u svoj upit, Google će ograničiti rezultate na one web stranice koje pronađe u toj domeni.
    Također možete pretraživati ​​po pojedinačnim zonama, kao što su ru, org, com itd. ( web mjesto:com web mjesto: ru)

    sav naslov: Ako pokrenete upit s allintitle:, Google će ograničiti rezultate na sve riječi upita u naslovu.
    Na primjer, allintitle: google pretragaće vratiti sve Google stranice pretraživanjem kao što su slike, blog itd

    naslov: Ako uključite intitle: u svoj upit, Google će ograničiti rezultate na dokumente koji sadrže tu riječ u naslovu.
    Na primjer, naslov: Posao

    allinurl: Ako pokrenete upit s allinurl: Google će ograničiti rezultate na sve riječi upita u URL-u.
    Na primjer, allinurl: google pretraživanje vratit će dokumente s googleom i pretraživati ​​u naslovu. Također, kao opciju, riječi možete odvojiti kosom crtom (/) tada će se riječi s obje strane kose crte pretraživati ​​unutar iste stranice: Primjer allinurl: foo/bar

    inurl: Ako uključite inurl: u svoj upit, Google će ograničiti rezultate na dokumente koji sadrže tu riječ u URL-u.
    Na primjer, Animacija inurl:site

    tekst: pretražuje samo navedenu riječ u tekstu stranice, zanemarujući naslov i tekstove poveznica, i druge stvari koje nisu vezane uz. Postoji i izvedenica ovog modifikatora - sav tekst: oni. dalje će se sve riječi u upitu pretraživati ​​samo u tekstu, što također može biti važno, zanemarujući često korištene riječi u poveznicama
    Na primjer, intext:forum

    Raspon datuma: pretražuje u vremenskom okviru (raspon datuma: 2452389-2452389), datumi za vremena navedeni su u julijanskom formatu.

    Pa, i svakakvih zanimljivih primjera upita

    Primjeri pisanja upita za Google. Za spamere

    Inurl:control.guest?a=sign

    Site:books.dreambook.com “URL početne stranice” “Potpiši moj” inurl:znak

    Web stranica: www.freegb.net Početna stranica

    Inurl:sign.asp “Broj znakova”

    “Poruka:” inurl:sign.cfm “Pošiljatelj:”

    Inurl:register.php “Registracija korisnika” “Web stranica”

    Inurl:edu/guestbook “Upišite se u knjigu gostiju”

    Inurl:post “Objavi komentar” “URL”

    Inurl:/archives/ “Komentari:” “Sjećate li se informacija?”

    “Skriptu i knjigu gostiju izradio:” “URL:” “Komentari:”

    Inurl:?action=add “phpBook” “URL”

    Naslov: "Pošalji novu priču"

    Časopisi

    Inurl:www.livejournal.com/users/ mode=reply

    Inurl greatestjournal.com/ mode=reply

    Inurl:fastbb.ru/re.pl?

    Inurl:fastbb.ru /re.pl? "Knjiga gostiju"

    blogovi

    Inurl:blogger.com/comment.g?”postID””anonymous”

    Inurl:typepad.com/ “Objavi komentar” “Sjećaš li se osobnih podataka?”

    Inurl:greatestjournal.com/community/ “Objavi komentar” “adrese anonimnih postera”

    “Objavi komentar” “adrese anonimnih postera” -

    Naslov: "Objavi komentar"

    Inurl:pirillo.com “Objavi komentar”

    Forumi

    Inurl:gate.html?”name=Forumi” “mode=odgovor”

    Inurl:”forum/posting.php?mode=reply”

    Inurl:"mes.php?"

    Inurl:”members.html”

    Inurl:forum/memberlist.php?"

    Zahvaljujući World Wide Webu, gotovo svatko može pružiti informacije putem interneta u obliku koji je ugodan za oči i koji se može široko širiti. Nema sumnje da ste surfali internetom i vidjeli druge stranice, a sada vjerojatno znate da su strašni akronimi poput "HTTP" i "HTML" jednostavno skraćenica za "web" i "način na koji se informacije izražavaju na internetu". Možda već imate iskustva s predstavljanjem informacija na internetu.

    Internet se pokazao kao idealan medij za distribuciju informacija, što se može vidjeti iz njegove ogromne popularnosti i širokog razvoja. Iako neki dovode u pitanje korisnost interneta i njegovu široku raširenost i popularnost uglavnom pripisuju nametljivom oglašavanju, internet je neosporno važan medij za prezentiranje svih vrsta informacija. Ne samo da su dostupne mnoge usluge za pružanje ažurnih informacija (vijesti, vrijeme, sportski događaji uživo) i referentnih materijala elektroničkim putem, već su dostupne i značajne količine drugih vrsta podataka. Porezna uprava, koja je distribuirala sve svoje obrasce za povrat poreza iz 1995. i druge informacije putem World Wide Weba, nedavno je priznala da je primila poštu obožavatelja za svoju web stranicu. Tko bi rekao da će porezna uprava ikada primati poštu obožavatelja? To nije bilo zato što je njegova stranica bila dobro dizajnirana, već zato što se pokazala doista korisnim alatom za tisuće, možda milijune ljudi.

    Što web čini jedinstvenim i tako atraktivnim informacijskim servisom? Prije svega, pruža hipermedijsko sučelje za podatke. Razmislite o tvrdom disku vašeg računala. Obično se podaci izražavaju linearno, slično sustavu datoteka. Na primjer, imate nekoliko mapa, a unutar svake mape postoje dokumenti ili druge mape. Web koristi drugačiju paradigmu za izražavanje informacija koja se naziva hipermedija. Hipertekstualno sučelje sastoji se od dokumenta i poveznica. Veze su riječi na koje se klikne da bi se vidjeli drugi dokumenti ili pronašle druge vrste informacija. Web proširuje koncept hiperteksta na druge vrste medija, kao što su grafika, zvukovi, video (otuda i naziv "hipermedija"). Odabir teksta ili grafike na dokumentu omogućuje vam da vidite povezane informacije o odabranoj stavci u bilo kojem broju oblika.

    Gotovo svi mogu imati koristi od ovog jednostavnog i jedinstvenog načina prezentiranja i distribucije informacija, od akademika koji žele odmah koristiti podatke sa svojim kolegama do poslovnih ljudi koji dijele informacije o svojoj tvrtki sa svima. No, iako je davanje informacija izuzetno važno, u posljednjih nekoliko godina mnogi smatraju da je primanje informacija jednako važan proces.

    Iako web pruža jedinstveno hipermedijsko sučelje za informacije, postoji mnogo drugih učinkovitih načina za distribuciju podataka. Na primjer, mrežne usluge kao što su File Transfer Protocol (FTP) i Gopher news grupa postojale su puno prije World Wide Weba. Elektronička pošta bila je primarni medij za komunikaciju i razmjenu informacija na Internetu i većini drugih mreža gotovo od samih početaka ovih mreža. Zašto je Internet postao tako popularan način distribucije informacija? Multimedijski aspekt Interneta značajno je pridonio njegovom uspjehu bez presedana, ali da bi Internet bio najučinkovitiji, mora biti interaktivan.

    Bez mogućnosti primanja korisničkog unosa i pružanja informacija, Web bi bio potpuno statična okolina. Podaci bi bili dostupni samo u formatu koji je odredio autor. To bi potkopalo jednu od sposobnosti računalstva općenito: interaktivne informacije. Na primjer, umjesto da tjeramo korisnika da gleda više dokumenata kao da pregledava knjigu ili rječnik, bilo bi bolje dopustiti korisniku da identificira ključne riječi o temi od interesa. Korisnici mogu prilagoditi prezentaciju podataka umjesto da se oslanjaju na krutu strukturu koju definira davatelj sadržaja.

    Izraz "web poslužitelj" može dovesti u zabludu jer se može odnositi i na fizički stroj i na softver koji koristi za komunikaciju s internetskim preglednicima. Kada preglednik zatraži danu web-adresu, prvo se povezuje sa strojem putem interneta, šaljući softveru web-poslužitelja zahtjev za dokumentom. Ovaj softver radi neprekidno, čekajući da takvi zahtjevi stignu i odgovara u skladu s tim.

    Iako poslužitelji mogu slati i primati podatke, sam poslužitelj ima ograničenu funkcionalnost. Na primjer, najprimitivniji poslužitelj može samo poslati traženu datoteku pregledniku. Poslužitelj obično ne zna što učiniti s ovim ili onim dodatnim unosom. Ako ISP ne kaže poslužitelju kako da rukuje ovim dodatnim informacijama, poslužitelj će najvjerojatnije zanemariti unos.

    Kako bi poslužitelj mogao obavljati i druge operacije osim pretraživanja i slanja datoteka u internetski preglednik, potrebno je znati proširiti funkcionalnost poslužitelja. Na primjer, web poslužitelj ne može pretraživati ​​bazu podataka na temelju ključne riječi koju je unio korisnik i vratiti više podudarnih dokumenata osim ako je takva mogućnost na neki način programirana u poslužitelju.

    Što je CGI?

    Common Gateway Interface (CGI) je sučelje za poslužitelj koje vam omogućuje proširenje funkcionalnosti poslužitelja. Koristeći CGI, možete interaktivno komunicirati s korisnicima koji pristupaju vašoj stranici. Na teoretskoj razini, CGI omogućuje poslužitelju da može analizirati (interpretirati) unos iz preglednika i vratiti informacije na temelju unosa korisnika. Na praktičnoj razini, CGI je sučelje koje omogućuje programeru pisanje programa koji lako komuniciraju s poslužiteljem.

    U pravilu, da biste proširili mogućnosti poslužitelja, morali biste sami modificirati poslužitelj. Ovo rješenje je nepoželjno jer zahtijeva razumijevanje nižeg sloja mrežnog programiranja internetskog protokola. Ovo bi također zahtijevalo uređivanje i ponovno kompajliranje izvornog koda poslužitelja ili pisanje prilagođenog poslužitelja za svaki zadatak. Recimo da želite proširiti mogućnosti poslužitelja tako da djeluje kao pristupnik s weba na e-poštu, uzimajući podatke koje unese korisnik iz preglednika i šaljući ih e-poštom drugom korisniku. Poslužitelj bi morao umetnuti kod za analizu unosa iz preglednika, proslijediti ga e-poštom drugom korisniku i proslijediti odgovor natrag u preglednik preko mrežne veze.

    Prvo, takav zadatak zahtijeva pristup kodu poslužitelja, što nije uvijek moguće.

    Drugo, teško je i zahtijeva veliko tehničko znanje.

    Treće, ovo se odnosi samo na određeni poslužitelj. Ako trebate premjestiti svoj poslužitelj na drugu platformu, morat ćete pokrenuti ili barem potrošiti dosta vremena na prijenos koda na tu platformu.

    Zašto CGI?

    CGI nudi prijenosno i jednostavno rješenje za ove probleme. CGI protokol definira standardni način na koji programi komuniciraju s web poslužiteljem. Bez ikakvog posebnog znanja, možete napisati program na bilo kojem strojnom jeziku koji ima sučelje i komunicira s web poslužiteljem. Ovaj program će raditi sa svim web poslužiteljima koji razumiju CGI protokol.

    CGI komunikacija se odvija korištenjem standardnog ulaza i izlaza, što znači da ako znate kako ispisivati ​​i čitati podatke koristeći svoj programski jezik, možete napisati aplikaciju web poslužitelja. Osim parsiranja ulaza i izlaza, programiranje CGI aplikacija gotovo je jednako programiranju bilo koje druge aplikacije. Na primjer, za programiranje programa "Hello, World!", koristite funkcije ispisa vašeg jezika i format definiran za CGI programe za ispis odgovarajuće poruke.

    Odabir programskog jezika

    Budući da je CGI univerzalno sučelje, niste ograničeni niti na jedan određeni strojni jezik. Važno pitanje koje se često postavlja je: koji se programski jezici mogu koristiti za CGI programiranje? Možete koristiti bilo koji jezik koji vam omogućuje sljedeće:

    • Ispis na standardni izlaz
    • Čitanje sa standardnog ulaza
    • Čitajte iz promjenjivih načina

    Gotovo svi programski jezici i mnogi skriptni jezici rade ove tri stvari, a možete koristiti bilo koju od njih.

    Jezici spadaju u jednu od sljedeće dvije klase: prevedeni i tumačeni. Prevedeni jezik kao što je C ili C++ obično je manji i brži, dok interpretirani jezici kao što su Perl ili Rexx ponekad zahtijevaju učitavanje velikog tumača pri pokretanju. Osim toga, možete distribuirati binarne kodove (kod koji se prevodi u strojni jezik) bez izvornog koda ako se vaš jezik može prevoditi. Distribucija interpretabilnih skripti obično znači distribuciju izvornog koda.

    Prije odabira jezika prvo morate razmotriti svoje prioritete. Morate odvagnuti prednosti brzine i učinkovitosti jednog programskog jezika u odnosu na lakoću programiranja drugog. Ako imate želju naučiti neki drugi jezik, umjesto da koristite onaj koji već znate, pažljivo odvagnite prednosti i nedostatke oba jezika.

    Dva najčešće korištena jezika za CGI programiranje su C i Perl (oba su obrađena u ovoj knjizi). Oba imaju jasne prednosti i nedostatke. Perl je jezik vrlo visoke razine, au isto vrijeme moćan jezik, posebno pogodan za parsiranje teksta. Iako ga jednostavnost korištenja, fleksibilnost i snaga čine atraktivnim jezikom za CGI programiranje, njegova relativno velika veličina i sporiji rad ponekad ga čine neprikladnim za neke aplikacije. C programi su manji, učinkovitiji i pružaju kontrolu sustava na nižoj razini, ali su složeniji za programiranje, nemaju lagane ugrađene rutine za obradu teksta i teže ih je ispravljati.

    Koji je jezik najprikladniji za CGI programiranje? Onaj koji smatrate prikladnijim s programskog gledišta. Oba su jednako učinkovita za programiranje CGI aplikacija, a s odgovarajućim bibliotekama oba imaju slične mogućnosti. Međutim, ako imate teško dostupan poslužitelj, možete koristiti manje, prevedene C programe. Ako trebate brzo napisati aplikaciju koja zahtijeva puno obrade teksta, umjesto toga možete koristiti Perl.

    Opomene

    Postoje neke važne alternative CGI aplikacijama. Mnogi poslužitelji sada uključuju API programiranje, što olakšava programiranje izravnih proširenja poslužitelja za razliku od samostalnih CGI aplikacija. API poslužitelji općenito su učinkovitiji od CGI programa. Ostali poslužitelji uključuju ugrađenu funkcionalnost koja može rukovati posebnim ne-CGI elementima, kao što je povezivanje baze podataka. Konačno, nekim aplikacijama mogu upravljati neke nove tehnologije na strani klijenta (umjesto na strani poslužitelja) poput Jave. Uz tako brze promjene u tehnologiji, hoće li CGI brzo zastarjeti?

    Jedva. CGI ima nekoliko prednosti u odnosu na novije tehnologije.

    • Svestran je i prenosiv. Možete napisati CGI aplikaciju koristeći gotovo bilo koji programski jezik na bilo kojoj platformi. Neke od alternativa, kao što je API poslužitelja, ograničavaju vas na određene jezike i puno ih je teže naučiti.
    • Malo je vjerojatno da će tehnologije na strani klijenta, kao što je Java, zamijeniti CGI, jer postoje neke aplikacije za čije su izvršavanje aplikacije na strani poslužitelja puno bolje prilagođene.
    • Mnoga ograničenja CGI-ja su ograničenja HTML-a ili HTTP-a. Kako se internetski standardi u cjelini razvijaju, tako se razvijaju i CGI mogućnosti.

    Sažetak

    Common Gateway Interface je protokol kojim programi komuniciraju s web poslužiteljima. Svestranost CGI-ja daje programerima mogućnost pisanja gateway programa na gotovo bilo kojem jeziku, iako postoje mnogi kompromisi povezani s različitim jezicima. Bez ove mogućnosti, stvaranje interaktivnih web stranica bilo bi teško, u najboljem slučaju zahtijevalo bi izmjene poslužitelja, a interaktivnost bi bila nedostupna većini korisnika koji nisu administratori stranice.

    Poglavlje 2: Osnove

    Prije nekoliko godina napravio sam stranicu za koledž na Harvardu gdje su ljudi mogli slati komentare o njima. U to je vrijeme Internet bio mlad, a dokumentacije je bilo malo. Ja sam se, kao i mnogi drugi, oslanjao na kratku dokumentaciju i programske sustave koje su stvorili drugi kako bih se naučio CGI programiranju. Iako je ova metoda proučavanja zahtijevala malo pretraživanja, mnogo eksperimenata i stvarala mnoga pitanja, bila je vrlo učinkovita. Ovo je poglavlje rezultat mog ranog rada s CGI-jem (naravno, uz nekoliko izmjena).

    Iako je potrebno neko vrijeme za potpuno razumijevanje i svladavanje zajedničkog sučelja pristupnika, sam protokol je prilično jednostavan. Svatko tko ima neke osnovne vještine programiranja i upoznat je s webom može brzo naučiti programirati prilično složene CGI aplikacije baš kao što smo ja i drugi naučili raditi prije nekoliko godina.

    Svrha ovog poglavlja je predstaviti osnove CGI-ja na sveobuhvatan, iako sažet način. Svaki koncept koji se ovdje razmatra detaljno je predstavljen u narednim poglavljima. Međutim, nakon što završite ovo poglavlje, možete odmah početi programirati CGI aplikacije. Kada dosegnete ovu razinu, možete naučiti zamršenosti CGI-ja, bilo čitanjem ostatka ove knjige ili jednostavno eksperimentiranjem na vlastitoj koži.

    CGI programiranje možete svesti na dva zadatka: primanje informacija iz web preglednika i slanje informacija natrag u preglednik. To se radi prilično intuitivno nakon što se upoznate s normalnom upotrebom CGI aplikacija. Često se od korisnika traži da ispuni neki obrazac, na primjer, unese svoje ime. Nakon što korisnik ispuni obrazac i pritisne Enter, ove informacije se šalju CGI programu. CGI program zatim mora pretvoriti te informacije u nešto što razumije, obraditi ih u skladu s tim i poslati ih natrag u preglednik, bilo da se radi o jednostavnoj potvrdi ili rezultatu pretraživanja u višenamjenskoj bazi podataka.

    Drugim riječima, programiranje CGI-ja zahtijeva razumijevanje kako primiti unos iz internetskog preglednika i kako poslati izlaz nazad. Što se događa između ulazne i izlazne faze CGI programa ovisi o cilju programera. Uvidjet ćete da glavna poteškoća u CGI programiranju leži u ovoj međufazi; Jednom kada naučite kako raditi s ulazom i izlazom, to je u biti dovoljno da postanete CGI programer.

    U ovom ćete poglavlju naučiti principe koji stoje iza CGI ulaza i izlaza, kao i druge osnovne vještine koje će vam trebati za pisanje i korištenje CGI-ja, uključujući stvari poput stvaranja HTML obrazaca i imenovanja vaših CGI programa. Ovo poglavlje pokriva sljedeće teme:

    • Tradicionalni program „Zdravo, svijete!“;
    • CGI izlaz: Slanje informacija natrag za prikaz u internetskom pregledniku;
    • Konfiguriranje, instaliranje i pokretanje aplikacije. Naučit ćete o različitim web platformama i poslužiteljima;
    • CGI unos: Tumačenje informacija koje šalje web preglednik. Uvod u neke korisne programske biblioteke za raščlanjivanje takvog unosa;
    • Jednostavan primjer: pokriva sve lekcije u određenom poglavlju;
    • Strategija programiranja.

    Zbog prirode ovog poglavlja, samo se lagano dotičem nekih tema. Ne brinite; Sve su ove teme detaljnije obrađene u drugim poglavljima.

    Pozdrav svijete!

    Počinjete s tradicionalnim problemom uvodnog programiranja. Napisat ćete program koji prikazuje "Hello, World!" na vašem web pregledniku. Prije nego napišete ovaj program, morate razumjeti koje informacije web preglednik očekuje primiti od CGI programa. Također morate znati kako pokrenuti ovaj program kako biste ga mogli vidjeti na djelu.

    CGI je neovisan o jeziku, tako da ovaj program možete implementirati na bilo kojem jeziku. Ovdje se koristi nekoliko različitih jezika kako bi se pokazala neovisnost svakog jezika. U Perlu, program "Hello, World!" prikazano u ispisu 2.1.

    Listing 2.1. Pozdrav svijete! u Perlu. #!/usr/local/bin/perl # Hello.cgi - Moj prvi CGI program print "Content-Type: text/html\n\n"; ispis" \n"; ispis " Pozdrav svijete!"; ispis "\n"; ispis " \n"; ispis "

    Pozdrav svijete!

    \n"; ispis " \n";

    Spremite ovaj program kao hello.cgi i instalirajte ga na odgovarajuće mjesto. (Ako niste sigurni gdje je, ne brinite; saznat ćete u odjeljku "Instaliranje i pokretanje CGI programa" kasnije u ovom poglavlju.) Za većinu poslužitelja, direktorij koji vam je potreban je cgi-bin . Sada pozovite program iz svog web preglednika. Za većinu to znači otvaranje sljedećeg jedinstvenog lokatora izvora (URL):

    http://hostname/directoryname/hello.cgi

    Hostname je naziv vašeg web poslužitelja, a directoryname je direktorij u koji ste stavili hello.cgi (vjerojatno cgi-bin).

    Razdvajanje hello.cgi

    Treba napomenuti nekoliko stvari o hello.cgi.

    Prvo, koristite jednostavne naredbe za ispis. CGI programi ne zahtijevaju nikakve posebne deskriptore datoteka ili izlazne deskriptore. Da biste poslali izlaz u preglednik, jednostavno ispišite na stdout.

    Drugo, imajte na umu da se sadržaj prve naredbe za ispis (Content-Type: text/html) ne pojavljuje u vašem web pregledniku. Pregledniku možete poslati bilo koju informaciju koju želite (HTML stranicu, grafiku ili zvuk), ali prvo morate pregledniku reći kakvu vrstu podataka šaljete. Ovaj redak govori pregledniku kakvu informaciju može očekivati ​​- u ovom slučaju HTML stranicu.

    Treće, program se zove hello.cgi. Ne morate uvijek koristiti ekstenziju .cgi uz naziv svog CGI programa. Iako izvorni kod za mnoge jezike također koristi ekstenziju .cgi, ona se ne koristi za označavanje vrste jezika, već je način na koji poslužitelj identificira datoteku kao izvršnu datoteku, a ne kao grafičku datoteku, HTML datoteku ili tekstualna datoteka. Poslužitelji su često konfigurirani da pokušaju izvršiti samo one datoteke koje imaju ovaj nastavak, prikazujući sadržaj svih ostalih. Iako upotreba ekstenzije .cgi nije obavezna, ipak se smatra dobrom praksom.

    Općenito, hello.cgi se sastoji od dva glavna dijela:

    • govori pregledniku koje informacije može očekivati ​​(Content-Type: text/html)
    • govori pregledniku što treba prikazati (Hello, World!)

    Pozdrav svijete! u C

    Kako bi se pokazala jezična neovisnost CGI programa, ispis 2.2 prikazuje ekvivalent programa hello.cgi napisanog u C-u.

    Listing 2.2. Pozdrav svijete! u C. /* hello.cgi.c - Zdravo, svijete CGI */ #include int main() ( printf("Content-Type: text/html\r\n\r\n"); printf(" \n"); printf(" Pozdrav svijete!\n"); printf("\n"); printf(" \n"); printf("

    Pozdrav svijete!

    \n"); printf(" \n"); )

    Bilješka

    Imajte na umu da Perl verzija hello.cgi koristi Content-Type print ": text/html\n\n "; Dok verzija C koristi Printf("Content-Type: text/html\r\n\r\n");

    Zašto Perl ispisuje operator koji završava s dva nova retka (\n), dok C printf završava s dva znaka za početak i novim retkom (\r\n)?

    Tehnički, očekuje se da će zaglavlja (svi ispisi prije praznog retka) biti odvojena povratnim znakovima i novim redcima. Nažalost, na DOS i Windows strojevima, Perl prevodi \r kao još jedan novi red, a ne kao povratak na novi red.

    Iako je Perl-ova iznimka \rs tehnički neispravna, radit će na gotovo svim protokolima i jednako je prenosiva na svim platformama. Stoga, u svim Perl primjerima u ovoj knjizi, koristim zaglavlja za odvajanje novog retka, a ne vraćanje na prvi redak i novi redak.

    Odgovarajuće rješenje za ovaj problem predstavljeno je u 4. poglavlju, Zaključak.

    Ni web poslužitelj ni preglednik ne mare koji se jezik koristi za pisanje programa. Iako svaki jezik ima prednosti i nedostatke kao CGI programski jezik, najbolje je koristiti jezik s kojim vam je najudobnije raditi. (O izboru programskog jezika detaljnije se govori u 1. poglavlju, “Zajedničko sučelje pristupnika (CGI)”).

    CGI renderiranje

    Sada možete pobliže pogledati pitanje slanja informacija web pregledniku. Iz primjera "Hello, World!", možete vidjeti da web preglednici očekuju dva skupa podataka: zaglavlje, koje sadrži informacije kao što su informacije koje treba prikazati (npr. Content-Type: line) i stvarne informacije (što web preglednik prikazuje). Ove dvije informacije odvojene su praznim redom.

    Zaglavlje se naziva HTTP zaglavlje. Daje važne informacije o informacijama koje će preglednik primiti. Postoji nekoliko različitih vrsta HTTP zaglavlja, a najčešći je onaj koji ste ranije koristili: Content-Type: zaglavlje. Možete koristiti različite kombinacije HTTP zaglavlja, odvojenih znakovima za početak i novim redcima (\r\n). Prazan redak koji odvaja zaglavlje od podataka također se sastoji od povratnog reda i novog retka (zašto su oba potrebna ukratko je objašnjeno u prethodnoj bilješci i detaljno objašnjeno u 4. poglavlju). O drugim HTTP zaglavljima naučit ćete u 4. poglavlju; Trenutno imate posla s Content-Type: zaglavljem.

    Content-Type: Zaglavlje opisuje vrstu podataka koje CGI vraća. Odgovarajući format za ovo zaglavlje je:

    Content-Type: podvrsta/vrsta

    Gdje je podtip/tip ispravan tip višenamjenskih proširenja internetske pošte (MIME). Najčešći MIME tip je HTML tip: text/html. Tablica 2.1 navodi još nekoliko uobičajenih MIME vrsta o kojima će biti riječi; Potpuniji popis i analiza MIME tipova nalazi se u 4. poglavlju.

    Bilješka

    MIME je izvorno izmišljen za opisivanje sadržaja tijela elektroničke pošte. Postao je prilično uobičajen način predstavljanja informacija tipa sadržaja. Više o MIME-u možete pročitati u RFC1521. RFC-ovi na Internetu predstavljaju zahtjeve za komentare, koji su sažeci odluka koje su donijele grupe na Internetu koje pokušavaju postaviti standarde. Rezultate RFC1521 možete vidjeti na sljedećoj adresi: http://andrew2.andrew.cmu.edu/rfc/rfc1521.html

    Tablica 2.1. Neki uobičajeni MIME tipovi. MIME Vrsta Opis Tekst/html Hypertext Markup Language (HTML) Tekst/običan Datoteke običnog teksta Slika/gif Grafičke datoteke GIF Slika/jpeg Komprimirane grafičke datoteke JPEG Audio/osnovne audio datoteke Sun *.au Audio/x-wav Windows datoteke *. wav

    Nakon zaglavlja i prazne linije jednostavno ispisujete podatke u obliku koji vam je potreban. Ako šaljete HTML, ispišite HTML oznake i podatke u stdout nakon zaglavlja. Također možete poslati grafiku, zvuk i druge binarne datoteke jednostavnim ispisom sadržaja datoteke u stdout. Nekoliko primjera za to dano je u poglavlju 4.

    Instaliranje i pokretanje CGI programa

    Ovaj odjeljak donekle odstupa od CGI programiranja i govori o konfiguraciji vašeg web poslužitelja za korištenje CGI, instaliranju i pokretanju programa. Bit ćete upoznati s različitim poslužiteljima za različite platforme s više ili manje detalja, ali ćete morati dublje kopati po dokumentaciji vašeg poslužitelja kako biste pronašli najbolju opciju.

    Svi poslužitelji zahtijevaju prostor za datoteke poslužitelja i prostor za HTML dokumente. U ovoj se knjizi područje poslužitelja naziva ServerRoot, a područje dokumenta naziva se DocumentRoot. Na UNIX strojevima, ServerRoot je obično u /usr/local/etc/httpd/, a DocumentRoot je obično u /usr/local/etc/httpd/htdocs/. Međutim, to neće učiniti nikakvu razliku za vaš sustav, stoga zamijenite sve reference na ServerRoot i DocumentRoot svojim vlastitim ServerRoot i DocumentRoot.

    Kada pristupate datotekama koristeći svoj web preglednik, navodite datoteku u URL-u u odnosu na DocumentRoot. Na primjer, ako je adresa vašeg poslužitelja mymachine.org, tada ovoj datoteci pristupate sa sljedećim URL-om: http://mymachine.org/index.html

    Konfiguriranje poslužitelja za CGI

    Većina web-poslužitelja unaprijed je konfigurirana za dopuštanje korištenja CGI programa. Tipično dva parametra pokazuju poslužitelju je li datoteka CGI aplikacija ili nije:

    • Određeni imenik. Neki poslužitelji vam omogućuju da odredite da su sve datoteke u određenom direktoriju (koji se prema zadanim postavkama obično naziva cgi-bin) CGI.
    • Ekstenzije naziva datoteka. Mnogi poslužitelji imaju ovu pretkonfiguraciju koja omogućuje definiranje svih datoteka koje završavaju na .cgi kao CGI.

    Metoda označenog direktorija nešto je kao relikt prošlosti (prvi poslužitelji koristili su je kao jedinu metodu za utvrđivanje koje su datoteke CGI programi), ali ima nekoliko prednosti.

    • Održava CGI programe centraliziranim, sprječavajući da drugi direktoriji postanu pretrpani.
    • Niste ograničeni nijednom određenom ekstenzijom naziva datoteke, pa svoje datoteke možete imenovati kako god želite. Neki poslužitelji vam omogućuju da odredite nekoliko različitih direktorija kao CGI direktorije.
    • Također vam daje veću kontrolu nad time tko može snimati CGI. Na primjer, ako imate poslužitelj i podržavate sustav s više korisnika i ne želite da oni koriste vlastite CGI skripte bez prethodnog pregleda programa iz sigurnosnih razloga, možete odrediti samo te datoteke u ograničenom, centraliziranom direktoriju kao CGI . Korisnici će vam tada morati dati CGI programe za instalaciju, a vi možete prvo izvršiti reviziju koda kako biste bili sigurni da program nema većih sigurnosnih problema.

    CGI notacija putem ekstenzije naziva datoteke može biti korisna zbog svoje fleksibilnosti. Niste ograničeni na jedan direktorij za CGI programe. Većina poslužitelja može se konfigurirati da prepoznaju CGI putem ekstenzije naziva datoteke, iako nisu svi konfigurirani na ovaj način prema zadanim postavkama.

    Upozorenje

    Ne zaboravite na važnost sigurnosnih pitanja kada konfigurirate svoj poslužitelj za CGI. Neki savjeti će biti obrađeni ovdje, a Poglavlje 9, Zaštita CGI-ja, pokriva te aspekte detaljnije.

    Instalacija CGI na UNIX poslužiteljima

    Bez obzira na to kako je vaš UNIX poslužitelj konfiguriran, postoji nekoliko koraka koje morate poduzeti kako biste osigurali da vaše CGI aplikacije rade kako se očekuje. Vaš će web poslužitelj obično raditi kao nepostojeći korisnik (to jest, UNIX korisnik nitko - račun koji nema dopuštenja za datoteke i ne može se prijaviti). CGI skripte (napisane u Perlu, Bourneovoj ljusci ili nekom drugom skriptnom jeziku) moraju biti izvršne i čitljive u cijelom svijetu.

    Trag

    Kako bi vaše datoteke bile čitljive i izvršne, upotrijebite sljedeću naredbu UNIX dopuštenja: chmod 755 naziv datoteke.

    Ako koristite skriptni jezik kao što je Perl ili Tcl, navedite punu stazu svog tumača u prvom retku svoje skripte. Na primjer, Perl skripta koja koristi perl u direktoriju /usr/local/bin započela bi sljedećim redom:

    #!/usr/local/bin/perl

    Upozorenje

    Nikada nemojte postavljati tumač (perl, ili Tcl Wish binarni) u direktorij /cgi-bin. To stvara sigurnosni rizik za vaš sustav. O tome se detaljnije govori u poglavlju 9.

    Neki generički UNIX poslužitelji

    NCSA i Apache poslužitelji imaju slične konfiguracijske datoteke jer se Apache poslužitelj izvorno temeljio na NCSA kodu. Prema zadanim postavkama, oni su konfigurirani tako da je svaka datoteka u direktoriju cgi-bin (koji se prema zadanim postavkama nalazi u ServerRoot-u) CGI program. Za promjenu lokacije direktorija cgi-bin, možete urediti konfiguracijsku datoteku conf/srm.conf. Format za konfiguriranje ovog imenika je

    ScriptAlias ​​​​fakedirectoryname realdirectoryname

    gdje je fakedirectoryname pseudo ime direktorija (/cgi-bin), a realdirectoryname puna staza gdje su CGI programi zapravo pohranjeni. Možete konfigurirati više od jednog ScriptAlias ​​​​dodavanjem više ScriptAlias ​​​​retaka.

    Zadana konfiguracija dovoljna je za potrebe većine korisnika. Morate urediti redak u srm.conf datoteci u oba slučaja kako biste odredili ispravan realdirectoryname. Ako se, na primjer, vaši CGI programi nalaze u /usr/local/etc/httpd/cgi-bin, redak ScriptAlias ​​​​u vašoj datoteci srm.conf trebao bi biti nešto poput ovoga:

    ScriptAlias ​​/cgi-bin/ /usr/local/etc/httpd/cgi-bin/

    Za pristup ili povezivanje s CGI programima koji se nalaze u ovom direktoriju, koristite sljedeći URL:

    Http://hostname/cgi-bin/programname

    Gdje je hostname naziv hosta vašeg web poslužitelja, a programname je naziv vašeg CGI.

    Na primjer, recimo da kopirate program hello.cgi u svoj direktorij cgi-bin (npr. /usr/local/etc/httpd/cgi-bin) na vašem web poslužitelju pod nazivom www.company.com. Za pristup svom CGI-ju koristite sljedeći URL: http://www.company.com/cgi-bin/hello.cgi

    Ako želite konfigurirati svoj NCSA ili Apache poslužitelj da prepozna bilo koju datoteku s nastavkom .cgi kao CGI, trebate urediti dvije konfiguracijske datoteke. Prvo, u datoteci srm.conf uklonite komentare iz sljedećeg retka:

    AddType aplikacija/x-httpd-cgi .cgi

    Ovo će povezati CGI tipa MIME s ekstenzijom .cgi. Sada moramo promijeniti datoteku access.conf tako da možemo pokrenuti CGI u bilo kojem direktoriju. Da biste to učinili, dodajte opciju ExecCGI u liniju Opcija. Izgledat će otprilike kao sljedeći redak:

    Indeksi opcija FollowSymLinks ExecCGI

    Sada se svaka datoteka s nastavkom .cgi smatra CGI; pristupite mu kao bilo kojoj datoteci na svom poslužitelju.

    CERN poslužitelj je konfiguriran na isti način kao Apache i NCSA poslužitelji. Umjesto ScriptAlias, CERN poslužitelj koristi naredbu Exec. Na primjer, u datoteci httpd.conf vidjet ćete sljedeći redak:

    Exec /cgi-bin/* /usr/local/etc/httpd/cgi-bin/*

    Ostali UNIX poslužitelji mogu se konfigurirati na isti način; To je detaljnije opisano u dokumentaciji poslužitelja.

    Instalacija CGI na Windows

    Većina poslužitelja dostupnih za Windows 3.1, Windows 95 i Windows NT konfigurirana je pomoću metode "nastavka naziva datoteke" za CGI prepoznavanje. Općenito, promjena konfiguracije poslužitelja temeljenog na sustavu Windows jednostavno zahtijeva pokretanje programa za konfiguraciju poslužitelja i unošenje odgovarajućih promjena.

    Ponekad može biti teško konfigurirati poslužitelj za ispravno pokretanje skripte (kao što je Perl). U DOS-u ili Windowsu nećete moći navesti tumača u prvom retku skripte, kao što je slučaj s UNIX-om. Neki poslužitelji imaju unaprijed definiranu konfiguraciju za povezivanje određenih ekstenzija naziva datoteka s tumačem. Na primjer, mnogi Windows web poslužitelji pretpostavljaju da su datoteke koje završavaju na .pl Perl skripte.

    Ako poslužitelj ne izvodi ovu vrstu pridruživanja datoteka, možete definirati batch datoteku paketera koja poziva i tumača i skriptu. Kao i kod UNIX poslužitelja, nemojte instalirati tumač ni u direktorij cgi-bin niti u bilo koji direktorij dostupan s weba.

    Instaliranje CGI na Macintosh

    Dvije najpoznatije opcije poslužitelja za Macintosh su WebStar StarNine i njegov prethodnik MacHTTP. Oba prepoznaju CGI po ekstenziji naziva datoteke.

    MacHTTP razumije dvije različite ekstenzije: .cgi i .acgi, što je kratica za asinkroni CGI. Uobičajeni CGI programi instalirani na Macintosh (s ekstenzijom .cgi) držat će web poslužitelj u zauzetom stanju dok CGI ne završi s radom, uzrokujući da poslužitelj obustavi sve druge zahtjeve. Asinkroni CGI, s druge strane, omogućuje poslužitelju prihvaćanje zahtjeva čak i dok radi.

    CGI Macintosh programer koji koristi bilo koji od ovih web poslužitelja trebao bi, ako je moguće, koristiti samo ekstenziju .acgi umjesto ekstenzije .cgi. Trebao bi raditi s većinom CGI programa; ako ne radi, preimenujte program u .cgi.

    Izvršavanje CGI

    Nakon što ste instalirali CGI, postoji nekoliko načina da ga izvršite. Ako je vaš CGI program program koji daje samo izlaz, kao što je program Hello,World!, tada ga možete izvršiti jednostavnim pristupom njegovom URL-u.

    Većina programa radi kao poslužiteljska aplikacija na HTML obrascu. Prije nego naučite kako dobiti informacije iz ovih obrazaca, prvo pročitajte kratki uvod o stvaranju takvih obrazaca.

    Brzi vodič o HTML obrascima

    Dvije najvažnije oznake u HTML obliku su

    I . Možete stvoriti većinu HTML obrazaca koristeći samo ove dvije oznake. U ovom ćete poglavlju istražiti te oznake i mali podskup mogućih tipova ili atributa. . Kompletan vodič i poveznica na HTML obrasce nalazi se u 3. poglavlju, HTML i obrasci.

    Označiti

    Označiti koristi se za određivanje koji dio HTML datoteke treba koristiti za podatke koje unese korisnik. Ovo se odnosi na način na koji većina HTML stranica naziva CGI program. Atributi oznake određuju naziv i lokaciju programa - bilo lokalno ili kao puni URL, vrstu korištenog kodiranja i metodu kretanja podataka koju koristi program.

    Sljedeći red prikazuje specifikacije za oznaku :

    < ACTION FORM = "url" METHOD = ENCTYPE = "..." >

    Atribut ENCTYPE nema posebnu ulogu i obično nije uključen u oznaku . Detaljne informacije o oznaci ENCTYPE dane su u 3. poglavlju. Jedan način korištenja ENCTYPE-a prikazan je u 14. poglavlju, "Brandirana proširenja".

    Atribut ACTION odnosi se na URL CGI programa. Nakon što korisnik ispuni obrazac i unese podatke, svi podaci se kodiraju i prenose u CGI program. Sam CGI program rješava problem dekodiranja i obrade informacija; Ovaj aspekt se raspravlja u "Prihvaćanje unosa iz preglednika," kasnije u ovom poglavlju.

    Konačno, atribut METHOD opisuje kako CGI program treba primati ulaz. Dvije metode, GET i POST, razlikuju se u načinu na koji prosljeđuju informacije CGI programu. Oboje se raspravlja u "Prihvaćanje unosa iz preglednika."

    Kako bi preglednik omogućio korisnički unos, sve oznake obrazaca i informacije moraju biti okružene oznakom . Ne zaboravite završnu oznaku

    za označavanje kraja obrasca. Ne možete imati obrazac unutar obrasca, iako možete postaviti obrazac koji vam omogućuje predstavljanje dijelova informacija na različitim mjestima; o ovom aspektu se opširno raspravlja u 3. poglavlju.

    Označiti

    Možete stvoriti trake za unos teksta, radio gumbe, potvrdne okvire i druge načine prihvaćanja unosa pomoću oznake . Ovaj odjeljak pokriva samo polja za unos teksta. Za implementaciju ovog polja koristite oznaku sa sljedećim atributima:

    < INPUT TYPE=text NAME = "... " VALUE = "... " SIZE = MAXLENGTH = >

    IME je simbolično ime varijable koja sadrži vrijednost koju je unio korisnik. Ako uključite tekst u atribut VRIJEDNOST, taj će tekst biti postavljen kao zadani u polje za unos teksta. Atribut SIZE omogućuje vam da odredite vodoravnu duljinu polja za unos kako će se pojaviti u prozoru preglednika. Konačno, MAXLENGTH navodi najveći broj znakova koje korisnik može unijeti u polje. Imajte na umu da atributi VALUE, SIZE, MAXLENGTH nisu obavezni.

    Podnošenje obrasca

    Ako imate samo jedno tekstualno polje unutar obrasca, korisnik može poslati obrazac jednostavnim upisivanjem informacija na tipkovnici i pritiskom na Enter. U protivnom mora postojati neki drugi način na koji korisnik može prezentirati informacije. Korisnik šalje podatke pomoću gumba za slanje sa sljedećom oznakom:

    < Input type=submit >

    Ova oznaka stvara gumb Pošalji unutar vašeg obrasca. Kada korisnik završi s ispunjavanjem obrasca, on ili ona može poslati njegov sadržaj na URL naveden atributom ACTION obrasca klikom na gumb Pošalji.

    Prihvaćanje unosa iz preglednika

    Gore su navedeni primjeri snimanja CGI programa koji šalje informacije s poslužitelja na preglednik. U stvarnosti, CGI program koji ispisuje samo podatke nema mnogo primjena (neki primjeri navedeni su u poglavlju 4). Važnija sposobnost CGI-ja je primanje informacija iz preglednika - značajka koja webu daje njegov interaktivni karakter.

    CGI program prima dvije vrste informacija iz preglednika.

    • Prvo, dobiva razne dijelove informacija o pregledniku (njegova vrsta, što može vidjeti, glavno računalo i tako dalje), poslužitelj (njegov naziv i verzija, njegov izvršni port i tako dalje) i CGI programu sebe (naziv programa i gdje se nalazi). Poslužitelj daje sve ove informacije CGI programu kroz varijable okoline.
    • Drugo, CGI program može primiti korisnički unos. Ove informacije, nakon što ih preglednik kodira, šalju se putem varijable okruženja (GET metoda) ili putem standardnog unosa (stdin - POST metoda).

    Varijable okoline

    Korisno je znati koje su varijable okruženja dostupne CGI programu, i tijekom obuke i za otklanjanje pogrešaka. Tablica 2.2 navodi neke od dostupnih CGI varijabli okoline. Također možete napisati CGI program koji šalje varijable okruženja i njihove vrijednosti u web preglednik.

    Tablica 2.2. Neke važne CGI varijable okruženja Varijabla okruženja Svrha REMOTE_ADDR IP adresa klijentskog stroja. REMOTE_HOST Domaćin klijentskog stroja. HTTP _ACCEPT Navodi tipove MIME podataka koje preglednik može interpretirati. HTTP _USER_AGENT Informacije o pregledniku (vrsta preglednika, broj verzije, operativni sustav itd.). REQUEST_METHOD GET ili POST. CONTENT_LENGTH Veličina unosa ako se šalje putem POST-a. Ako nema unosa ili ako se koristi GET metoda, ovaj parametar je nedefiniran. QUERY_STRING Sadrži ulazne informacije kada se prosljeđuju metodom GET. PATH_INFO Omogućuje korisniku da odredi stazu iz CGI naredbenog retka (na primjer, http://hostname/cgi-bin/programname/path). PATH_TRANSLATED Prevodi relativni put u PATH_INFO u stvarni put na sustavu.

    Da biste napisali CGI aplikaciju koja prikazuje varijable okruženja, morate znati kako učiniti dvije stvari:

    • Definirajte sve varijable okruženja i njihove odgovarajuće vrijednosti.
    • Ispis rezultata u pregledniku.

    Zadnju operaciju već znate izvesti. U Perlu su varijable okoline pohranjene u asocijativnom nizu %ENV, koji je uveden imenom varijable okoline. Ispis 2.3 sadrži env.cgi, Perl program koji postiže naš cilj.

    Ispis 2.3. Perl program, env.cgi, koji ispisuje sve CGI varijable okoline.

    #!/usr/local/bin/perl print "Content-type: text/html\n\n"; ispis" \n"; ispis " CGI okruženje\n"; ispis "\n"; ispis " \n"; ispis "

    CGI okruženje

    \n"; foreach $env_var (tipke %ENV) ( print " $env_var= $ENV($env_var)
    \n"; ) ispis " \n";

    Sličan program mogao bi se napisati u C-u; kompletan kod je u ispisu 2.4.

    Listing 2.4. Env.cgi.c u C. /* env.cgi.c */ #include extern char **okolina; int main() ( char **p = environ; printf("Content-Type: text/html\r\n\r\n"); printf(" \n"); printf(" CGI okruženje\n"); printf("\n"); printf(" \n"); printf("

    CGI okruženje

    \n"); while(*p != NULL) printf("%s
    \n",*p++); printf(" \n"); )

    GET ili POST?

    Koja je razlika između metoda GET i POST? GET prosljeđuje kodirani ulazni niz kroz QUERY_STRING varijablu okoline, dok ga POST prosljeđuje kroz stdin. POST je preferirana metoda, posebno za obrasce s puno podataka, jer nema ograničenja u količini poslanih informacija, dok je kod GET metode količina medijskog prostora ograničena. GET ipak ima određeno korisno svojstvo; ovo je detaljno obrađeno u 5. poglavlju, Unos.

    Kako bi odredio koja se metoda koristi, CGI program provjerava varijablu okruženja REQUEST_METHOD, koja će biti postavljena na GET ili POST. Ako je postavljeno na POST, duljina kodiranih informacija pohranjuje se u varijabli okruženja CONTENT_LENGTH.

    Kodirani unos

    Kada korisnik pošalje obrazac, preglednik prvo kodira informacije prije nego što ih pošalje poslužitelju, a zatim CGI aplikaciji. Kada koristite oznaku , svako polje dobiva simbolično ime. Vrijednost koju unese korisnik predstavlja se kao vrijednost varijable.

    Da bi to utvrdio, preglednik koristi specifikaciju kodiranja URL-a, koja se može opisati na sljedeći način:

    • Različita polja odvaja znakom & (&).
    • Odvaja naziv i vrijednosti znakovima jednakosti (=), pri čemu je naziv s lijeve strane, a vrijednost s desne strane.
    • Zamjenjuje razmake znakovima plus (+).
    • Zamjenjuje sve "nenormalne" znakove znakom postotka (%) iza kojeg slijedi dvoznamenkasti heksadecimalni kod znaka.

    Vaš konačni kodirani niz bit će sličan sljedećem:

    Ime1=vrijednost1&ime2=vrijednost2&ime3=vrijednost3 ...

    Napomena: Specifikacije za URL kodiranje nalaze se u RFC1738.

    Na primjer, recimo da ste imali obrazac koji je tražio ime i dob. HTML kod koji je korišten za prikaz ovog obrasca prikazan je u ispisu 2.5.

    Listing 2.5. HTML kod za prikaz obrasca za ime i dob.

    Ime i dob

    Unesite svoje ime:

    Unesite svoje godine:

    Recimo da korisnik unese Joe Schmoe u polje za ime i 20 u polje za dob. Unos će biti kodiran u ulaznom nizu.

    Ime=Joe+Schmoe&dob=20

    Raščlanjivanje ulaza

    Da bi ove informacije bile korisne, trebate koristiti informacije o nečemu što mogu koristiti vaši CGI programi. Strategije za raščlanjivanje ulaza pokrivene su u 5. poglavlju. U praksi, nikada nećete morati razmišljati o tome kako raščlaniti ulaz, jer je nekoliko stručnjaka već napisalo biblioteke koje rade raščlanjivanje, dostupne svima. Dvije takve biblioteke predstavljene su u ovom poglavlju u sljedećim odjeljcima: cgi -lib.pl za Perl (napisao Steve Brenner) i cgihtml za C (napisao ja).

    Opći cilj većine biblioteka napisanih na različitim jezicima je raščlaniti kodirani niz i staviti parove imena i vrijednosti u strukturu podataka. Postoji očita prednost korištenja jezika koji ima ugrađene podatkovne strukture poput Perla; međutim, većina biblioteka za jezike niske razine kao što su C i C++ uključuje strukturu podataka i izvršavanje potprograma.

    Nije potrebno postići potpuno razumijevanje knjižnica; važnije je naučiti kako ih koristiti kao alate za olakšavanje posla CGI programera.

    Cgi-lib.pl

    Cgi-lib.pl koristi Perl asocijativne nizove. Funkcija &ReadParse analizira ulazni niz i unosi svaki par ime/vrijednost po imenu. Na primjer, odgovarajući Perl nizovi potrebni za dekodiranje upravo predstavljenog ulaznog niza "ime/dob" bili bi

    &ReadParse(*input);

    Sada, da biste vidjeli vrijednost unesenu za "name", možete pristupiti asocijativnom nizu $input("name"). Slično, da biste pristupili vrijednosti "age", trebate pogledati varijablu $input ("age").

    Cgihtml

    C nema nikakve ugrađene strukture podataka, pa cgihtml implementira vlastiti popis veza za korištenje sa svojim CGI rutinama parsiranja. Ovo definira strukturu tipa unosa na sljedeći način:

    Typedef struct ( Char *ime; Char *vrijednost; ) Vrsta unosa;

    Za raščlanjivanje ulaznog niza "ime/dob" u C-u pomoću cgihtml-a koristi se sljedeće:

    /* deklariramo povezanu listu koja se zove input */ Llist input; /* analiziraj unos i mjesto u povezanom popisu */ read_cgi_input(&input);

    Da biste pristupili informacijama o dobi, popis možete analizirati ručno ili upotrijebiti dostupnu funkciju cgi _val().

    #uključi #uključi Char *age = malloc(sizeof(char)*strlen(cgi_val(input, "age")) + 1); Strcpy(dob, cgi_val(unos, "dob"));

    Vrijednost "dob" sada je pohranjena u nizu godina.

    Napomena: Umjesto korištenja jednostavnog niza (kao što je char age ;), ja dinamički dodjeljujem memorijski prostor za string age. Iako ovo otežava programiranje, ipak je važno sa sigurnosne točke gledišta. O tome se detaljnije govori u 9. poglavlju.

    Jednostavan CGI program

    Napisat ćete CGI program nazvan nameage.cgi koji obrađuje obrazac ime/dob. Obrada podataka (ono što obično nazivam "stvarima") je minimalna. Nameage.cgi jednostavno dekodira unos i prikazuje ime i dob korisnika. Iako nema mnogo koristi od takvog alata, on pokazuje najkritičniji aspekt CGI programiranja: ulaz i izlaz.

    Koristite isti obrazac kao gore, pozivajući polja "ime i dob". Nemojte još brinuti o robusnosti i učinkovitosti; riješiti postojeći problem na najjednostavniji način. Rješenja za Perl i C prikazana su u Ispisima 2.6 i 2.7.

    Listing 2.6. Nameage.cgi u Perlu

    #!/usr/local/bin/perl # nameage.cgi zahtijeva "cgi-lib.pl" &ReadParse(*input); print "Content-Type: text/html\r\n\r\n"; ispis" \n"; ispis " Ime i dob\n"; ispis "\n"; ispis " \n"; print "Pozdrav, " . $input("name") . ". Imate\n"; print $input("age") . " godina.

    \n"; ispis " \n";

    Listing 2.7. nameage.cgi u C

    /* nameage.cgi.c */ #include #include "cgi-lib.h" int main() ( llist input; read_cgi_input(&input); printf("Content-Type: text/html\r\n\r\n"); printf(" \n"); printf(" Ime i dob\n"); printf("\n"); printf(" \n"); printf("Zdravo, %s. Ti si\n",cgi_val(input,"name")); printf("%s godina star.

    \n",cgi_val(unos,"dob")); printf(" \n"); )

    Imajte na umu da su ova dva programa gotovo jednaka. Oba sadrže rutine parsiranja koje zauzimaju samo jedan redak i obrađuju cijeli ulaz (zahvaljujući odgovarajućim rutinama knjižnice). Rezultat je u biti modificirana verzija vašeg glavnog programa Hello, World!.

    Pokušajte pokrenuti program ispunjavanjem obrasca i klikom na gumb Pošalji.

    Opća strategija programiranja

    Sada znate sve osnovne principe potrebne za CGI programiranje. Jednom kada shvatite kako CGI prima informacije i kako ih šalje natrag u preglednik, stvarna kvaliteta vašeg konačnog proizvoda ovisi o vašim općim sposobnostima programiranja. Naime, kada programirate CGI (ili bilo što, što se toga tiče), imajte na umu sljedeće kvalitete:

    • Jednostavnost
    • Učinkovitost
    • Svestranost

    Prve dvije kvalitete su prilično uobičajene: pokušajte da vaš kod bude što čitljiviji i učinkovitiji. Svestranost se više odnosi na CGI programe nego na druge aplikacije. Kada počnete razvijati vlastite CGI programe, naučit ćete da postoji nekoliko osnovnih aplikacija koje svatko želi napraviti. Na primjer, jedan od najčešćih i očitih zadataka CGI programa je obrada obrasca i slanje rezultata e-poštom određenom primatelju. Mogli biste obraditi više zasebnih obrazaca, svaki s različitim primateljem. Umjesto pisanja CGI programa za svaki pojedinačni obrazac, možete uštedjeti vrijeme pisanjem općenitijeg CGI programa koji se odnosi na sve obrasce.

    Pokrivajući sve osnovne aspekte CGI-ja, pružio sam vam dovoljno informacija da počnete s CGI programiranjem. Međutim, da biste postali učinkovit CGI programer, morate dublje razumjeti kako CGI komunicira s poslužiteljem i preglednikom. Ostatak ove knjige detaljno pokriva probleme koji su ukratko spomenuti u ovom poglavlju, kao i strategiju razvoja aplikacije te prednosti i ograničenja protokola.

    Sažetak

    Ovo poglavlje ukratko predstavlja osnove CGI programiranja. Izlaz stvarate ispravnim formatiranjem podataka i ispisom u stdout. Primanje CGI unosa malo je složenije jer se mora analizirati prije nego što se može koristiti. Srećom, već postoji nekoliko biblioteka koje izvode raščlanjivanje.

    Do sada bi vam trebalo biti prilično ugodno programirati CGI aplikacije. Ostatak ove knjige ide u detalje o specifikacijama, savjetima i strategijama programiranja za naprednije i složenije aplikacije.

    Iskusan sam i komercijalno usmjeren voditelj marketinga s 13 godina iskustva. Vješt u izradi strategija i dizajniranju inovativnih marketinških planova za poticanje online i offline konverzija kroz više kanala. Strastveni prema razvoju automatiziranih složenih marketinških procesa i putovanja s mjernim podacima koji se mogu pratiti, dok
    uvijek držeći povrat ulaganja kao temeljni fokus. Uvjeren u izgradnji i zapošljavanju timova za tehničku podršku, marketing, korisničku službu i račune.

    SAŽETAK KARIJERE

    Travelopo.com / voditelj marketinga

    Strateško upravljanje glavnim računima, uključujući Booking.com,
    HomeAway, Expedia, AirBnB, TripAdvisor, Hometogo & Holidu.
    Odgovoran za zapošljavanje razvojnih timova, tehničkih timova, timova za marketing, račune i korisničku podršku.
    Odgovoran za pronalaženje i upravljanje vanjskim marketinškim, PR i razvojnim agencijama.
    Odgovoran za upravljanje kanalima (Kigo, Avantio & Rentals United), uključujući rast sa 70 na 520 dobavljača nekretnina u 2 godine.
    Upravljanje svim na web mjestu SEM, PPC, SEO, UX i CRO & PR.
    Izgradnja partnerstva sa 100 članova medija i društvenih utjecaja, s 40 novinarskih putovanja između 2016. i 2018., uključujući međunarodne časopise i novine i utjecajne osobe.
    Odgovoran za izradu cjelokupnog unutarnjeg izvješćivanja koristeći Salesforce CRM rješenje (profit & gubitak, dužnici & vjerovnici & profitabilnost upita i rješenja za kanale za rezervacije).
    Upravljanje integracijom Salesforce CRM rješenja po mjeri, web stranice i rješenja za unos podataka.
    Kompetentan za Salesforce, Google platforme Social Platforms, AutopilotHQ, Segment.com, Mouseflow i GIT, Basecamp, Jira (Agile development) & SEO alate za izvješćivanje (SEMrush, RavenTools, Ahrefs).
    Odgovoran za osiguravanje usklađenosti s PCI & GDPR.
    Odgovoran za pronalaženje i razvoj novih izlaznih kanala.
    Glavne brojke iz posljednje 2 godine: rast od 300% iz godine u godinu, rast s našim najvećim dobavljačem, rast dobavljača nekretnina od 700%, rast ponude nekretnina od 280%.

    Cai Thomas Online Marketing/Osnivač

    Nudi savjetovanje i marketinške usluge za brojne luksuzne robne marke u Ujedinjenom Kraljevstvu.
    Razvijanje strateških SEO, SEM, PPC i affiliate reklamnih kampanja.
    Upravljanje marketinškim kampanjama vođeno KPI-jem.
    10.000% povrata ulaganja za nacionalnu tvrtku za obuku dentalnih implantata.
    Vanjske strane upravljanja uključujući Groupon, Living Social i Amazon.
    Postizanje rezultata na prvoj stranici za sve proizvode koji se nude za sve lokacije na lokalnoj i regionalnoj razini u sektorima kao što su kozmetičke ordinacije, luksuzne tkanine, kupaonice i mjesta za vjenčanja.
    Odgovoran za pronalaženje izvođača iz globalnih mreža za rad na klijentovim projektima.

    Cijeli život/voditelj marketinga

    Odgovoran za upravljanje cjelokupnim marketingom i razvojem unutar grupe usmjereno na učinak. Razvoj poslovanja koji opskrbljuje primatelje franšize s više milijuna funti poslovanja godišnje, s kampanjama koje postižu ROI od 3500%
    Upravljanje marketinškim kampanjama za klijente vođeno KPI-jem.
    Rast od 8.000% u stvaranju potencijalnih klijenata u razdoblju od 12 mjeseci.
    500% ROI na kozmetičke kampanje.
    Upravljane vanjske stranke uključuju Groupon, Living Social i Amazon.
    Odgovoran za planiranje, razvoj, testiranje i uvođenje mreže stranica za rezervacije koristeći sustave kao što su Bookly, WordPress i BookingBug.
    UX i optimizacija vođena podacima za povećanje konverzija.
    Postizanje rezultata na prvoj stranici za sve proizvode koji se nude za sve lokacije pomoću SEO-a.

    PC Dial (PCD IT SUPPORT LTD)/ direktor

    Suosnivač sam i upravljao PCD IT Support Ltd nakon što sam primio 4 kompleta ulaganja od investitora. PC Dial nudi proaktivnu IT podršku za mala i srednja poduzeća diljem Ujedinjenog Kraljevstva. S velikim popisom pretplaćenih mjesečnih klijenata. PC Dial brzo je postao poznata tvrtka za daljinsku IT podršku, specijalizirana za agente za nekretnine. Ovaj posao još uvijek vodi moj zet.
    Odgovoran za povećanje popisa pretplatnika koji plaćaju na 100 korisnika mjesečne podrške.
    Pružanje besplatnih lekcija računala za lokalno područje, uključujući lokalne škole za starije osobe.
    Izlagao na nacionalnim događajima za mala i srednja poduzeća, kao što je Small Business Show.
    Odgovoran za stvaranje partnerstava s globalnim sigurnosnim markama kao što je FSecure.
    Certificiran za Google Partner Program, Microsoft SBS i Google AdWords / Analytics programe.
    Odgovorno ili zapošljava i obučava osoblje koje sudjeluje u nacionalnom programu pripravnika.

    Alternativne kupaonice / voditelj online marketinga

    Upravljanje, razvoj, rast i upravljanje operacijama za jedan od najvećih internetskih lanaca luksuznih kupaonica u Ujedinjenom Kraljevstvu.
    Odgovoran za postizanje rasta od 550% u 9 mjeseci, premašivši sve ciljeve KPI-ja.
    Kao tvrtka povećali smo asortiman proizvoda sa 100 proizvoda na više od 10.000
    proizvoda.
    Pronalaženje novih partnera i dobavljača, povoljno govoreći, komercijalno isplative cijene.
    Osim toga, poduzimanje online oglašavanja za sestrinske robne marke sa sjedištem u izložbenom prostoru.
    Odgovoran za sve SEM, SEO, PPC i offline oglašavanje, uključujući
    upravljanje vanjskom PR agencijom.
    Upravljanje operativnim i administrativnim osobljem u okviru moje funkcije voditelja online marketinga.
    Ovo razdoblje zaposlenja uključivalo je prijenos topbrandbathrooms.com između Colorwash Bathrooms i The Alternative Bathroom Company nakon prodaje poslovanja i menadžerskog otkupa.

    SkyLineSolar.co.uk/Osnivač

    Osnovao, razvio i upravljao SkyLineSolar od travnja 2006. do listopada 2007. (FT), kako bih financirao svoje sveučilišno obrazovanje.
    Odgovoran za pronalaženje dobavljača i proizvoda iz cijelog svijeta.
    Sav promet generiran potpuno organski iz SEO-a.
    Naručio sam i dizajnirao web stranicu OS-commerce.
    Odgovoran za sve korisničke usluge i prodaju, dok se povezuje s tiskom radi stvaranja PR-a i besplatnih reklama u zamjenu za recenzije.
    Prodao sam tvrtku zbog akademskog vremenskog ograničenja.

    SAŽETAK KARIJERE

    BSC geografija i upravljanje okolišem t, 2:1– Sveučilište zapadne Engleske – 2009
    Geografija, kemija i poslovne studije A razine– Backwell Comprehensive School – 2005

    HOBIJI & INTERESI

    Volim putovati i jesti vani, šetati naša dva psa, uživati ​​u vremenu sa suprugom i dječačićem. Uživam čitati i slušati knjige koje se uglavnom fokusiraju na znanost, ekonomiju i politiku.
    Kao sporedni projekt za ažuriranje svog znanja, upravljam i automatiziram višestruke račune na društvenim mrežama, pri čemu 4 najveća imaju 70 tisuća, 50 tisuća, 35 tisuća i 20 tisuća Instagram pratitelja, s korisnikom
    poslani sadržaj je jedini izvor sadržaja, s objavama koje redovito generiraju više od 2K organskih angažmana (lajkovi/komentari).

    "Designed by: PHPLD Your Site" "Pošalji članak" "Powered by ArticleMS" "Pošalji članak" "Glavni izbornik" "Najnoviji članci" "Dizajner: Astralinks Directory" "Pošalji članak" "Pošalji članke" "Prijava za članove" "Najpopularnije Članci" "RSS članaka" "Polja označena zvjezdicom su obavezna" joomla "Dizajner: besplatni PHPLD predlošci" "Pošalji članak" "RSS članci" "RSS komentari" "Nedavni članci" "Autorizacija" "Korisničko ime:" "Lozinka: " "Zapamti me" "Registriraj se" "Izgubili ste lozinku?" "Startseite ? Weblogs ? Weblog von" "RSS Feeds" "Dodajte nas u favorite" "Učinite nas svojom početnom stranicom" "Pošaljite članke" "Redovne veze s recipročnim" Inurl članka: "/access/unauthenticated" Forumi "Predložak DevHunters. com" "Dodajte članak" "Ponosno pokreće WordPress i BuddyPress" "Dizajner: besplatni PHPLD predlošci" "Dodajte članak" "Ovo pitanje služi za provjeru jeste li ljudski posjetitelj i za sprječavanje automatiziranog slanja neželjene pošte" "Za provjeru uzajamne veze uključite sljedeći HTML kod na stranicu na URL" "Dodajte članak" "Nasumična priopćenja za tisak" "Skripta priopćenja za tisak" inurl:"/blogs/load/recent" "Članak tjedna" "Imenik članaka Sva prava pridržana. " "Designed by: PHPLD Your Site" "Send article" "Alexa Information" "Listing Details" "LISTING URL" "Site Statistics" "Add Article" "Designed by One Way Links" "Add Article" "Pozivamo vas da provjerite naš katalog članaka iz kategorija s vaše lijeve strane i svakako dodajte ovu stranicu u svoje favorite!" "Dizajner: PHPLD predlošci" "Dodaj članak" "Više informacija o tekstualnim formatima" "Ocijeni autora: Trenutno:" "Pokreće: php Link Directory" "Dodaj članak" "Neprihvatljive stranice, sadržaj i nekoliko razloga zašto podnesci nisu odobreni: " "Dodaj članak" "Predložak od Yazzoo" "Dodaj članak" "Tema od: Romow web imenik" "Pošalji članak" "Pokreće WordPress + dodatak za imenik članaka" "Tema od: web imenik" "Pošalji članak" "RSS članci" "RSS komentari" "Nedavni članci" "Pokreće: php Link Directory" "Dodaj članak" "%E8%AB%8B%E6%BA%96%E7%A2%BA%E5%A1%AB%E5%85% A5%E6%82%A8%E7%9A%84%E9%83%B5%E7%AE%B1%EF%BC%8C%E5%9C%A8%E5%BF%98%E8%A8%98% E5%AF%86%E7%A2%BC%EF%BC%8C%E6%88%96%E8%80%85%E6%82%A8%E4%BD%BF%E7%94%A8%E9% 83%B5%E4%BB%B6%E9%80%9A%E7%9F%A5%E5%8A%9F%E8%83%BD%E6%99%82%EF%BC%8C%E6%9C% 83%E7%99%BC%E9%80%81%E9%83%B5%E4%BB%B6%E5%88%B0%E8%A9%B2%E9%83%B5%E7%AE%B1% E3%80%82" "Korištenje dodatka za direktorij članaka" "Ovaj direktorij veza koristi sesije za pohranjivanje informacija" "Dodaj članak" "Izbornik bloga" "Stvori blog" "Moji blogovi" "PHPmotion" "PHPLD KLUB - BESPLATNE TEME ZA VAS" "Dodaj članak" "Skinuo: Web Design Directory" "Dodaj članak" "Predložak Yazzoo" "Dodaj članak" "Predložak DevHunters.com" "Dodaj članak" "Nemate dopuštenje za komentiranje. Ako se prijavite, možda ćete moći komentirati" "Predložak prema besplatnim PHPLD predlošcima" "Dodaj članak" "Sponzorirao: Webmaster Tips & Tricks / Preuzmite BESPLATNE phpLD teme" "Pošalji članak" "Tema prema: Web imenik" "Dodaj Članak" "Upotrijebite članke u našem imeniku na svojoj web stranici kako biste svojim posjetiteljima pružili uslugu" "Pokreće: php imenik veza" "Pošalji članak" "Podržano licitacijom za poziciju" "Dodaj članak" "Tema autora: Romow Web imenik" "Pošalji Članak" "Podržano licitacijom za poziciju" "Pošalji članak" "Podržano licitacijom za poziciju" "Dodaj članak" "Sponzorirano od: Webmaster Tips & Tricks / Preuzmite BESPLATNE phpLD teme" "Pošalji članak" "Dizajnirali Mitre Design i SWOOP" "Pošalji članak" "Tema od: Web direktorij" "Dodaj članak" "Kućni video zapisi Audio" Blogovi phpmotion "Predložak od DevHunters.com" "Pošalji članak" "Designed By: Invitation Web imenik" "Dodaj članak" "registrirani autori u našem direktorij članaka" "PHP imenik veza" "Dodajte članak" "Sponzorirao: Savjeti i trikovi za webmastere / Preuzmite BESPLATNE phpLD teme" "Dodajte članak" "Pokreće nadzorna ploča članaka" "Prijava ili registracija um Komentare zu schreiben" "Početak? Blogovi" "Razvio Hutbazar" "Dodaj članak" Početna Članovi RSS "stvorili su grupu" "Molimo kreirajte račun da biste započeli." "Pokreće: Ultimate prilagođen članku" inurl:"/wp-login.php?action=register " "Dizajner: PHPLD predlošci" "Pošalji članak" "pokreće joomla" "dodaj novi post" "Designed by One Way Links" "Dodaj članak" "Za potvrdu uzajamne veze uključite sljedeći HTML kod na stranici na URL " "Pošalji članak" "Sponzorirano od Directhoo" "Dodaj članak" "Predložak: Emillie Premium Directory" "Pošalji članak" "Postoje * objavljeni članci i * registrirani autori" inurl:"/node/1" "Ti si ovdje" "Objavite svoj članak u RSS formatu za druge web stranice za udruživanje" "Predložak od Yazzoo" "Pošaljite članak" "Pokreće PHPLD" "Pošaljite članak" "Članci s pravopisnim ili gramatičkim pogreškama bit će izbrisani" "DIREKTORIJ SKRIPTA PO PHP DIREKTORIJA VEZA " "Dodajte članak" inurl:submitguide.php "pošaljite članke" "Odabir urednika" "Skripta za tisak" "Dodajte članak" "PHP imenik veza" Početna "Besplatna prijava" "Pošaljite članak" "O nama" "Kontaktirajte nas" " Pretraži web mjesto" "Prijava autora" "Alexa informacije" "Detalji popisa" "URL LISTINGA" "Statistika web mjesta" "Dodaj članak" "Ovaj direktorij veza koristi sesije za pohranjivanje informacija" "Dodaj članak" "Dizajnirao: PHPLD Vaša web stranica" " Dodaj članak" "Pošalji članke" "Ako još nemate račun, možete se registrirati ovdje. " "designed by AskGraphics.com" "Pošalji članak" inurl:"/user/profile.php?id=" moodle "Najbolje ocijenjena priopćenja za tisak" "Skripta priopćenja za tisak" "Nemojte slati članke pune pravopisnih pogrešaka i loše gramatike" "Theme by: Romow Web Directory" "Add Article" "Upotrijebite okvir za pretraživanje članaka da pronađete članke o nizu tema" "Sponsored by Directhoo" "Add Article" "PHP Link Directory" inurl:"submit_article.php" "This autor je dosad objavio * članaka. Više informacija o autoru uskoro." "Pokreće PHPLD" "Pošalji članak" "Pokreće PHPmotion" - besplatna video skripta "Pokreće: php Link Directory" "Pošalji članak" "Želite li da vam svakodnevno šaljemo sažetak o novim člancima svaki dan" "Stručni autori" "Imenik članaka Sva prava pridržana." "PHP imenik veza" "Dodaj članak" "Skinirao: Imenik web dizajna" "Pošalji članak" Naslovna stranica predmeta "Dopusti komentare" "Dopusti povratne tragove" "Maksimum privitaka" "Početni blogovi" "Prijavite se ili se registrirajte za objavljivanje komentara" "PHPLD KLUB - BESPLATNE TEME ZA VAS" "Pošalji članak" "Pošalji vezu" Cijene "Unesite prikazani kod" "Ovo pomaže u sprječavanju automatske registracije." Pošaljite članak " "Designed by: Invitation Web Directory" "Pošalji članak" "Predložak autor: Emillie Premium Directory" "Dodaj članak" "Ovaj imenik veza koristi sesije za pohranu informacija" "Pošalji članak" "Da biste spriječili automatsko slanje neželjene pošte, ostavite ovo polje prazno" Država "Grad/mjesto" "Zadnji pristup" "Niste prijavljeni" "Skripta imenika članaka u Wordpressu" "Direktorij poveznica za PHP" "Dodaj članak" "Članci uživo" "Imenik članaka Sva prava pridržana." "Detalji o članku" "Vi morate se prijaviti da biste ostavili ocjenu" "Morate biti prijavljeni da biste ostavili komentar" "Designed by One Way Links" "Pošalji članak" "Designed by: Invitation Web Directory" "Add Article" "Template by: Emillie Premium Directory " "Pošalji članak" "Sadržaj ovog polja je privatan i neće biti javno prikazan" "Dizajnirao: Futuristički umjetnici" "Dodaj članak" "Dizajner: Astralinks Directory" "Pošalji članak" "Neprihvatljive stranice, sadržaj i nekoliko razloga zašto podnesci nisu odobreni:" "Dodaj članak" "Vruća priopćenja za tisak" "Skripta priopćenja za tisak" "Obavijesti me o novim objavama e-poštom" inurl:"populararticles.php" "Vaše virtualno lice ili slika" "Pošalji članak" "PHP Imenik veza" "Poslao" "Prijavite se ili se registrirajte za objavljivanje komentara" "Pretražite ovu stranicu:" "Detalji o članku" "Morate biti prijavljeni da biste ostavili ocjenu" "Morate biti prijavljeni da biste ostavili komentar" " Wordpress članak Skripta direktorija" "PHP Link Directory" "Pošalji članak" "pokreće vbulletin" "Nedavni postovi na blogovima" "Pošalji članke" inurl:"submitart.php" "Designed by: Invitation Web Directory" "Pošalji članak" "Pošalji članke " " Ukupno članaka" "Ukupno autora" "Ukupno preuzimanja" "Dizajnirao Mitre Design i SWOOP" "Dodaj članak" "Dizajnirao: Futuristički umjetnici" "Pošalji članak" "Možete postaviti detaljne konfiguracije komponenti dvostrukim klikom na pozadinu, tekst, slike , ili citati" "Kategorije priopćenja za tisak" "Skripta priopćenja za tisak" "Designed by: PHPLD Your Site" "Dodaj članak" "Sponzorirano od strane Directhoo" "Pošalji članak" "Uvjeti usluge autora" "Uvjeti usluge izdavača" " Odricanje od odgovornosti" "Zadržavamo pravo uključivanja oglašavanja na stranice s vašim člancima" "pokreće phpmotion" Blogovi inurl:"login.php" "Prijavite se sada za slanje vlastitih članaka" Početna "Dodajte članak" "Najnovije veze" "Najbolji hitovi " " Powered by ArticleMS from ArticleTrader.com" "Poslao anonimac" "Prijavite se ili se registrirajte za objavljivanje komentara" "Najpopularniji članci" "Imenik članaka Sva prava pridržana. " "Skinned by Addictive Games" "Pošalji članak" "Uvjeti korištenja" "Ovo je samo demo stranica." "themes/default/templates/generic_terms.htm" "Pošalji vezu" Cijene "Unesite prikazani kod" "Ovo pomaže spriječi automatizirane registracije." "Dodaj članak" "Skinned by Addictive Games" "Pošalji članak" inurl:"login2submitart.php" "Postoje * objavljeni članci i * registrirani autori u našem imeniku članaka." "Ocijenite ovaj članak: Trenutno:" Subject inurl:"act=dispBoardWrite" inurl:"login.php" "Prijavite se za pristup svojoj autorskoj upravljačkoj ploči" "Pošalji vezu" Cijene "Unesite prikazani kod" "Ovo pomaže u sprječavanju automatske registracije." "Pošalji članak" moodle "public profil" "Navedite lozinku za novi račun u oba polja Lozinka mora biti najmanje" "Za potvrdu uzajamne veze uključite sljedeći HTML kod na stranici na URL" "Dodaj članak" "Skinned by Addictive Games" "Dodaj Članak" "Više informacija o opcijama oblikovanja" "Designed by One Way Links" "Submit Article" "Alexa Information" "Listing Details" "LISTING URL" "Site Statistics" "Submit Article" "designed by AskGraphics.com" "Add Article " "Objavljivanjem članaka prepunih informacija, uskoro ćete uživati" inurl:"submitarticles.php" "Pokreće skripta za priopćenje za javnost" "Prijavite se" "Molimo vas da ispunite ovaj obrazac, a mi ćemo vam poslati e-poštu dobrodošlice da potvrdimo vaš adresu e-pošte i prijavite se." Forumi "Dizajner: besplatni PHPLD predlošci" "Dodajte članak" inurl:"/blog/index.php?postid=" moodle "Razvio Hutbazar" "Pošaljite članak" "Dizajner: Astralinks direktorij" "Dodajte članak" "Objavite svoj članak u RSS format za druge web stranice za udruživanje" Početna "Pošalji članak" "Najnovije veze" "Najbolji hitovi" "Predložak od DevHunters.com" "Pošalji članak" veza:"www.articledashboard.com" "Prijavite se na svoj račun" "Prijavite se na pristupite svojoj autorskoj upravljačkoj ploči" "Nemate račun?" "Vaš izvor besplatnih članaka na jednom mjestu. Trebate li sadržaj za dodavanje na svoju web stranicu?" "Pokreće PHPLD" "Dodaj članak" "Reci i paragrafi se automatski prekidaju" "Nedavno odobreni članci" "Direktorij članaka Sva prava pridržana." "Predložak autor: PHPmotionTemplates.com" " Smart Blog" "Dodaj novi post" "PHP Link Directory" inurl:"submit_article.php" "DIRECTORY SKRIPT BY PHP LINK DIRECTORY" "Dodaj članak" "Podržano licitacijom za poziciju" "Pošalji članak" "PHP Link Directory" "Pošalji članak " "DIREKTORIJSKA SKRIPTA PO PHP IMENIK VEZA" "Pošalji članak" "Razvio Hutbazar" "Pošalji članak" "Sponzorirao: Webmaster Savjeti i trikovi / Preuzmite BESPLATNE phpLD teme" "Dodajte članak" "Vrući članci" "Imenik članaka Sva prava pridržana . " "Powered Free by PHPmotion" Blogovi "Obavijesti me kada budu objavljeni novi komentari" "Za potvrdu uzajamne veze uključite sljedeći HTML kod na stranici na URL-u" "Pošalji članak" "Sada postoje * izvrsni članci u našoj bazi podataka od * Autori" "Ovaj imenik veza koristi sesije za pohranu informacija" "Pošalji članak" "prenesite svoje članke i budite u tijeku s novim člancima." Početna "Dodajte članak" "Najnovije veze" "Najbolji hitovi" "Neprihvatljive stranice, sadržaj i nekoliko razlozi zašto podnesci nisu odobreni:" "Pošalji članak" "Copyright * vBulletin Solutions" "Stvori blog" "Predložak besplatnim PHPLD predlošcima" "Dodaj članak" "Priopćenje tjedna" "Skripta priopćenja za tisak" "Predložak besplatnih PHPLD Predlošci" "Pošaljite članak" "prenesite svoje članke i budite u tijeku s novim člancima." "PHPLD KLUB - BESPLATNE TEME ZA VAS" "Dodajte članak" "Objavite komentare na članak" "Imenik članaka Sva prava pridržana." "Stvorite novi račun Prijavite se Zatražite novu zaporku" "Upotrijebite članke u našem imeniku na svojoj web stranici kako biste svojim posjetiteljima pružili uslugu" "SKRIPTA IMENIKA PO PHP DIREKTORIJA VEZA" "Pošalji članak" "Pokreće WordPress ž Korištenje dodatka imenika članaka" "Skinned by Addictive Games" "Dodaj članak " "Nedavno odobreno" "Skripta priopćenja za tisak" "Odabir urednika" "Imenik članaka Sva prava pridržana." "Alexa informacije" "Detalji popisa" "URL ISPISA" "Statistika web mjesta" "Pošalji članak" "Predložak autor: Emillie Premium Directory" "Dodaj članak" "Support Software by Zendesk" Forumi "Designed by: Futuristic Artists" "Dodaj članak" "Niste prijavljeni. (Prijava)" Država "Grad/mjesto" "Web stranica" "Nasumični članci" "Imenik članaka Sva prava pridržana." "Dizajnirali Mitre Design i SWOOP" "Dodaj članak" "Razvio Hutbazar" "Dodaj članak" "Kontaktirajte nas " "Ovo je samo demo stranica." "themes/default/templates/generic_contactus.htm" "Neprihvatljive stranice, sadržaj i nekoliko razloga zašto se prijave ne odobravaju:" "Pošalji članak" "Javna grupa" "Popularni pojmovi za pretraživanje" " Nedavni pojmovi pretraživanja" "Pokreće UCenter Home" "Dizajner: PHPLD predlošci" "Pošalji članak" "Dobrodošli!" "Prijava članka" "Naši novi članci" "Pokreće: Prijateljski za članke" "ukupno članaka" "Dizajner: PHPLD predlošci" "Dodaj članak" "Predložak prema besplatnim PHPLD predlošcima" "Pošalji članak" "Tema prema: Web imenik" "Pošalji članak" "Ako ste angažirali pisca duhova, slažete se da ste" "designed by AskGraphics.com" "Pošalji Članak" "Dizajner: Astralinks imenik" "Dodaj članak" "Dizajnirao: Futuristički umjetnici" "Pošalji članak" "Stručni autori" "Skripta za tisak" "O autoru" "Nedavni postovi" "Dodaj novi komentar" "Dizajn web stranice i Developed by ArticleBeach" "Skinned by: Web Design Directory" "Submit Article" "Unesite lozinku za novi račun u oba polja" "Designed by Mitre Design and SWOOP" "Submit Article" "Evo 100 najpopularnijih članaka na" "Article Script - Powered by Article Marketing" "Pošaljite članke" "Molimo prijavite se za pisanje komentara" "dodajte novi post" "Prijavite se za objavljivanje novog sadržaja na forumu. " "Powered by Drupal" "softver za podršku" inurl:"/entries/" "Wordpressova skripta direktorija članaka" "PHP imenik veza" "Pošalji članak" "Dodaj članak" "PHP imenik veza" "Pošalji vezu" Cijene "Unesite kod prikazano" "Ovo pomaže automatizirano spriječiti registracije." "Dodaj članak" "PHP imenik veza" "Pošalji članak" "Stvorite vlastitu osobnu adresu kako bi vas vaši prijatelji i obitelj mogli pronaći!" "Najcjenjeniji članci" "Imenik članaka Sva prava pridržana ." "Skinned by: Web Design Directory" "Add Article" "Regular links with reciproc" Article "Template By Yazzoo" "Submit Article" "Submit Article" "PHP Link Directory" "Theme by: Romow Web Directory" "Dodaj članak " "PHPLD KLUB - BESPLATNE TEME ZA VAS" "Pošalji članak" Početna stranica "Pošalji članak" "Najnovije veze" "Najbolji hitovi" "Dobrodošli u imenik članaka *. Ovdje možete pronaći zanimljive i korisne informacije o najpopularnijim temama." "O nama" "Ovo je samo demo stranica." "themes/default/templates/generic_aboutus.htm" "Najnoviji autori" "Dobrodošli našim novim autorima!" "Kao član moći ćete" "Dakle, što čekate?" "Registrirajte se sada za početak, zabavno je i BESPLATNO!" Blogovi "Dizajner: Besplatni PHPLD predlošci" "Pošalji članak" "Wordpress Skripta direktorija članaka" "PHP imenik veza" "Dodaj članak" "Dodatni članci od" "Objavio anonimni (nije potvrđeno)" "designed by AskGraphics.com" "Dodaj članak" "Prijavite se za pristup svojoj autorskoj upravljačkoj ploči" "Prijavite se sada za slanje vlastitih članaka" "Ovo je pitanje za provjeru jeste li ljudski posjetitelj i za sprječavanje automatiziranog slanja neželjene pošte" inurl:"/node/2" "Ovdje ste" "Oglašavajte s nama" "Ovo je demo samo stranica." "themes/default/templates/generic_advertise.htm" "Sponsored by Directhoo" "Pošalji članak" veza:www.articletrader.com "Pokreće vBulletin" "Stvori blog" "Pokreće PHPLD" "Dodaj članak" inurl :"/node/3" "Ti si ovdje" "Dizajnirao i razvio ArticleBeach" "Pokreće nadzorna ploča članaka" inurl:submitarticles.php inurlopulararticles.php "Pokreće: prilagođeno člancima" inurl:submitguide.php "pošalji članke" " Powered by ArticleMS" "Korištenje dodatka za imenik članaka" "Pridružite se sada kako biste promovirali svoje poslovanje, pronašli partnere, izgradili odnose i ponovno se povezali sa zajednicom. Sinkronizacija s Facebookom Twitterom E-pošta SMS i još mnogo toga" "je usluga mikro-blogiranja temeljena na alatu Free Software Laconica." "Vanjski profili" "Posljednji na mreži" "O meni" "Javne bilješke" FAQ Kontakt "Mobilno sučelje" "što su radite" "grupe" "Najpopularnije" "Sve grupe" "Zaboravili ste lozinku? " "Pokreće" "revou" "Pridružite se sada kako biste promovirali svoje poslovanje, pronašli partnere, izgradili odnose i ponovno se povezali sa zajednicom. Sinkronizirajte s Facebookom Twitterom E-pošta SMS i još mnogo toga" "Imate problema s prijavom?" "Javne bilješke" "sve vrijeme" "prošli mjesec" "prikaži ažuriranja slika" "prikaži ažuriranja teksta" inurl:"/recentupdates.php?m=" "Pokreće softver za mikroblogiranje StatusNet" "usluga za mikroblogiranje temeljena na alatu za besplatni softver StatusNet." "pridružite se razgovoru" "kod slike" "registrirajte se ispod." "korisnici mogu komunicirati koristeći brza ažuriranja statusa od 160 znakova ili manje." "Ovaj slobodni dijalog omogućuje vam slanje poruka, slika i videa bilo kome" "Prijavite se svojom adresom e-pošte. Već ima * registriranih članova." "Moj tekst i datoteke dostupni su pod Creative Commons Attribution 3.0 osim ovih privatnih podataka: lozinka, adresa e-pošte, IM adresa i telefonski broj." grupe "Najpopularnije" "Sve grupe" "Zaboravili ste lozinka?" "Powered by" "ReVou Software" "Neka moje poruke budu vidljive svim korisnicima, ne samo mojim prijateljima" "Powered by Sharetronix" "Powered by Jisko" "Pomoću ovog obrasca možete stvoriti novi račun. Tada možete objavljivati ​​obavijesti i povezivati ​​se s prijateljima i kolegama." "Ovim obrascem možete stvoriti novi račun. Zatim možete objavljivati ​​obavijesti i povezivati ​​se s prijateljima i kolegama." "Moj tekst i datoteke dostupni su pod Creative Commons Attribution 3.0 osim ovih privatnih podataka: lozinka, adresa e-pošte, IM adresa i telefonski broj." "Vaše ime (bez razmaka) između slova i riječi)" "Pokreće Blogtronix" "pokreće twitter skripta" "Autorska prava * Twitter skripta" "Pokreće softver za mikroblogiranje Laconica" "Pokreće * skripta" inurl:"/recentupdates.php" "Pokreće skripta Scritter " "Priložena slika: " "Pokreće Blogtronix" "Javne bilješke" "Uvjeti usluge" "Normalna verzija" "Također je lako pronaći i povezati se s drugim ljudima za privatne teme i pratiti njihova ažuriranja." " Javne bilješke" "Normalna verzija" "Prijava" "Pokreće ReVou Software" inurl:"Special:UserLogin" wiki inurl:":UserLogin" "Tema: Feb12" "prva" "prethodna" "1-20 od" "sljedeća" inurl:groups inurl:"http://wiki." "Nedavno komentirane stranice" "CategoryWiki" inurl:"title=Lietot%C4%81ja_diskusija:" "MoinMoin Powered" "Valid HTML 4.01" inurl:"Utilizador:" wiki inurl :"title=Korisnik:" wiki "Ova stranica je posljednji put prikazana" "Ova stranica je" "Prijave / registracije" "MoinMoin Powered" "GPL licencirano" inurl:"title=%D0%9E%D0%B1%D0 %B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F_%D0%BA%D0%BE%D1%80%D0%B8 %D1%81%D1%82%D1%83%D0%B2%D0%B0%D1%87%D0%B0:" "DokuWiki podržava neke jednostavne jezike za označavanje" "Što je novo" "Nedavne promjene" "Nadolazeći događaji" "Oznake" inurl:"title=Diskuse_s_u%C5%BEivatelem:" "Mac OS X Server - Wikis" inurl:"title=%E0%A6%AC%E0%A7%8D%E0%A6%AF%E0 %A6 %AC%E0%A6%B9%E0%A6%BE%E0%A6%B0%E0%A6%95%E0%A6%BE%E0%A6%B0%E0%A7%80_%E0%A6 %86 %E0%A6%B2%E0%A6%BE%E0%A6%AA:" inurl:"tiki-forums.php" inurl:"User_talk:" wiki "Naći ćete više korisnih stranica u kategoriji Wiki ili u PageIndex" inurl:"title=Kasutaja_arutelu:" inurl:"title=%E5%88%A9%E7%94%A8%E8%80%85%E2%80%90%E4%BC%9A%E8% A9% B1:" inurl:"Spezial:Anmelden" wiki "Thčme: Strasa - Mono" inurl:"title=Diskuse_s_wikistou:" "Surađujte u izradi, uređivanju i komentarima dokumenata na mreži. " "Prijavi se na moju stranicu" "wikis" inurl:/wiki/dokuwiki inurl:"wiki/RecentlyCommented" inurl:"http://mediawiki." inurl:"title=%E5%88%A9%E7%94% A8%E8%80%85%E3%83%BB%E3%83%88%E3%83%BC%E3%82%AF:" inurl:"%ED%8A%B9%EC%88%98%EA %B8%B0%EB%8A%A5:%EB%A1%9C%EA%B7%B8%EC%9D%B8" wiki inurl:"title=%D7%A9%D7%99%D7%97%D7 %AA_%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9:" "Tema: Eatlon" "Nema komentara na ovoj stranici." "Vaše ime hosta je" "Valjani XHTML" "Valjano CSS" inurl:"title=%D8%A8%D8%AD%D8%AB_%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1:" inurl:"title=Usuario:" inurl :"/wikka.php?wakka=UserSettings" "što ovdje vodi" "povezane promjene" "posebne stranice" inurl:"title=%E0%B8%84%E0%B8%B8%E0%B8%A2%E0% B8%81%E0%B8%B1%E0%B8%9A%E0%B8%9C%E0%B8%B9%E0%B9%89%E0%B9%83%E0%B8%8A%E0%B9% 89:" intitle:"Mac OS X Server" "Pokreće TikiWiki CMS/Groupware v2" "Ova stranica je zadnji put modificirana" "Ovoj stranici je pristupljeno" "Prijava / kreiranje računa" "Nepromjenjiva stranica" Info prilozi "Postoji trenutno nema teksta na ovoj stranici, možete tražiti naslov ove stranice na drugim stranicama ili urediti ovu stranicu." "Pokreće DokuWiki" "Hvala što ste instalirali TikiWiki!" inurl:"title=Special:UserLogin" "Diese Seite wurde zuletzt am" "Diese Seite wurde bisher" "Anmelden / Benutzerkonto erstellen" inurl:"Utilisateur:" wiki inurl:groups "prijavi se na moju stranicu" "updates" "wikis" "blogovi" "calendar" "mail" "Theme: Ohia " "Pokreće TikiWiki" FrontPage RecentChanges FindPage Help Contents inurl:"title=Th%E1%BA%A3o_lu%E1%BA%ADn_Th%C3%A0nh_vi%C3%AAn:" inurl:"title=Szerkeszt%C5%91vita: " inurl:"/wikka/UserSettings" "Što je novo" "Nedavne promjene" "Nadolazeći događaji" inurl:"%C4%90%E1%BA%B7c_bi%E1%BB%87t:%C4%90%C4% 83ng_nh% E1%BA%ADp" wiki inurl:"%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:" wiki inurl:" title= Pembicaraan_Pengguna:" inurl:"wiki/index.php?title=" wiki inurl:"title=%E0%A4%B8%E0%A4%A6%E0%A4%B8%E0%A5%8D%E0%A4%AF_%E0%A4%B5%E0%A4%BE%E0%A4%B0%E0%A5%8D%E0%A4%A4%E0%A4%BE:" inurl:"title=Benutzer_Diskussion:" "Theme: Fivealive" inurl:"title=Diskusia_s_redaktorom:" "What’s Hot" "Recent Changes" "Upcoming Events" "Tags" "Edited" inurl:"tiki-index.php" inurl:"title=%D0%A0%D0%B0%D0%B7%D0%B3%D0%BE%D0%B2%D0%BE%D1%80_%D1%81%D0%B0_%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D0%BD%D0%B8%D0%BA%D0%BE%D0%BC:" inurl:"title=Bruger_diskussion:" inurl:"Especial:Registre_i_entrada" wiki inurl:"title=Usuari_Discussi%C3%B3:" inurl:"title=Overleg_gebruiker:" inurl:"title=%CE%A3%CF%85%CE%B6%CE%AE%CF%84%CE%B7%CF%83%CE%B7_%CF%87%CF%81%CE%AE%CF%83%CF%84%CE%B7:" "Make sure to whitelist this domain to prevent registration emails being canned by your spam filter!" inurl:"Especial:Userlogin" wiki inurl:"%E4%BD%BF%E7%94%A8%E8%80%85:" wiki inurl:"title=Usuario_discusi%C3%B3n:" inurl:"title=Brugerdiskussion:" "Theme: Jqui" inurl:"title=Brukerdiskusjon:" "wiki is licensed under" "What’s Hot" "Recent Changes" inurl:"tiki-login.php" inurl:"Special:Inloggning" wiki "MoinMoin Powered" inurl:"Speci%C3%A1ln%C3%AD:P%C5%99ihl%C3%A1sit" wiki inurl:"Speci%C3%A1lis:Bel%C3%A9p%C3%A9s" wiki inurl:"title=Anv%C3%A4ndardiskussion:" inurl:"Special:Whatlinkshere" "pageindex" "recentchanges" "recentlycommented" inurl:"/RecentlyCommented" site:.edu "forums register" site:.edu "register iam over 13 years of age forum" site:.edu "discussion board register" site:.edu "bulletin board register" site:.edu "message board register" site:.edu "phpbb register forum" site:.edu "punbb register forum" site:.edu "forum signup" site:.edu "vbulletin forum signup" site:.edu "SMF register forum" site:.edu "register forum Please Enter Your Date of Birth" site:.edu "forums - Registration Agreement" site:.edu "forum Whilst we attempt to edit or remove any messages containing inappropriate, sexually orientated, abusive, hateful, slanderous" site:.edu "forum By continuing with the sign up process you agree to the above rules and any others that the Administrator specifies." site:.edu "forum In order to proceed, you must agree with the following rules:" site:.edu "forum register I have read, and agree to abide by the" site:.edu "forum To continue with the registration procedure please tell us when you were born." site:.edu "forum I am at least 13 years old." site:.edu "Forum Posted: Tue May 05, 2009 8:24 am Memberlist Profile" site:.edu "View previous topic:: View next topic forums" site:.edu "You cannot post new topics in this forum" site:.edu "proudly powered by bbPress" site:.edu "bb-login.php" site:.edu "bbpress topic.php" site:.edu "Powered by PunBB viewforum.php" site:.edu "Powered by PunBB register.php" site:.edu "The Following User Says Thank You to for this post" site:.edu "BB code is On" site:.edu "Similar Threads All times are GMT +1? site:.edu "If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post" site:.edu "Hot thread with no new posts" site:.edu "Thread is closed" site:.edu "There are 135 users currently browsing forums." site:.edu "forums post thread" site:.edu "forums new topic" site:.edu "forums view thread" site:.edu "forums new replies" site:.edu "forum post thread" site:.edu "forum new topic" site:.edu "forum view thread" site:.edu "forum new replies" site:.edu "add topic" site:.edu "new topic" site:.edu "phpbb" site:.edu "view topic forum" site:.edu "add message" site:.edu "send message" site:.edu "post new topic" site:.edu "new thread forum" site:.edu "send thread forum" site:.edu "VBulletin forum" site:.edu "Quick Reply Quote message in reply?" site:.edu "Currently Active Users: 232 (0 members and 232 guests)" site:.edu "Currently Active Users: members and guests" site:.edu "Forums Posting Statistics Newest Member" site:.edu "Users active in past 30 minutes: SMF" site:.edu "Users active in past 30 minutes: Most Online Today Most Online Ever" site:.edu "Most Online Today Most Online Ever Forums" site:.edu "Currently Active Users: 18 (0 members and 18 guests)" site:.edu "Users active today: 15478 (158 members and 15320 guests)" site:.edu "Threads: 673, Posts: 7,321, Total Members: 376? site:.edu "Add this forum to your Favorites List! Threads in Forum:" site:.edu "Threads in Forum Hot thread with no new posts" site:.edu "powered by vbulletin" site:.edu "powered by yabb" site:.edu "powered by ip.board" site:.edu "powered by phpbb" site:.edu "powered by phpbb3? site:.edu "powered by invision power board" site:.edu "powered by e-blah forum software" site:.edu "powered by xmb" site:.edu "powered by: fudforum" site:.edu "powered by fluxbb" site:.edu "powered by forum software minibb" site:.edu "this forum is powered by phorum" site:.edu "powered by punbb" site:.edu "powered by quicksilver forums" site:.edu "powered by seo-board" site:.edu "powered by smf" site:.edu "powered by ubb.threads" site:.edu "powered by the unclassified newsboard" site:.edu "powered by usebb forum software" site:.edu "powered by xennobb" site:.edu "powered by yaf" site:.edu "Powered By MyBB" site:.edu "Powered by IP.Board" site:.edu "powered by phpbb" site:.edu "forums post thread" site:.edu "forums new topic" site:.edu "forums view thread" site:.edu "forums new replies" site:.edu "forum post thread" site:.edu "forum new topic" site:.edu "forum view thread" site:.edu "forum new replies" site:.edu "forum" site:.edu "phorum" site:.edu "add topic" site:.edu "new topic" site:.edu "phpbb" site:.edu "yabb" site:.edu "ipb" site:.edu "posting" site:.edu "add message" site:.edu "send message" site:.edu "post new topic" site:.edu "new thread" site:.edu "send thread" site:.edu "vbulletin" site:.edu "bbs" site:.edu "intext:powered by vbulletin" site:.edu "intext:powered by yabb" site:.edu "intext:powered by ip.board" site:.edu "intext:powered by phpbb" site:.edu "inanchor:vbulletin" site:.edu "inanchor:yabb" site:.edu "inanchor:ip.board" site:.edu "inanchor:phpbb" site:.edu "/board" site:.edu "/board/" site:.edu "/foren/" site:.edu "/forum/" site:.edu "/forum/?fnr=" site:.edu "/forums/" site:.edu "/sutra" site:.edu "act=reg" site:.edu "act=sf" site:.edu "act=st" site:.edu "bbs/ezboard.cgi" site:.edu "bbs1/ezboard.cgi" site:.edu "board" site:.edu "board-4you.de" site:.edu "board/ezboard.cgi" site:.edu "boardbook.de" site:.edu "bulletin" site:.edu "cgi-bin/ezboard.cgi" site:.edu "invision" site:.edu "kostenlose-foren.org" site:.edu "kostenloses-forum.com" site:.edu "list.php" site:.edu "lofiversion" site:.edu "modules.php" site:.edu "newbb" site:.edu "newbbs/ezboard.cgi" site:.edu "onlyfree.de/cgi-bin/forum/" site:.edu "phpbbx.de" site:.edu "plusboard.de" site:.edu "post.php" site:.edu "profile.php" site:.edu "showthread.php" site:.edu "siteboard.de" site:.edu "thread" site:.edu "topic" site:.edu "ubb" site:.edu "ultimatebb" site:.edu "unboard.de" site:.edu "webmart.de/f.cfm?id=" site:.edu "xtremeservers.at/board/" site:.edu "yooco.de" site:.edu "forum" site:.edu "phorum" site:.edu "add topic" site:.edu "new topic" site:.edu "phpbb" site:.edu "yabb" site:.edu "ipb" site:.edu "posting" site:.edu "add message" site:.edu "send message" site:.edu "post new topic" site:.edu "new thread" site:.edu "send thread" site:.edu "vbulletin" site:.edu "bbs" site:.edu "cgi-bin/forum/" site:.edu "/cgi-bin/forum/blah.pl" site:.edu "powered by e-blah forum software" site:.edu "powered by xmb" site:.edu "/forumdisplay.php?" site:.edu "/misc.php?action=" site:.edu "member.php?action=" site:.edu "powered by: fudforum" site:.edu "index.php?t=usrinfo" site:.edu "/index.php?t=thread" site:.edu "/index.php?t=" site:.edu "index.php?t=post&frm_id=" site:.edu "powered by fluxbb" site:.edu "/profile.php?id=" site:.edu "viewforum.php?id" site:.edu "login.php" site:.edu "register.php" site:.edu "profile.forum?" site:.edu "posting.forum&mode=newtopic" site:.edu "post.forum?mode=reply" site:.edu "powered by icebb" site:.edu "index.php?s=" site:.edu "act=login&func=register" site:.edu "act=post&forum=19? site:.edu "forums/show/" site:.edu "module=posts&action=insert&forum_id" site:.edu "posts/list" site:.edu "/user/profile/" site:.edu "/posts/reply/" site:.edu "new_topic.jbb?" site:.edu "powered by javabb 0.99? site:.edu "login.jbb" site:.edu "new_member.jbb" site:.edu "reply.jbb" site:.edu "/cgi-bin/forum/" site:.edu "cgi-bin/forum.cgi" site:.edu "/registermember" site:.edu "listforums?" site:.edu "forum mesdiscussions.net" site:.edu "version" site:.edu "index.php?action=vtopic" site:.edu "powered by forum software minibb" site:.edu "index.php?action=registernew" site:.edu "member.php?action=register" site:.edu "forumdisplay.php" site:.edu "newthread.php?" site:.edu "newreply.php?" site:.edu "/phorum/" site:.edu "phorum/list.php" site:.edu "this forum is powered by phorum" site:.edu "phorum/posting.php" site:.edu "phorum/register.php" site:.edu "phpbb/viewforum.php?" site:.edu "/phpbb/" site:.edu "phpbb/profile.php?mode=register" site:.edu "phpbb/posting.php?mode=newtopic" site:.edu "phpbb/posting.php?mode=reply" site:.edu "/phpbb3/" site:.edu "phpbb3/ucp.php?mode=register" site:.edu "phpbb3/posting.php?mode=post" site:.edu "phpbb3/posting.php?mode=reply" site:.edu "/punbb/" site:.edu "punbb/register.php" site:.edu "powered by phpbb" site:.edu "powered by punbb" site:.edu "/quicksilver/" site:.edu "powered by quicksilver forums" site:.edu "index.php?a=forum" site:.edu "index.php?a=register" site:.edu "index.php?a=post&s=topic" site:.edu "/seoboard/" site:.edu "powered by seo-board" site:.edu "seoboard/index.php?a=vforum" site:.edu "index.php?a=vtopic" site:.edu "/index.php?a=register" site:.edu "powered by smf 1.1.5? site:.edu "index.php?action=register" site:.edu "/index.php?board" site:.edu "powered by ubb.threads" site:.edu "ubb=postlist" site:.edu "ubb=newpost&board=1? site:.edu "ultrabb" site:.edu "view_forum.php?id" site:.edu "new_topic.php?" site:.edu "login.php?register=1? site:.edu "powered by vbulletin" site:.edu "vbulletin/register.php" site:.edu "/forumdisplay.php?f=" site:.edu "newreply.php?do=newreply" site:.edu "newthread.php?do=newthread" site:.edu "powered by bbpress" site:.edu "bbpress/topic.php?id" site:.edu "bbpress/register.php" site:.edu "powered by the unclassified newsboard" site:.edu "forum.php?req" site:.edu "forum.php?req=register" site:.edu "/unb/" site:.edu "powered by usebb forum software" site:.edu "/usebb/" site:.edu "topic.php?id" site:.edu "panel.php?act=register" site:.edu "a product of lussumo" site:.edu "comments.php?discussionid=" site:.edu "/viscacha/" site:.edu "forum.php?s=" site:.edu "powered by viscacha" site:.edu "/viscacha/register.php" site:.edu "/post?id=" site:.edu "post/printadd?forum" site:.edu "community/index.php" site:.edu "community/forum.php?" site:.edu "community/register.php" site:.edu "powered by xennobb" site:.edu "hosted for free by zetaboards" site:.edu "powered by yaf" site:.edu "yaf_rules.aspx" site:.edu "yaf_topics" site:.edu "postmessage.aspx" site:.edu "register.aspx" site:.edu "post/?type" site:.edu "action=display&thread" site:.edu "index.php" site:.edu "index.php?fid" site:.edu inurl:guestbook inurl: edu guestbook inurl:edu Link:http://worldwidemart.com/scripts/ inurl:"guestBook.aspx" site:edu inurl:guest inurl:guest site:edu inurl:guestbook.html inurl:guestbook.php inurl:kg.php inurl:guestbook.html site:.edu inurl:guestbook.php site:.edu inurl:?agbook=addentry inurl:?show=guestbook&do=add inurl:?t=add inurl:GuestBook/addentry.php inurl:Myguestbook/index.asp inurl:addentry.html inurl:addentry.php inurl:addguest.cgi inurl:addguest.htm inurl:addguest.html inurl:addguest.php inurl:addguest.shtml inurl:apeboard.cgi inurl:apeboard_plus.cgi inurl:apeboard_plus.cgi?command= inurl:ardguest.php?do= inurl:aska.cgi inurl:aspboardpost.asp?id= inurl:bbs.cgi inurl:bbs.cgibbs.cgi? inurl:bbs.cgibbs.cgi?id= inurl:bbs.cgibbs.cgi?mode= inurl:bbs.cgibbs.cgi?page= inurl:bbs.cgibbs.cgi?room= inurl:bbs.cgibbs.php inurl:bbs.cgibbs/mm.php inurl:bbs.cgibbs_inaka.jsp inurl:board.cgi?id= inurl:board.cgi?mode= inurl:book.php inurl:c-board.cgi?cmd= inurl:cbbs.cgi inurl:cbbs.cgi?mode= inurl:cbbs.cgi?mode=new inurl:cf.cgi?mode= inurl:cgi-bin/config.pl inurl:cgi-bin/gbook.cgi inurl:cgi/gbook.cgi inurl:clever.cgi inurl:clever.cgi?mode= inurl:clever.cgi?page= inurl:clip.cgi inurl:combbs.cgi?mode= inurl:comment.htm inurl:comment.php inurl:comment.php?id= inurl:comment_reply.php?com_itemid= inurl:commentaire.php?id= inurl:comments.asp inurl:comments.htm inurl:comments.html inurl:comments.php inurl:comments.php?id= inurl:crazyguestbook.cgi?db= inurl:custombbs.cgi inurl:custreg.asp?action= inurl:cutebbs.cgi inurl:dcguest.cgi?action=add_form inurl:default.asp inurl:default.asp?action= inurl:diary.cgi?mode= inurl:e-guest_sign.pl inurl:e_sign.asp inurl:easyguestbookentry inurl:eguestbook.cgi?Sign inurl:eintrag.htm inurl:eintrag.html inurl:eintrag.php inurl:eintrag.php?id= inurl:eintrag1.php inurl:eintrag_neu.php inurl:eintragen.asp inurl:eintragen.htm inurl:eintragen.html inurl:eintragen.php inurl:eintragen.php?menuid= inurl:eintragen.pl inurl:emfsend.cgi?sc= inurl:entry.php inurl:entry.php?id= inurl:epad.cgi inurl:fantasy.cgi inurl:firebook.cgi inurl:form.php inurl:forum_posts.asp inurl:forum_topics.asp inurl:fpg.cgi inurl:fsguest.html inurl:fsguestbook.html inurl:g_book.cgi inurl:gaeste.php? inurl:gaestebuch.cgi inurl:gaestebuch.htm inurl:gaestebuch.html inurl:gaestebuch.php inurl:gaestebuch.php?action= inurl:gaestebuch.php?action=entry inurl:gaestebuch/ inurl:gaestebuch_lesen.php inurl:gastbok.php inurl:gastbuch.php inurl:gastenboek.html inurl:gastenboek.php inurl:gb.asp inurl:gb.cfm?bookID= inurl:gb.cgi?id= inurl:gb.php inurl:gb.php?action= inurl:gb.php?id= inurl:gb.php?tmpl= inurl:gb.php?user= inurl:gb/ inurl:gb/addrec.php inurl:gb_list.asp inurl:gb_sign.asp inurl:gbadd.php inurl:gbadd.php?action=new&interval=1 inurl:gbaddentry.php inurl:gbook.asp inurl:gbook.html inurl:gbook.php inurl:gbook.php?a= inurl:gbook.php?action= inurl:gbook.php?id= inurl:gbook.php?page=1 inurl:gbook.php?show= inurl:gbook/?page=1 inurl:gbook/gbook.php inurl:gbook2.php inurl:gbook?sign= inurl:gbooksign.asp inurl:gbserver inurl:gbuch.php inurl:gjestebok.php inurl:gjestebok/index.asp inurl:gjestebok/index.pl inurl:gjestebok3.asp inurl:gjesteboken.asp inurl:glight.cgi inurl:goto.php?msgadd inurl:gst_sign.dbm inurl:gstbk_add.php?sid= inurl:guest.asp inurl:guest.cfm inurl:guest.cgi inurl:guest.cgi?action=add_form inurl:guest.cgi?handle= inurl:guest.cgi?pageid= inurl:guest.cgi?site= inurl:guest.htm inurl:guest.html inurl:guest.php inurl:guest.pl inurl:guest/gbook.php inurl:guest_book.htm inurl:guest_book.html inurl:guestadd.html inurl:guestbook inurl:guestbook-add.html inurl:guestbook.asp inurl:guestbook.asp?action= inurl:guestbook.asp?mode= inurl:guestbook.asp?sent= inurl:guestbook.aspx inurl:guestbook.cfm inurl:guestbook.cgi inurl:guestbook.cgi?action= inurl:guestbook.cgi?action=add&aspm1= inurl:guestbook.cgi?id= inurl:guestbook.cgi?start= inurl:guestbook.htm inurl:guestbook.html inurl:guestbook.html?page= inurl:guestbook.mv?parm_func= inurl:guestbook.php inurl:guestbook.php.cgi?gbook= inurl:guestbook.php? inurl:guestbook.php?act= inurl:guestbook.php?action= inurl:guestbook.php?action=add inurl:guestbook.php?cmd= inurl:guestbook.php?do= inurl:guestbook.php?form= inurl:guestbook.php?id= inurl:guestbook.php?inputmask= inurl:guestbook.php?lang= inurl:guestbook.php?mode= inurl:guestbook.php?new_message= inurl:guestbook.php?new_message=1 inurl:guestbook.php?page= inurl:guestbook.php?pg= inurl:guestbook.php?sn= inurl:guestbook.pl inurl:guestbook.pl?action= inurl:guestbook.pl?action=add inurl:guestbook.pl?action=form inurl:guestbook/add.html inurl:guestbook/comment.php?gb_id= inurl:guestbook/index.asp inurl:guestbook/php/entry.php inurl:guestbook/post/ inurl:guestbook2.asp?l= inurl:guestbook_add.php inurl:guestbook_new.php inurl:guestbook_sign.php inurl:guestbook_sign.php?oscsid= inurl:guestbookadd.asp inurl:guestbookvip.php inurl:guestbookvip.php?memid= inurl:guestbox.php?anfangsposition= inurl:guestform.php inurl:guestform.php?gbid=cdg inurl:guestsaisie.php inurl:honey.cgi inurl:honey.cgi?mode= inurl:ibbs.cgi inurl:ibbs.cgi?H=tp&no=0 inurl:ibbs.cgi?page= inurl:imgboard.cgi inurl:index.php3?add=1 inurl:index.php?gbname= inurl:index.php?id=...&item_id= inurl:index.php?p=guestbook!}<=NL&action=add inurl:index.php?page=guestbook_read inurl:joyful. inurl:joyful.cgi inurl:joyfulyy.cgi inurl:jsguest.cgi?action=new inurl:kakikomitai.cgi? inurl:kb_pc.cgi inurl:kboard.cgi inurl:kbpost.htm inurl:kerobbs.cgi inurl:kerobbs.cgi?page= inurl:kiboujoken.htm inurl:kniha.php inurl:krbbs.cgi inurl:ksgosci.php inurl:ksiega.php inurl:ktaiufo.cgi inurl:light.cgi inurl:light.cgi?page= inurl:mboard.php inurl:messageboard.html inurl:messages.php?1=1&agbook=addentry inurl:mezase.cgi inurl:minibbs.cgi inurl:minibbs.cgi?log= inurl:mkakikomitai.cgi inurl:msboard.cgi?id= inurl:msgboard.mv?parm_func= inurl:msgbook.cgi?id= inurl:new.php?forum_id= inurl:new_message.asp inurl:newdefault.asp inurl:newdefault.asp?DeptID= inurl:news.php?subaction= inurl:patio.cgi inurl:petit.cgi inurl:phello.cgi inurl:post.asp inurl:post.htm inurl:post.html inurl:post_comment.php?u= inurl:post_comment.php?w= inurl:postcards.php?image_id= inurl:print_sec_img.php inurl:purybbs.cgi inurl:purybbs.cgi?page= inurl:rabook.php inurl:rbook.cgi inurl:rbook.cgi?page= inurl:read.cgi/gboy/ inurl:read.cgi?board= inurl:reg.php?pid= inurl:resbbs.cgi inurl:schedule.cgi?form= inurl:sendmessage.asp inurl:showguestbook.php?linkid= inurl:sicharou.cgi inurl:sign.asp inurl:sign.asp?PagePosition= inurl:sign.html inurl:sign.php inurl:sign_guestbook.asp inurl:sign_guestbook_form.asp inurl:signbook.cfm inurl:signerbok.asp inurl:signgb.php inurl:signguestbook.asp inurl:signguestbook.html inurl:signguestbook.php inurl:signup.php inurl:simbbs.cgi inurl:skriv.html inurl:skriv_i_gaestebogen.html inurl:spguest.cgi?id= inurl:stlfbbs.cgi inurl:submit.asp inurl:submit.html inurl:submit.php inurl:submit.pl inurl:suggest.php?action= inurl:sunbbs.cgi?mode= inurl:tnote.cgi inurl:treebbs.cgi inurl:ttboard.cgi?act= inurl:upb.cgi inurl:upbbs.cgi inurl:user.php inurl:view.php?id=9&action=new inurl:write.asp inurl:write.php?uid= inurl:wwwboard.cgi inurl:yapgb.php?action= inurl:yuu-fantasy.cgi inurl:yybbs.cgi inurl:zboard.php?id= inurl:0815guestbooks.de inurl:100pro-gaestebuch.de/gbserver/ inurl:12book.de/gaestebuch inurl:Gb/Sign_Guestbook.asp inurl:Gbook/Sign_Guestbook.asp inurl:GuestBook/gst_sign.dbm inurl:Guestbook/Sign_Guestbook.asp inurl:Guestbook_eintrag.htm inurl:Sign_Guestbook.asp inurl:addbook.cgi inurl:addentry inurl:addguest inurl:addguest.html inurl:addguest.php inurl:addguestGB2.cgi inurl:addmessage inurl:apeboard inurl:bbs inurl:burning inurl:epad inurl:feedbook.de inurl:flash_gb9.php?id= inurl:flf-book.de inurl:free-guestbooks.de/gbserver/ inurl:freeguestbook.de/addbook.cgi? inurl:freeguestbook.de/readbook.cgi? inurl:freeguestbook4you.de gaestebuch-umsonst.ws inurl:gaestebuch. inurl:gaestebuch.007box.de inurl:gaestebuch.php inurl:gaestebuch.php? inurl:gaestebuch/neu.php inurl:gaestebuch4u.de inurl:gaestebuchking.de inurl:gastbuch.php inurl:gastbuch.php3 inurl:gastbuch.php?id= inurl:gb.cgi inurl:gb.php?user= inurl:gb.webmart.de inurl:gb.webmart.de/gb.cfm?id= inurl:gb/addguest.html inurl:gb/guest.pl inurl:gb/sign.html inurl:gb2003.de inurl:gb_eintrag.php? inurl:gbook.cgi inurl:gbook.tv inurl:gbook/addguest.html inurl:gbook/guest.pl inurl:gbook/sign.html inurl:gbserver.de inurl:gratis-gaestebuch.de inurl:gratis-gaestebuch.eu/firebook.cgi? inurl:gst_sign.dbm inurl:guessbook/sign.html inurl:guest. inurl:guest.pl inurl:guest_book/guest.pl inurl:guestb inurl:guestbook inurl:guestbook-free.com/books inurl:guestbook-free.com/books2 inurl:guestbook.cgi inurl:guestbook.onetwomax.de inurl:guestbook/a=sign inurl:guestbook/addguest.html inurl:guestbook/guest.pl inurl:guestbook/sign.html inurl:guestbook24.com/gastbuch.php inurl:guestbook24.eu inurl:guestbook4you.de/gb.php? inurl:iboox.com inurl:multiguestbook.com inurl:my-gaestebuch.de inurl:netguestbook.com inurl:new.html#sign inurl:power-guestbook.de inurl:regsign.cgi inurl:sign.fcgi inurl:sign.html inurl:sign_book.cgi inurl:wgbsign.html site:com “powered by BlogEngine.NET” inurl:blog "post a comment" -"comments closed" -"you must be logged in" site:edu “powered by BlogEngine.NET” inurl:blog "post a comment" -"comments closed" -"you must be logged in" site:org “powered by BlogEngine.NET” inurl:blog "post a comment" -"comments closed" -"you must be logged in" site:gov “powered by BlogEngine.NET” inurl:blog "post a comment" -"comments closed" -"you must be logged in" site:com “powered by BlogEngine.NET” inurl:blog "Leave a comment" -"comments closed" -"you must be logged in" site:org “powered by BlogEngine.NET” inurl:blog "Leave a comment" -"comments closed" -"you must be logged in" site:edu “powered by BlogEngine.NET” inurl:blog "Leave a comment" -"comments closed" -"you must be logged in" site:gov “powered by BlogEngine.NET” inurl:blog "Leave a comment" -"comments closed" -"you must be logged in" site:com “powered by BlogEngine.NET” inurl:blog "add a comment" -"comments closed" -"you must be logged in" site:org “powered by BlogEngine.NET” inurl:blog "add a comment" -"comments closed" -"you must be logged in" site:edu “powered by BlogEngine.NET” inurl:blog "add a comment" -"comments closed" -"you must be logged in" site:gov “powered by BlogEngine.NET” inurl:blog "add a comment" -"comments closed" -"you must be logged in" site:com “powered by BlogEngine.NET” "post a comment" -"comments closed" -"you must be logged in" site:edu “powered by BlogEngine.NET” "post a comment" -"comments closed" -"you must be logged in" site:org “powered by BlogEngine.NET” "post a comment" -"comments closed" -"you must be logged in" site:gov “powered by BlogEngine.NET” "post a comment" -"comments closed" -"you must be logged in" site:com “powered by BlogEngine.NET” "Leave a comment" -"comments closed" -"you must be logged in" site:org “powered by BlogEngine.NET” "Leave a comment" -"comments closed" -"you must be logged in" site:edu “powered by BlogEngine.NET” "Leave a comment" -"comments closed" -"you must be logged in" site:gov “powered by BlogEngine.NET” "Leave a comment" -"comments closed" -"you must be logged in" site:com “powered by BlogEngine.NET” "add a comment" -"comments closed" -"you must be logged in" site:org “powered by BlogEngine.NET” "add a comment" -"comments closed" -"you must be logged in" site:edu “powered by BlogEngine.NET” "add a comment" -"comments closed" -"you must be logged in" site:gov “powered by BlogEngine.NET” "add a comment" -"comments closed" -"you must be logged in" site:com “powered by BlogEngine.NET” "post a comment" site:edu “powered by BlogEngine.NET” "post a comment" site:org “powered by BlogEngine.NET” "post a comment" site:gov “powered by BlogEngine.NET” "post a comment" site:com “powered by BlogEngine.NET” "Leave a comment" site:org “powered by BlogEngine.NET” "Leave a comment" site:edu “powered by BlogEngine.NET” "Leave a comment" site:gov “powered by BlogEngine.NET” "Leave a comment" site:com “powered by BlogEngine.NET” "add a comment" site:org “powered by BlogEngine.NET” "add a comment" site:edu “powered by BlogEngine.NET” "add a comment" site:gov “powered by BlogEngine.NET” "add a comment" site:com “powered by BlogEngine.NET” inurl:blog "post a comment" site:edu “powered by BlogEngine.NET” inurl:blog "post a comment" site:org “powered by BlogEngine.NET” inurl:blog "post a comment" site:gov “powered by BlogEngine.NET” inurl:blog "post a comment" site:com “powered by BlogEngine.NET” inurl:blog "Leave a comment" site:org “powered by BlogEngine.NET” inurl:blog "Leave a comment" site:edu “powered by BlogEngine.NET” inurl:blog "Leave a comment" site:gov “powered by BlogEngine.NET” inurl:blog "Leave a comment" site:com “powered by BlogEngine.NET” inurl:blog "add a comment" site:org “powered by BlogEngine.NET” inurl:blog "add a comment" site:edu “powered by BlogEngine.NET” inurl:blog "add a comment" site:gov “powered by BlogEngine.NET” inurl:blog "add a comment" site:edu "powered by BlogEngine.NET" site:com "powered by BlogEngine.NET" site:gov "powered by BlogEngine.NET" site:org "powered by BlogEngine.NET" “powered by BlogEngine.NET” site:com “Powered by BlogEngine.NET 1.4.5.0” inurl:blog "post a comment" -"comments closed" -"you must be logged in" site:edu “Powered by BlogEngine.NET 1.4.5.0” inurl:blog "post a comment" -"comments closed" -"you must be logged in" site:org “Powered by BlogEngine.NET 1.4.5.0” inurl:blog "post a comment" -"comments closed" -"you must be logged in" site:gov “Powered by BlogEngine.NET 1.4.5.0” inurl:blog "post a comment" -"comments closed" -"you must be logged in" site:com “Powered by BlogEngine.NET 1.4.5.0” inurl:blog "Leave a comment" -"comments closed" -"you must be logged in" site:org “Powered by BlogEngine.NET 1.4.5.0” inurl:blog "Leave a comment" -"comments closed" -"you must be logged in" site:edu “Powered by BlogEngine.NET 1.4.5.0” inurl:blog "Leave a comment" -"comments closed" -"you must be logged in" site:gov “Powered by BlogEngine.NET 1.4.5.0” inurl:blog "Leave a comment" -"comments closed" -"you must be logged in" site:com “Powered by BlogEngine.NET 1.4.5.0” inurl:blog "add a comment" -"comments closed" -"you must be logged in" site:org “Powered by BlogEngine.NET 1.4.5.0” inurl:blog "add a comment" -"comments closed" -"you must be logged in" site:edu “Powered by BlogEngine.NET 1.4.5.0” inurl:blog "add a comment" -"comments closed" -"you must be logged in" site:gov “Powered by BlogEngine.NET 1.4.5.0” inurl:blog "add a comment" -"comments closed" -"you must be logged in" site:com “Powered by BlogEngine.NET 1.4.5.0” "post a comment" -"comments closed" -"you must be logged in" site:edu “Powered by BlogEngine.NET 1.4.5.0” "post a comment" -"comments closed" -"you must be logged in" site:org “Powered by BlogEngine.NET 1.4.5.0” "post a comment" -"comments closed" -"you must be logged in" site:gov “Powered by BlogEngine.NET 1.4.5.0” "post a comment" -"comments closed" -"you must be logged in" site:com “Powered by BlogEngine.NET 1.4.5.0” "Leave a comment" -"comments closed" -"you must be logged in" site:org “Powered by BlogEngine.NET 1.4.5.0” "Leave a comment" -"comments closed" -"you must be logged in" site:edu “Powered by BlogEngine.NET 1.4.5.0” "Leave a comment" -"comments closed" -"you must be logged in" site:gov “Powered by BlogEngine.NET 1.4.5.0” "Leave a comment" -"comments closed" -"you must be logged in" site:com “Powered by BlogEngine.NET 1.4.5.0” "add a comment" -"comments closed" -"you must be logged in" site:org “Powered by BlogEngine.NET 1.4.5.0” "add a comment" -"comments closed" -"you must be logged in" site:edu “Powered by BlogEngine.NET 1.4.5.0” "add a comment" -"comments closed" -"you must be logged in" site:gov “Powered by BlogEngine.NET 1.4.5.0” "add a comment" -"comments closed" -"you must be logged in" site:com “Powered by BlogEngine.NET 1.4.5.0” "post a comment" site:edu “Powered by BlogEngine.NET 1.4.5.0” "post a comment" site:org “Powered by BlogEngine.NET 1.4.5.0” "post a comment" site:gov “Powered by BlogEngine.NET 1.4.5.0” "post a comment" site:com “Powered by BlogEngine.NET 1.4.5.0” "Leave a comment" site:org “Powered by BlogEngine.NET 1.4.5.0” "Leave a comment" site:edu “Powered by BlogEngine.NET 1.4.5.0” "Leave a comment" site:gov “Powered by BlogEngine.NET 1.4.5.0” "Leave a comment" site:com “Powered by BlogEngine.NET 1.4.5.0” "add a comment" site:org “Powered by BlogEngine.NET 1.4.5.0” "add a comment" site:edu “Powered by BlogEngine.NET 1.4.5.0” "add a comment" site:gov “Powered by BlogEngine.NET 1.4.5.0” "add a comment" site:com “Powered by BlogEngine.NET 1.4.5.0” inurl:blog "post a comment" site:edu “Powered by BlogEngine.NET 1.4.5.0” inurl:blog "post a comment" site:org “Powered by BlogEngine.NET 1.4.5.0” inurl:blog "post a comment" site:gov “Powered by BlogEngine.NET 1.4.5.0” inurl:blog "post a comment" site:com “Powered by BlogEngine.NET 1.4.5.0” inurl:blog "Leave a comment" site:org “Powered by BlogEngine.NET 1.4.5.0” inurl:blog "Leave a comment" site:edu “Powered by BlogEngine.NET 1.4.5.0” inurl:blog "Leave a comment" site:gov “Powered by BlogEngine.NET 1.4.5.0” inurl:blog "Leave a comment" site:com “Powered by BlogEngine.NET 1.4.5.0” inurl:blog "add a comment" site:org “Powered by BlogEngine.NET 1.4.5.0” inurl:blog "add a comment" site:edu “Powered by BlogEngine.NET 1.4.5.0” inurl:blog "add a comment" site:gov “Powered by BlogEngine.NET 1.4.5.0” inurl:blog "add a comment" site:edu "Powered by BlogEngine.NET 1.4.5.0" site:com "Powered by BlogEngine.NET 1.4.5.0" site:gov "Powered by BlogEngine.NET 1.4.5.0" site:org "Powered by BlogEngine.NET 1.4.5.0" “Powered by BlogEngine.NET 1.4.5.0” site:com “powered by expressionengine” inurl:blog "post a comment" -"comments closed" -"you must be logged in" site:edu “powered by expressionengine” inurl:blog "post a comment" -"comments closed" -"you must be logged in" site:org “powered by expressionengine” inurl:blog "post a comment" -"comments closed" -"you must be logged in" site:gov “powered by expressionengine” inurl:blog "post a comment" -"comments closed" -"you must be logged in" site:com “powered by expressionengine” inurl:blog "Leave a comment" -"comments closed" -"you must be logged in" site:org “powered by expressionengine” inurl:blog "Leave a comment" -"comments closed" -"you must be logged in" site:edu “powered by expressionengine” inurl:blog "Leave a comment" -"comments closed" -"you must be logged in" site:gov “powered by expressionengine” inurl:blog "Leave a comment" -"comments closed" -"you must be logged in" site:com “powered by expressionengine” inurl:blog "add a comment" -"comments closed" -"you must be logged in" site:org “powered by expressionengine” inurl:blog "add a comment" -"comments closed" -"you must be logged in" site:edu “powered by expressionengine” inurl:blog "add a comment" -"comments closed" -"you must be logged in" site:gov “powered by expressionengine” inurl:blog "add a comment" -"comments closed" -"you must be logged in" site:com “powered by expressionengine” "post a comment" -"comments closed" -"you must be logged in" site:edu “powered by expressionengine” "post a comment" -"comments closed" -"you must be logged in" site:org “powered by expressionengine” "post a comment" -"comments closed" -"you must be logged in" site:gov “powered by expressionengine” "post a comment" -"comments closed" -"you must be logged in" site:com “powered by expressionengine” "Leave a comment" -"comments closed" -"you must be logged in" site:org “powered by expressionengine” "Leave a comment" -"comments closed" -"you must be logged in" site:edu “powered by expressionengine” "Leave a comment" -"comments closed" -"you must be logged in" site:gov “powered by expressionengine” "Leave a comment" -"comments closed" -"you must be logged in" site:com “powered by expressionengine” "add a comment" -"comments closed" -"you must be logged in" site:org “powered by expressionengine” "add a comment" -"comments closed" -"you must be logged in" site:edu “powered by expressionengine” "add a comment" -"comments closed" -"you must be logged in" site:gov “powered by expressionengine” "add a comment" -"comments closed" -"you must be logged in" site:com “powered by expressionengine” "post a comment" site:edu “powered by expressionengine” "post a comment" site:org “powered by expressionengine” "post a comment" site:gov “powered by expressionengine” "post a comment" site:com “powered by expressionengine” "Leave a comment" site:org “powered by expressionengine” "Leave a comment" site:edu “powered by expressionengine” "Leave a comment" site:gov “powered by expressionengine” "Leave a comment" site:com “powered by expressionengine” "add a comment" site:org “powered by expressionengine” "add a comment" site:edu “powered by expressionengine” "add a comment" site:gov “powered by expressionengine” "add a comment" site:com “powered by expressionengine” inurl:blog "post a comment" site:edu “powered by expressionengine” inurl:blog "post a comment" site:org “powered by expressionengine” inurl:blog "post a comment" site:gov “powered by expressionengine” inurl:blog "post a comment" site:com “powered by expressionengine” inurl:blog "Leave a comment" site:org “powered by expressionengine” inurl:blog "Leave a comment" site:edu “powered by expressionengine” inurl:blog "Leave a comment" site:gov “powered by expressionengine” inurl:blog "Leave a comment" site:com “powered by expressionengine” inurl:blog "add a comment" site:org “powered by expressionengine” inurl:blog "add a comment" site:edu “powered by expressionengine” inurl:blog "add a comment" site:gov “powered by expressionengine” inurl:blog "add a comment" site:edu "powered by expressionengine" site:com "powered by expressionengine" site:gov "powered by expressionengine" site:org "powered by expressionengine" “powered by expressionengine” inurl:"title=Dyskusja_u%C5%BCytkownika:" inurl:"/wiki/index.php" "Theme: Strasa - Mono" wiki "you only need to fill in when" categorywiki "This is an alphabetical list of pages you can read on this server." "Login/Register" inurl:"title=%EC%82%AC%EC%9A%A9%EC%9E%90%ED%86%A0%EB%A1%A0:" inurl:"title=U%C5%BEivatel_diskuse:" "Theme: Fluid Index by Your Index" inurl:"title=Discussion_utilisateur:" "Welcome to MoinMoin. You will find here the help pages for the wiki system itself." "Wiki:About" inurl:"Speciaal:Aanmelden" wiki inurl:"title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D1%83%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA%D0%B0:" inurl:"CategoryWiki" inurl:"Especial:Entrar" wiki inurl:"title=Discussioni_utente:" inurl:"/mediawiki/index.php" "The wiki, blog, calendar, and mailing list" inurl:"Istimewa:Masuk_log" wiki inurl:"title=%E4%BD%BF%E7%94%A8%E8%80%85%E8%A8%8E%E8%AB%96:" inurl:"title=%E0%B8%84%E0%B8%B8%E0%B8%A2%E0%B9%80%E0%B8%81%E0%B8%B5%E0%B9%88%E0%B8%A2%E0%B8%A7%E0%B8%81%E0%B8%B1%E0%B8%9A%E0%B8%9C%E0%B8%B9%E0%B9%89%E0%B9%83%E0%B8%8A%E0%B9%89:" inurl:"title=Usu%C3%A1rio_Discuss%C3%A3o:" inurl:"Speciale:Entra" wiki "Powered by WikkaWiki" inurl:"tiki-register.php" "dokuwiki.txt" "Tema: Fivealive - Lemon" inurl:"%E7%89%B9%E5%88%A5:%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3" wiki Categories PageIndex Recent Changes Recently Commented "Login/Register" "" "" "Powered by Tikiwiki CMS/Groupware" inurl:"title=Utilizador_Discuss%C3%A3o:" "Tema: Fivealive" "This page was last modified on" "wiki" inurl:"Specjalna:Zaloguj" wiki "Thanks for installing Wikka! This wiki runs on version" inurl:"http://wikka." "Theme: Coelesce" "Powered By MediaWiki" inurl:wiki "Theme: Fivealive - Kiwi" inurl:"Utente:" wiki "recentchanges" "findpage" "helpcontents" inurl:"Sp%C3%A9cial:Connexion" wiki inurl:"Pengguna:" wiki "MoinMoin Powered" "Python Powered" inurl:"title=%E0%B4%89%E0%B4%AA%E0%B4%AF%E0%B5%8B%E0%B4%95%E0%B5%8D%E0%B4%A4%E0%B4%BE%E0%B4%B5%E0%B4%BF%E0%B4%A8%E0%B5%8D%E0%B4%B1%E0%B5%86_%E0%B4%B8%E0%B4%82%E0%B4%B5%E0%B4%BE%E0%B4%A6%E0%B4%82:" inurl:"U%C5%BCytkownik:" wiki inurl:"Speciel:Log_p%C3%A5" wiki "Powered By MediaWiki" "Powered By MediaWiki" inurl:wiki "what links here" "related changes" "special pages" inurl:Special:Whatlinkshere "There is currently no text in this page, you can search..." "Powered by wikkawiki" inurl:wiki/RecentlyCommented "pageindex" "recentchanges" "recentlycommented" "you only need to fill in when" categorywiki "MoinMoin Powered" "MoinMoin Powered" "Python Powered" "recentchanges" "findpage" "helpcontents" "powered by tikiwiki" "powered by tikiwiki" inurl:tiki-index.php Powered by TikiWiki CMS/Groupware v2 inurl:tiki-register.php