Inurl c ploča cgi cmd. Korisno CGI programiranje
E-trgovina sa mudrim Rusom. Kako unaprijediti poslovanje na internetu?
U ostatku sata povlači se još projekata vezanih za internet trgovinu. Vivchayuchi chey ravno, ne zmíg znati divlji i razuman opis procesa. Stoga, ako želite da naučite o cheat sheets, moći ćete raditi dok ne budete mogli, da shvatite redoslijed takve galerije, kao što je e-trgovina.
Definitivno ću istaći da povećavajući naglasak na procese i kanale, oni pomažu u dovođenju klijenata.
E-trgovina: šta je to?
Imenovan u različitim prilikama za razgovor o prodaji robe i usluga putem interneta. Jednostavnim riječima, e-trgovina, be-yak diyalníst merezhi, de zayavlyayutsya penija.
Kupovina, prodaja, osiguranje, bankarstvo, elektronski peni, sve ovdje. Javi se, prijavi se.
Nekako methy
Da biste rozíbratisya imali nítní, proponu rozpochati slyakh íz kintsya. Kakva meta ima posla? Tako je, zaradite. Dakle, os, pokazuje postoji li proizvod, na primjer, silikonski šalovi. Zašto b i n i!
Uzimajući prvu stvar koja je pala na pomisao, ispostavilo se da je isto...
Naš zadatak je zaraditi na ovim shkarpetkama. Razmišljamo o internetu. Hm...zasto ne "skratite" sajt i osovinu,kako da unapredite prodaju,samo me spasite Maldive! Ali nije sve tako jednostavno.
Više sam kao beba. Pomaže u razumijevanju različitih procesa. Hoćemo li?
Do sada naš model izgleda ovako. Uzimamo šalove, stavljamo ih na internet i uzimamo peni. To je jednostavno divno! Oči peku, doline se znoje, a opet želiš da kreneš na desno. Ali da li je potrebno napraviti web stranicu za maidanchik za prodaju?
Site abo maidanchik na prodaju
Ê rízní ríshennya za rozmíshchennya svogo robe iz sve-svítny pavutinní. Možete kreirati vlastitu web stranicu ili kreirati maidanchiks trećih strana (grupe, stranke na društvenim medijima, reklamne ploče i drugo). Hajdemo na sajt.
Popravili smo vlastitu web stranicu, uzeli gotov predložak ili smo ga sami kreirali uz pomoć dizajnera (CMS se može proguglati), nije bitno. Poklonili su nam gomilu silikonskih šalova raznih vrsta i sretni.
Vibachte, prekidam čitanje. Dodjite na moj telegram kanal. Svježe vijesti, razvoj digitalnih proizvoda i hack za rast, sve je tu. Provjeravam te! Nastavljamo…
Sistemi plaćanja
Ali da bi osoba mogla da kupuje od vas ovdje i odjednom, morat će uključiti sistem plaćanja. Ovo je vrsta usluge koja vam omogućava da kupujete na veliko putem: bankovnih kartica, internet penija, mobilnih telefona i svega ostalog. Jer se dešava da su podijeljene na stotine transakcija, ali u takvom rangu možete oprostiti svoj život.
Odaberite uslugu koja vam je potrebna. Ovdje će biti širi pogled, a ovdje će pretplatnik biti čistiji. Samo malo hrane. Stavite traženi kod na stranicu, povežite sve transakcije sa svojim računom na kartici i voila!
Os bi dala sve. Sajt, kartice robe, i dugme "kupi" radi, ali ne radi... Nema protoka kupaca, takvo kupanje.
Klijent tokovi
De: CAC = Stopa prihvatanja novih klijenata. MCC (marketingcampaigncosts) = Ukupan broj marketinških kampanja uloženih u stečene klijente (ale z utrimannya). W (plate) = Plata za trgovce i menadžere prodaje. S (softver) = Raznolikost softvera koji pobjeđuje u oglašavanju i prodaji (na primjer, pobjedničke prodajne platforme, marketinška automatizacija, A/B testiranje, analitičke usluge, itd.). PS (profesionalne usluge) = Raznolikost profesionalnih usluga koje se oslanjaju na marketing i prodaju (dizajn, konsalting). O (ostalo) = Drugi teretnici koji koštaju u marketingu te prodaje. CA (customeracquired) = Ukupan broj stečenih kupaca.
Ali ne možete zaboraviti na kvalitetu klijenta, ovdje će LTV pomoći.
Važni pokazatelji: LTV
Live Time Value, životni ciklus klijenta, još jedan pokazatelj e-trgovine, koji treba zaštititi. Pobjeda pokazuje koliko jedan klijent donosi u prosječnom prihodu. Ê razní idi na rozrahunka, izabrala sam pravu za višak, kao jednu od najtačnijih.
To je samo zbroj divljeg profita u čitavoj istoriji kupovina za klijenta koji je prilagođen koži. Dodajte zbir svih kupovina (transakcija) klijenta u transakciju N, de transakcija N - posljednja kupovina, pošto je klijent ušao u vašu kompaniju. Budući da imate pristup svim podacima o transakcijama kupaca, možete lako izračunati troškove koristeći Excel.
LTV = (transakcija 1 + transakcija 2 + transakcija 3 ... + transakcija N) x dio prihoda od viruccia.
Razrahunok LTV na osnovu neto dobiti, koji prikazuje stvarni profit koji klijent donosi vašoj kompaniji. Ovdje se uzima poštovanje kvalitete usluge prema kupcima, kvaliteta jutra, kvaliteta uljuljkanog toshchoa. Kao rezultat, izračunava se cijeli kompleks, koji se temelji na ukupnom broju uzetih dana. Višak, koji se uzima od jednog klijenta za cijeli sat, omogućit će vam bolje razumijevanje profitabilnosti vaših klijenata za danas.
Za ostale pristupe možete saznati na.
Važni pokazatelji: CAC i LTV
Radi razumijevanja poslovnog života, važno je začuditi se postavci dvaju gatačkih prikaza CAC:LTV.
- Mensh nizh 1:1 - Juriš punom brzinom u bankrot.
- 1:1 - Potrošite peni na klijenta sa ozračenom kožom.
- 1:2 - Nije dobro, ali kao da ne ulažete dovoljno novca, ali biste mogli bolje da se razvijate. Pokrenuti agresivnije kampanje za privlačenje klijenata i dostizanje pokazatelja rodbine do 1:3.
- 1:3 - Idealna spívídnoshennia. Imate prosperitetan biznis i model malog biznisa.
Važni pokazatelji: ROI nije zaboravljen
Kao što smo saznali više, u e-trgovini je potrebno jasno razumjeti, što treba vidjeti da osvoji kanal lucidnosti. Krim LTV i CAC je još jedan važan indikator, odnosno ROI. Pokazujete da se vaša investicija isplatila, po našem mišljenju o oglašavanju. Tobto. skílki jedna investicija karbovanets donijela nam je rezultat.
Za rozrahunka, vikorista je već nespretna formula:
De “Prihod od kampanje”, razlika između prihoda po kanalu i ko-brendiranja za vaš proizvod. I da uštedite novac, da uzmete više novca za oglašavanje.
Ovim redoslijedom formula je izraženija ovako:
ROI \u003d (Prihod po kanalu - Sobívartíst) - Prikaz oglasa / Prikaz oglasa x 100%
Pročitajte detaljniji primjer iz Rozrachunk-a. U suštini, ovo je jednostavna formula da se sve stavi u istu Excel tabelu, gde se sve automatski uzima u obzir.
Sva tri prikaza, kako smo odabrali, važna su u e-trgovini. Njihova koža vam omogućava da upoznate "viša" mjesta u svojim potocima i vježbate s njima. Yakraz imaju rastući potencijal za poslovni rast. Dodali smo još nekoliko detalja našem modelu sa šalovima.
Uklopiti sve u jedan materijal ne ulazi u to, ko je to toliko dugo čitao? Pišem novi vodič za nijanse e-trgovine, koji može utjecati na prodaju.
Zajedno
Sada imate duboko razumijevanje internetske trgovine ili e-trgovine. Dali, kako se čini: "Đavo je u detaljima." Izvucite kožu iz kanala okremo, pokažite znake efikasnosti i potražite nove uvide od doktora. Internet prodaja za vas, više! I za mene još jedan materijal.
Dakle, ne zaboravljajući malo, uz napredovanje vas, dragi čitaoci! I bazhayu napredujući stene sjajno ste pobedili tu zver!
Poglavlje 9.
Korisno CGI programiranje
Uključivanje odjeljka o CGI-u u knjizi iz baza podataka može se dodati podovima i divno, jer je u kulinarsku knjigu uključeno i poglavlje o popravci automobila. Shvatio sam da ako želiš da ideš u prodavnicu, treba ti dobar auto, kako drugačije da pričaš o tome? Najnoviji uvod u CGI i web programiranje daleko je izvan okvira ove knjige, ali kratak uvod u njega je dovoljan da proširi moć MySQL-a i mSQL-a izvan područja Weba.
U osnovi, svrha ove podjele je bila za one koji su naučili osnove podataka, ali im ne smeta stjecanje znanja i znanja u programiranju za Web. Kako se zovete Berners-Lee ili Andressen, malo je vjerovatno da ćete ovdje znati one koje još ne poznajete. Međutim, niste novajlija u CGI-ju, ali možda ste bolje upoznati sa kratkim vodičem za sat vremena u MySQL i mSQL misteriji.
Šta je CGI?
Kao i više akronima, Common Gateway Interface (CGI - globalni gateway interfejs) nije dovoljno reći u suštini. Interfejs od čega? Gdje je kapija? O yaku spílnist mova? Shchob vídpovísti na qí pitannya, vrati se nazad trohi natrag taj filmski pogled na WWW spaljeni.
Tim Berners-Lee, fizičar, koji je radio u CERN-u, razvio je Web 1990. godine, iako je plan objavljen 1988. njih - tekstom, slikama i zvukom - putem interneta. WWW se sastojao od tri glavna dijela: HTML, URL i HTTP. HTML- mov formatuvannya, scho vikoristovuêtsya za podnošenje na web. url- tse adrese, kao vikoristovuetsya za otrimannya umjesto HTML formata (ili inače) sa web servera. ja konačno, http- tse mova, yaka zozumila web server i omogućila klijentima da wimagati na serveru dokumenata.
Mogućnost prenošenja informacija svih vrsta putem interneta postala je revolucija, a otkrivena je još jedna mogućnost. Kako možete poslati tekst preko Weba, zašto ne možete poslati tekst koji je kreirao program, ali zašto ga ne uzeti iz gotove datoteke? Istovremeno, otvara se more mogućnosti. Jednostavna zadnjica: možete promijeniti program tako da prikazuje trenutni sat, tako da će čitalac pronaći tačan sat kada pogleda na stranu kože. Dekílka razumne ciljeve u Nacionalnom centru za superkompjuterske aplikacije (Nacionalni centar za razvoj aditiva za superkompjutere - NCSA), kao da su kreirali web server, takva mogućnost je data, a CGI se pojavio neočekivano.
CGI - skup pravila po kojima programi na serveru mogu slati podatke klijentima preko web servera. CGI specifikacija je praćena promjenama u HTML-u i HTTP-u, čime je uvedena nova karakteristika koja je izgledala kao obrazac.
Dok CGI dozvoljava programima da šalju podatke klijentu, obrasci proširuju mogućnost omogućavanja klijentu da pošalje podatke CGI programu. Sada koristuvač može ne samo bachiti trenutni sat, već i postaviti godinu! CGI obrasci su obezbedili vrata za pravilnu interaktivnost u svetu Weba. Prošireni CGI programi uključuju:
- Dinamički HTML. Ciljevi sajta se mogu generisati pomoću jednog CGI programa.
- Poshukovi mehanizmi, scho znaju dokumente iz datih stenograma.
- Gosti knjige su zapanjeni, nekakvim koristuvačima mogu dodati informacije.
- Forms
- Upitnici.
- Ispitivanje informacija koje se nalaze na serveru baze podataka.
U narednim odjeljcima razgovarat ćemo o svim CGI programima, kao i o ostalim. Svi smradovi daju čudesnu mogućnost povezivanja CGI-a sa bazom podataka, tako da nas mogu pozvati od koga smo distribuirani.
Forma HTML
Prvo, pogledajmo karakteristike CGI-ja, dobro pogledajmo način koji se najčešće koristi, uz pomoć neke vrste stenografije, za skraćivanje interfejsa na CGI-programe: formu HTML. Formirajte dio HTML movable-a, koji daje konačna stenografska polja različitih tipova. Podaci uneseni u polja mogu se poslati na web server. Polja se mogu koristiti za unos teksta bilo pomoću dugmadi koja se mogu pritisnuti ili označiti. Osa stražnje strane HTML strane, koja je za pomicanje forme:
<НТМL><НЕАD><ТITLЕ>Moja stranica sa formularima
<р>Tse storínka íz oblik.
Ovaj obrazac kreira red sa ukupno 40 simbola u koji možete unijeti ime. Ispod reda za unos nalazi se dugme, kada se pritisne takvi obrasci podataka se prenose na server. Niže oznake koje podržava HTML 3.2 su najviše proširene u trenutnom standardu. Ime tagova i atribute možemo unijeti u svakom slučaju, ali ne moramo koristiti jezik jezika, važno je napomenuti da se tagovi koji su obrnuti, pišu velikim slovima, a zakrivljeni - malim.
Jedini tip unosa koji ovdje nismo tvitovali je tip IMAGE za oznaku . Moguće je osvojiti jogu kao alternativni način za ispravljanje forme. Međutim, tip IMAGE se rijetko miješa sa tekstualnim i ne tako čudnim pretraživačima, tako da je razumno biti jedinstven jer vaša stranica ne mora biti u bogatom grafičkom stilu.
Kada se upoznate sa osnovama HTML obrazaca, možete saznati više o CGI-ju.
CGI specifikacija
Dakle, koji je zapravo „skup pravila“ koji dozvoljava CGI programima u, recimo, Batavia, Illinois, da razmjenjuju podatke sa web pretraživačem u Outlander Mongoliji? Zvanična specifikacija za CGI i druge informacije o CGI mogu se naći na NCSA serveru na adresi http://hoohoo . ncsa.uluc.edu/cgi/. Međutim, podijelio sam ih u tu svrhu, tako da niste imali priliku da poskupite dugo vremena i to uradite sami.
Evo nekoliko načina na koje CGI prenosi podatke između CGI-npor-frame-a i web servera, kao i web klijenta:
- Promjena oštrenja.
- komandna linija.
- Standardna ulazna tačka.
- Standardni prilog za pregled.
Uz pomoć ovih različitih metoda, server ponovo prenosi sve podatke koje je klijent prenio u CGI program. Neka CGI program radi svoju magiju na desnoj strani i prosljeđuje izlazne podatke nazad na server, koji ih prosljeđuje klijentu.
Ovi podaci se iz procjene usmjeravaju na HTTP Apache server. Apache je najčešće korišteni web server koji radi praktično na bilo kojoj platformi, uključujući Windows 9x i Windows NT. Međutim, smrad se može blokirati na svim HTTP serverima kako bi se podržao CGI. Serveri koji su patentirani, na primjer, Microsoft i Netscape, mogu imati dodatne funkcije ili raditi drugačije. Krhotine lica Weba nastavljaju da se mijenjaju s imenom swidkist, standardi se i dalje razvijaju, a u budućnosti će se, bez traga, mijenjati. Međutim, kada je CGI u pitanju, čini se da je ova tehnologija umorna - plači za cijenu njenog iznošenja, da su se druge tehnologije, poput apleta, umorile. Svi CGI-programi, ako pišete pobjedničke informacije, mogu lako moći obraditi više podataka na velikim web serverima.
Ako CGI program zahteva dodatnu formu - najprošireniji interfejs, pretraživač šalje serveru dugački red, na čijem se klipu nalazi put do CGI programa koji je ím'ya. Zatim, postoje različiti drugi podaci, koji se nazivaju putevima informacija i prosleđuju se CGI-programima kroz promenu PATH_INFO datoteke (slika 9-1). Nakon informacija, putanju prati simbol “?”, a nakon njega - forme podataka, jer prisiljavaju server uz pomoć HTTP GET metode. Ovi podaci postaju dostupni CGI programima promjenom QUERY_STRING izoštravanja. Bez obzira na to, ako treća strana nametne dodatnu HTTP POST metodu, koja je najčešća, ona će biti prosleđena CGI programima preko standardne ekstenzije za unos. Tipičan red, koji se može uzeti kao server iz pretraživača, prikazan je na sl. 9-1. Program sa imenima formread u katalozi cgi-bin poziva server sa dodatnim informacijama dodatne/informacije I dajte unosu choice=help - možda kao dio izlaznog URL-a. Nareshti, podaci samog obrasca (CGI programski tekst u polju ključnih reči) se šalju putem HTTP POST metode.
Promjena oštrenja
Ako server pobijedi u CGI-programu, mi ćemo prenijeti podatke na rad na uvid promjene. U specifikaciji je zvanično označeno sedamnaest naziva, ali ih je nezvanično znatno više - za dodatni mehanizam, koji je opisan u nastavku, nazvan HTTP_/nec/zams/n. CGI program
Ovim promjenama možete pristupiti na isti način, kao i svakoj promjeni u sredini komandnog procesora ispod sata pokretanja iz komandne linije. U shell skripti, na primjer, promjena F00 može se konvertirati u $F00; Perl ne izgleda kao $ENV("F00") ; u C, getenv("F00"); itd. U tabelama 9-1, promjene se resetuju, koje uvijek postavlja server - ako je vrijednost null. Ako želite promijeniti podatke koje klijent okreće u zaglavlju zahtjeva, potrebno je promijeniti obrazac HTTP_F00 , gdje je F00 naziv zaglavlja. Na primjer, većina web pretraživača uključuje informacije o verziji u zaglavlju s imenom USEfl_AGENT. Vaš CGI-npor-framework može uzeti neke podatke iz promjene HTTP_USER_AGENT.
Tabela 9-1.Promjene CGI izoštravanja
Promjena oštrenja |
Opis |
||
CONTENT_LENGTH |
Broj podataka prenesenih POST i PUT metodama, u bajtovima. |
||
CONTENT_TYPE |
MIME tip podataka koji se šalju za metode pomoći POST ili PUT. |
||
GATEWAY_INTERFACE |
Broj verzije CGI specifikacije koju server podržava. |
||
PATH_INFO |
Dodatne informacije o ruti, koje daje klijent. Na primjer, za upit http://www.myserver.eom/test.cgi/this/is/a/ path?field=green vrijednosti promjene PATH_ INFO će biti /ovo/je/a/putanja. |
||
PATH_TRANSLATED |
Isto kao PATH_INFO, ali server sve virobleja |
||
|
Moguće je emitovati, na primjer, proširenje imena tipa "-account". » |
||
QUERY_STRING |
Usí daní, scho slijediti simbol "?" na URL. Ovo su također podaci koji se prosljeđuju ako je obrazac REQ-UEST_METHOD GET. |
||
REMOTE_ADDR |
IP adrese klijenta za zahtjev. |
||
REMOTE_HOST |
Ja sam u čvoru klijentove mašine, tako je. |
||
REMOTE_IDENT |
Kako web server i klijent obrađuju identifikaciju tipa? identd, onda tse im'ya koristuvach oblíkovogo zapisu, yaky rob zap. |
||
REQUEST_METHOD |
Metoda koju je klijent potvrdio za zahtjev. Za CGI programe, bilo koji način da to uradimo, POST ili GET. |
||
SERVER_NAME | Naziv hosta - ili IP-adrese, pošto ime nije dostupno, - mašina, na kojima se nalazi web server. | ||
SERVER_PORT | Broj porta koji će web server osvojiti. | ||
SERVER_PROTOCOL |
Protokol, koji je pobjednički klijent za komunikaciju sa serverom. U našem slučaju, protokol može uvijek biti HTTP. | ||
SERVER_SOFTWARE | Podaci o verziji web servera koji pokreće CGI program. | ||
SCRIPT_NAME |
Put do skripte, uputstva klijenta. Možete pobijediti kada pošaljete URL na sebe, a da biste koristili skripte, pošaljite jaka na različita mjesta, možete pobijediti na različite načine u ugaru u mjestu. |
||
Pokrenite Perl CGI skriptu da biste prikazali sve promjene koje je postavio server i prikazali sve degradirane promjene, kao što je PATH, koje je postavio komandni procesor kada se server pokrene.
#!/usr/bin/perl -w
print<< HTML;
Vrsta sadržaja: tekst/html\n\n
HTML
foreach (tipke %ENV) ( ispis "$_: $ENV($_)
\n";)
print<
HTML
Sve promjene mogu biti promijenjene vašim CGI programom. Međutim, ove promjene ne pokreću web server kada se program pokrene.
komandna linija
CGI dozvoljava da se argumenti prosleđuju CGI programima kao parametri komandne linije, što je retko komplikovano. Rijetko pobjeđuje za one koji su praktični zastosuvannya íí̈ bezbroj, i nećemo pljuvati na to u izvještaju. Suština je da ako promijenite QUERY_STRING oštrije od simbola =, onda će CGI program pratiti parametre komandne linije preuzete iz QUERY_STRING . Na primjer, http://www.myserver.com/cgi- bin/finger?root pokrenite korijen prsta www.myserver.com.
Održavajte dvije glavne biblioteke koje pružaju CGI interfejs za Perl. Prvi od njih - cgi-lib.pl Utility cgi-lib.plčak i šire, krhotine koje su se protezale kroz sat vremena postale su jedna očigledna velika biblioteka. Vaughn je poznat po radu u Perlu 4, ali se također koristi u Perlu 5. CGI.pm, novo i bogato onim što okrećem cgi-lib.pl CGI.pm napisano za Perl 5 i kompletnu objektno orijentisanu šemu za rad sa CGI podacima. Modul CGI.pm raščlaniti standardni unos i promijeniti QUERY_STRING i sačuvati podatke u CGI objektu. Vaš program je odgovoran za kreiranje novog CGI objekta i podešavanje jednostavnih metoda kao što je paramQ da biste dobili podatke koji su vam potrebni. Butt 9-2 - kratka demonstracija kako CGI.pm interpretirati podatke. Svi zadnjici na Perlu će biti pobjednički CGI.PM.
Stock 9-2.
Parsiranje CGI podataka u Perlu
#!/usr/bin/perl -w
koristite CGI qw(:standard);
# Označite CGI.pm modul. qw(:standard) uvoz
# proširite imena standardnih CGI funkcija za odabir
# Ludi kod. Možete raditi, poput scenarija
# Postoji manje od jednog CGI objekta za pobjedu.
$ mycgi = novi CGI; #Kreirajte CGI objekat, koji će biti "gateway" za ove forme
@fields=$mycgi->param; # Popunite imena svih popunjenih polja obrasca
print header, start_html("CGI.pm test"); ft Metode "header" i "start_html",
# daj
# CGI.pm, traži HTML.
# "header" prikazuje potrebno HTTP zaglavlje, a
#"start_html" prikazuje HTML zaglavlje sa datim imenom,
#a je također oznaka
.štampa"<р>Podaci obrasca:
";
foreach (@fields) ( print $_, ":",- $mycgi->param($_), "
"; }
# Za polje kože, pokaži mi značenje koje se uzima za pomoć
#
$mycgi->param("ime polja").
print end_html; # Prečica za pregled završnih oznaka "".
Obrada ulaznih podataka C
Neki od glavnih API-ja za MySQL i mSQL su napisani na C, ali nećemo koristiti C za Perl, ali ćemo tamo, na primjer, ukazati na nekoliko aplikacija za C. Postoje tri široko korišćene C-biblioteke za CGI programiranje: cgic Tom Boutell *; cgihtml Eugene Kim t ta libcgi tip EIT*. Brinemo se šta cgic Zamjerimo i oprostimo pobjednicima. On, štićenik, nema sposobnost da vaskrsne sve promjenjive forme, ako te smrad unaprijed ne zna. U stvari, možete dodati jednostavnu zakrpu sa putanjom ili ići izvan okvira ovog odjeljka. Za to u zadnjici 9-3 mi koristimo biblioteku cgihtml, za ponavljanje pri lebdenju u drugoj Perl skripti.
Stock 9-3.Parsiranje CGI podataka u C
/*
cgihtmltest.c - Generički CGI program za pregled ključeva i njihovih vrijednosti
s podaci, otrimanih víd forme */
#include
#include "cgi-lib.h" /* Sve CGI funkcije idu ovdje */
#include "html-lib.h" /* Sve dodatne funkcije za HTML idite ovdje */
void print_all (lista 1)
/* Ova funkcija prikazuje podatke proslijeđene u formu, u istom formatu kao u drugim Perl skriptama. Cgihtml također ima ugrađenu funkciju
Print_entries() da uradite isto za formatiranje HTML liste. */ (
čvor*prozor;
/* Tip dodjela "čvor" iz cgihtml biblioteke koja se koristi za listu podudaranja, sa koje se pohranjuju svi podaci obrasca. */
prozor = i.glava; /* Postavite indikator obrasca podataka na klip */
while (prozor != NULL) ( /* Pređite preko povezane liste do posljednjeg (prvog praznog) elementa */
printf(" %s:%s
\n",window->entry.name,replace_ltgt(window->entry.value));
/* Unesite podatke. Replace__ltgt() je funkcija koja razumije HTML kodiranje teksta i osigurava da se ispravne slike prikazuju na klijentovom pretraživaču. */
prozor = prozor->sljedeći; /* Idi na sljedeću listu. */
} }
int main() (
popis unosa; /* Indikator na analiziranim podacima*/
int status; /* Integralni broj za dobijanje statusa */
html_header(); /* Dodatna HTML funkcija za prikaz HTML zaglavlja */
html_begin("cgihtml test");
/* Dodatna HTML funkcija za prikaz vrha HTML strane od navedenog naslova. */
status = read_cgi_input(&entries); /* Ulazak u raščlanjivanje ovih obrazaca */
printf("<р>Podaci obrasca:
");
print_all(unosi); /* Pozovite jednu funkciju print_all(). */
html_end(); /* Dodatna HTML funkcija za prikaz kraja HTML strane. */
List_clear(&entries); /* Zvílnyaê memorija, zauzeta datim oblicima. */
return 0; )
Standardni dodatak
Podaci koje CGI program forsira u standardni prikaz, čita ih web server i prisiljava ih klijentu. Kako mogu pokrenuti skriptu nph-, tada se podaci bez posrednika prosljeđuju klijentu bez predaje sa strane web servera. Na ovaj način, CGI program može formulisati važeće HTTP zaglavlje koje će imati smisla za klijenta. U drugom koraku, neka web server formulira HTTP zaglavlje umjesto vas.
Navít yakscho ne pobjeđujete nph- Scenario, potrebno je da server da jednu direktivu, kako bi vas obavijestili o informacijama o vašem svjedoku. Koristite HTTP zaglavlje Content-Type ili opciono zaglavlje Lokacija. Sljedeći prazan red je odgovoran za zaglavlje, odnosno pomak reda ili kombinaciju CR/LF.
Zaglavlje Content-Type govori serveru koju vrstu podataka vaš CGI program vidi. Baš kao i HTML strana, tada red može biti Content-Type: text/html. Zaglavlje lokacije govori serveru sljedeću URL adresu - koja ruta do istog servera, - kamo da usmjeri klijenta. Naslov je kriva majka i izgleda ovako: Lokacija: http:// www. myserver. com/drugo/mjesto/.
Nakon HTTP zaglavlja i praznog reda, možete nadjačati podatke koje vaš program vidi - HTML stranu, sliku, tekst ili drugo. Među CGI programima koji se isporučuju sa Apache servera, ê nph-test-cgiі test cgi, ljubazno pokažite razliku između naslova u nph i ne-nph stilovima, očigledno.
Za koga smo podijelili, osvojit ćemo biblioteke CGI.pmі cgic, Oni imaju funkciju prikazivanja zaglavlja kao što su HTTP i HTML. Tse vam dozvoljava da budete ljuti kada vidite taj prizor. Tsí dodatne funkcije vikoristaní dionice, inducirane ranije na kome su distribuirane.
Važne karakteristike CGI skripti
Već znate, u suštini, kako CGI funkcioniše. Klijent prebacuje podatke, poziva u pomoć, na web server. Server prati CGI program, prenoseći njegove podatke. CGI program generiše sopstvenu obradu i vraća svoje ulazne podatke serveru, koje potom prosleđuje klijentu. Sada, nakon što smo shvatili kako se praktikuju CGI-npor-rami, potrebno je prijeći na razumijevanje zašto se smrad toliko slave.
Ako želite da imate dovoljno znanja o ovoj distribuciji, da odaberete jednostavan CGI program koji radi, morate pronaći važniju hranu, prvo kreirati programe koji stvarno rade, za MySQL ili mSQL. Prvo, potrebno je naučiti kako vježbati s kílkom formama. Tada ćemo morati da naučimo kako da bezbedno uđemo, tako da napadači mogu uzeti nezakonit pristup fajlovima vašeg servera ili ih uništiti.
Postat ću uspomena
Postat ću uspomena na život i važan zadatak pružanja dobre usluge vašim koristuvačima, a ne služiti samo za borbu protiv ispečene zlobe, jer se možete izvući. Problem je što je HTTP takozvani protokol bez memorije. Tse znači da klijent nadjačava podatke serveru, server predaje podatke klijentu, a zatim nastavlja svojim putem. Server ne sprema podatke klijenta, koji bi mogli biti potrebni u budućim operacijama. Slično tome, nema garancije da će klijent temeljno zaštititi operaciju, bilo da je data, tako da možete bolje pobijediti. Tse nameće tu zamjenu na World Wide Web wiki bez sredine.
Savijanje CGI skripti sa takvim protokolom je slično nemogućnosti pamćenja Rozmova. Shchoraz, rozmovlyayuchi s be-kim, bez obzira na to što ste ranije često razgovarali s njim, slučajno vam se predstavi i šukate uobičajenu temu za roming. Ne morate objašnjavati na čemu ne štedite produktivnost. Mali 9-2 pokazuje da je skin drugačiji, ako je CGI program dostupan, to je potpuno nova kopija programa koja se ne može povezati sa prethodnom.
Činilo se da dio klijenta sa pojavom Netscape Navigatora ima rješenje koje je ličilo na žurbu, zgnječeno pod nazivom kolačići. To će kreirati novo HTTP zaglavlje koje se može ponovo poslati tu i tamo između klijenta i servera, slično zaglavljima Content-Type i Location. Klijentov pretraživač, nakon što je odbacio zaglavlje kolačića, odgovoran je za pohranjivanje podataka u kolačić, kao i za ime domene na kojoj se kolačić distribuira. Iz nekog razloga, kada unesete URL između navedene domene, zaglavlje kolačića je odgovorno za okretanje serveru radi kuriranja u CGI programima na tom serveru.
Metoda kolačića je važnija za čuvanje identifikatora kolačića. Vídomosti o vídvíduvacha mogu se sačuvati iz datoteke na mašini servera. Jedinstveni ID ovog koristuvach-a može se poslati kao kolačić pretraživaču koristuvach-a, nakon čega, kada je sajt koristivach dermalizovan, pretraživač automatski šalje serveru isti ID. Server šalje ID CGI programa, tako da otvara trenutni fajl i odbija pristup svim podacima izvora. Sve izgleda kao neshvatljiv rang za koristuvača.
Bez obzira na svu korozivnost ove metode, većina sjajnih stranica ne pobjeđuje kao jedina vrijedna pamćenja. Zbog čega je nizak. Prvo, ne prihvataju svi pretraživači kolačiće. Donedavno, glavni pretraživač za osobe sa nedostatkom vida (da ne spominjemo ljude s nedostatkom pristupa) - Lynx - nije prihvatao kolačiće. "Službeno" vina ih ne podržavaju, želeći ubiti deyakí yogo široko dostupan "bíchní gílki". Na drugi način, što je još važnije, vežite kolačić za koristuvač za mašinu za pevanje. Jedna od velikih prednosti Weba su one koje su dostupne sa bilo koje tačke svjetla. Bez obzira da li je web stranica kreirana ili sačuvana, možete pokazati da li je uređaj povezan na Internet. Međutim, ako pokušate pristupiti web stranici koja prihvaća kolačiće s tuđeg računala, bit će uzeti svi vaši lični podaci kojima je pristupio dodatni kolačić.
Mnoge web stranice, kao i prije, koriste kolačiće za personalizaciju stranica stranica, a još više dodaju tradicionalno sučelje stilu "im'ya registracija/lozinka". Ukoliko želite da pristupite sajtu iz pretraživača koji ne prihvata kolačiće, stranica može da popuni formular, kako bi unela svoju registraciju i lozinku koja vam je dodeljena kada ste prvi put otvorili sajt. Zvuči kao da je ova forma mala i skromna, da ne privlači više koristuvaca, ne zaglavi u svakodnevnoj personalizaciji, već samo one koji žele ići dalje. Nakon unosa lozinke u obrazac CGI registracionog imena, saznajte datoteku sa podacima o lozinki koju je kreirao kolačić. Vykoristuvuyuchy tsey metoda, koristuvach se može registrirati na ličnom web mjestu s bilo koje tačke svjetlosti.
Krím zavdan image koristuvacha da uznemirujuće sberígannya vídomosti o tome može donijeti tanak zadnjicu pamćenja ću postati, što je da daju popularne poshukoví mašine. Tražeći pomoć od takvih servisa, kao što su AltaVista ili Yahoo, dobit ćete znatno više rezultata, ispod možete to vidjeti na čitljiv način. Tsya problem vyrishuêtsya tim, scho pokazuje mali broj rezultata - poziv 10 ili 20 - i daje se da li postoji razlog za prelazak na pregled napadačke grupe rezultata. Ako veliki mandriving na Webu želi da takvo ponašanje bude značajno i jasno, onda njegova implementacija nije trivijalna i natjerat će me da zapamtim.
Ako koristuvač prvo pokuša da pita mehanizam po šoku, on uzima sve rezultate, moguće, sučeljavajući se sa nekom vrstom graničnog kilkistyu. Trik je u tome da vidite rezultate odjednom u malom broju, sjetite se kada pomislite da je coristuvach tražio rezultate i volite porciju vina ofanzive. Ostavljajući po strani složenost najslučajnijeg mehanizma, suočeni smo s problemom naknadnog nadannya corystuvache deykoí̈ íinformatsiíí̈ s jedne strane. Pogledajmo zadnjicu 9-4, u kom slučaju CGI skripta pokazuje da deset redova treba da bude prikazano u datoteci i nadamo se da ćemo moći da pogledamo sledećih ili deset redova ispred.
Stock 9-4. Biću siguran sa CGI skriptom
#!/usr/bin/perl -w
koristiti CGI;
Open(F,"/usr/dict/words") ili die("Ne mogu kucati! $!");
#Tse fajl, koji možete vidjeti, možete samo biti-yakim.
$output = novi CGI;
sub print_range (# Ovo je glavna funkcija programa my $start = shift;
# Cob red u datoteku, moj $count = 0;
# Caller, my $line = "";
# Umetnuti red u datoteku, ispisati $output->header,
$output->start_html("Moj rečnik");
#
Kreirajte HTML iz naslova "Moj rječnik", ispišite "
dok (($count< $start) and ($line =
# Preskoči sve redove prije cob, dok (($count< $start+10) and
($line ?
#
Poništi 10 redova.
moj $newnext = $start+10; moj $newprev = $start-10;
# Postavite redove za URL "Sljedeći" i "Prethodni",
štampa"
";
osim ako ($start == 0) ( # Uključite "Prethodni" URL, samo
# više nije na klipu.
print qq%Prethodni%; )
osim ako (eof) ( # Uključite URL "Sljedeći" tako da možete #
ne u krajnjem fajlu.
print qq%Next%;
}
print "HTML;HTML
izlaz(0); )
# Nemam nikakve podatke, počni ispočetka,
if (ne $output->param) (
&print_range(0); )
# Osim toga, skoro naplata naručena iz podataka.
&print_range($output->param("start"));
Za koga ću provesti svu primjenu memorije uz pomoć najjednostavnije metode. Nema problema sa čuvanjem podataka, ali ih čuvamo na serveru. Potrebno nam je manje znanja, više zvjezdica, tako da skripta jednostavno uključuje tačku u URL za prednji red prednje grupe redova - sve što je potrebno za generiranje crne strane.
Međutim, ako vam treba više, ako možete samo progutati datoteku, oslanjajući se u velikoj mjeri na URL. Moguće je ublažiti ove poteškoće korištenjem HTML obrasca i uključivanjem podataka u oznake tip HIDDEN. Ova metoda je uspješna na bogatim web lokacijama, omogućavajući vam da radite između zajedničkih CGI programa ili da proširite mogućnost korištenja jednog CGI programa, poput prednje strane. Umjesto objavljivanja na objektu pjesme, kao što je poštanska stranica, ovi URL-ovi se mogu dodijeliti ID-u koristuvach-a, koji se automatski generira.
Ovako rade AltaVista i druge pametne mašine. Na prvi zahtjev generira se ID koristuvača koji se prilaže sljedećem URL-u. Íz cim ID po'yazaní jednu ili nekoliko datoteka, scho da osveti rezultate zahtjeva. U URL su uključene još dvije vrijednosti: točna pozicija datoteke rezultata i direktna, gdje želite premjestiti na novu udaljenost. Značenja broja tri su sve što je neophodno za rad uskih navigacionih sistema velikih pretraživača.
Vtim, ženimo se za nešto drugo. Fajl koji je hakovan u našu zadnjicu /usr/diet/words već odlično. Šta, kao da usred čitanja mi yogo odlazimo, ali želimo li se okrenuti novom pizníshu? Ako se ne sjećate URL-a sljedeće stranice, nema načina da se vratite, neće vam biti dozvoljeno da se krećete po AltaVista. Ako treba da resetujete računar ili ćete početi da radite na nečem drugom, ne možete da se vratite na rezultate prethodne pretrage bez ponovnog unosa zahteva. Međutim, ova vrsta memorije će postati osnova za personalizaciju web stranica, o tome se više pričalo i čudi se kako možete ubrzati. Zaliha 9-5 je modificirana verzija zaliha 9-4.
Stock 9-5.
Ja ću stajati uz uspomenu
#!/usr/bin/perl -w
koristiti CGI;
umask 0;
Open(F,"/usr/dict/words") ili die("Ne mogu kucati! $!");
Chdir("users") ili die("Ne mogu promijeniti u $ direktorij!");
#
Pogledajte katalog gdje će svi podaci biti pohranjeni
# o koristuvaču.
Izlaz = novi CGI;
if (ne $output->param) (
ispis $output->header,
$output->start_html("Moj rečnik");
print "HTML;