Odlazi
Informativni portal za žene
  • Kako sanjati izopačene načine ljudi
  • Pet pentakla (5 pentakla): značenja tarot karata Pet pentakla
  • Pet pentakla
  • Spavanje na sahrani - u separeu, krematorijumima i na tvrđavi
  • Kako pravilno kuvati?
  • Psuvannya za zdravlje - znakovi i kako je uzeti?
  • Inurl c ploča cgi cmd. Korisno CGI programiranje

    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.


    Unesite svoje ime:



    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.


    Tsey tag za reći o obliku klipa. Na primjer, trebate uviti oznaku

    . Mízh tags
    dozvoljena su tri atributa: ACTION specificira URL ili direktnu putanju do CGI programa koji će slati podatke; METHOD Određuje HTTP metodu uz pomoć koje će se obrazac poslati (ili možete koristiti GET ili POST, ili uvijek možete koristiti POST); ENCTYPE određuje metodu kodiranja podataka (trebalo bi da ga izaberete samo ako jasno razumete šta želite).


    Nadaê većina gnuchkiy način uvođenja podataka coristuvach. U stvari, postoji devet različitih tipova oznaka . Tip je označen atributom TYPE. Na prednjoj strani se nalaze dvije oznake : jedan tipa SUBMIT, a drugi tipa TEXT. Devet tipova je ovako:

    TEKST

    Polje za unos jednog reda teksta.

    LOZINKA

    Oni koji su TEKST, ali tekst koji je unet, ne pojavljuju se na ekranu.

    CHECKBOX

    Zastavnik, nekakav koristuvac moze se instalirati i baciti.

    RADIO

    Radio dugme, još uvek ga mogu kombinovati sa jednim radio dugmetom. Koristuvach može izabrati više od jednog.

    SUBMIT

    Dugme, kada se pritisne, ovaj obrazac se prisiljava na web server.

    RESETOVATI

    Dugme, kada se pritisne, obrazac će vratiti standardne vrijednosti.

    FILE

    Slično tekstualnoj poruci, ali prosljeđuje naziv ulazne datoteke koja će biti poslata na server.

    HIDDEN

    Nevidljivo polje u koje se podaci mogu pohraniti.

    IMAGE

    Analogno dugme SUBMIT, ili možete postaviti sliku slike na dugme.

    Okrim atribut TYPE oznake Ozvučite atribut NAME, što znači da unos u polju podataka odgovara trenutnom imenu. Ovi podaci se prosljeđuju serveru u stilu vrijednost = vrijednost. Na prednjem kundaku, polje za tekst se zvalo ime. Možete odabrati atribut VALUE da biste uključili polja tipa TEXT, PASSWORD, FILE i HIDDEN sa vrijednošću. Isti atribut, koji je napisan za dugmad tipa SUBMIT ili RESET, prikazuje tekst na njima. Polja tipa RADIO i CHECKBOX mogu se prikazati kao postavljena iza dodatnog atributa CHECKED bez vrijednosti.

    Atribut SIZE je postavljen za postavljanje tipa zalijevanja TEXT, PASSWORD i FILE. Atribut MAXLENGTH može se izokrenuti kako bi se razgraničila dužina teksta koji se unosi. SRC atribut specificira URL slike za tvitovanje u tipu IMAGE. Ako je tako, atribut ALIGN specificira prirodu prikaza slike prema tipu IMAGE i može uključivati ​​vrijednosti TOP, MIDDLE, BOTTOM (za zaključavanje), LIJEVO ili DESNO (gore, dolje, lijevo, desno).

    .

    Yak i u tag , za oznaku , a kao tekst iza promocije prihvatit će se svaki tekst koji se može pronaći između oznaka , slično atributu VALUE za oznaku . Za Tag

    Nacrtaću koji prostor za uvod. Dani posjeduju naziv "esej". Blok teksta je širok 70 znakova i dubok 10 redova. Razmak između oznaka

    možete koristiti za crtanje. -->

    tipovi "SUBMIT" i "RESET" su važeći. Dugme "SUBMIT" se može ponovo dodeliti "Enter data", a dugme "RESET" se može napisati iza brave (naznačeno od strane pretraživača). Klikom na dugme "POŠALJI" podatke ćete poslati na web server, dugme "RESET" će vratiti podatke -->


    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

    <р>Promjena oštrenja

    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 " \n";

    dok (($count< $start) and ($line = )) ( $count++; )

    # Preskoči sve redove prije cob, dok (($count< $start+10) and ($line ? )) ( ispis $line; $count++; )

    # 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;


    <р>Unesite svoje ime:


    HTML

    izlaz(0); )

    $user = $output->param("username");

    ## Ako ne postoji fajl za koristuvača, kreirajte yogo i ubacite

    ## prva vrijednost je "0",

    if (ne -e "$user") (

    open (U, ">$user") ili die("Ne mogu otvoriti! $!");

    print U "0\n";

    zatvori U;

    &print_range("0");

    ## Ono što je originalni tekst u URL nije umetnuto

    ## Stara vrijednost, pročitajte ostatak vrijednosti i počnite od početka.

    ) elsif (ne $output->param("start")) (

    Otvori(U,"Suser") ili umri("Hej, ne mogu se zakleti! $!");

    $start = ; zatvori U;

    chomp $starl;

    raspon ispisa ($start);

    ## Yakshcho koristuvach ísnuê i URL nije specificiran

    ## poštanska vrijednost, upišite vrijednost pošte

    ## fajl ima koristuvača i skoro visnovok.

    ) drugo (

    Open(U,">$user") ili die("Hej, ne mogu otvoriti vaučer za zapisnik! $!");

    print U $output->param("start"), "\n";

    zatvori U;

    &print_range($output->param("početak 1)); )

    ispod raspona ispisa(

    moj $start = pomak;

    my$count=0;

    moja $line = " "

    ispis $output->header,

    $output->start_html("Moj rečnik");

    štampa"

    \n"; 

    dok (($count< $start) and ($line = )) ( $count++; )

    dok (($count< $start+10) and ($line = ))

    print $line; $count++;

    moj $newnext = $start+10;

    moj $newprev = $start-10;

    štampa"

    osim ako (Početak == 0)

    {

    print

    qq%

    prethodni%;

    }

    osim ako (eof) (ispisati qq%Next%;

    # Imajte na umu da je "korisničko ime" dodano URL-u.

    # U suprotnom, zaboravite na CGI, sa kratkom palicom na desnoj strani.

    }

    print $output->end_html;

    izlaz (0") ;

    }

    Uđi na sigurno

    Uz robotske servere Interneta, bilo da su HTTP serveri ili neke druge vrste, ne ustručavajte se ući u sigurnost najvažnijeg turbo. Razmjena podataka između klijenta i servera, koja je postavljena unutar okvira

    CGI pokreće niz važnih pitanja vezanih za klevetne podatke. Sam CGI protokol je opljačkan. CGI-program preuzima podatke sa servera putem standardne aplikacije za unos, ili mijenja izoštravanje, a metode su bezbedne. Međutim, baš kao što CGI program brine o podacima, to ništa ne mijenja. Loše napisan CGI program može omogućiti napadaču da dobije pristup serverskom sistemu. Hajde da pogledamo sledeći deo CGI programa:

    #!/usr/bin/perl -w

    koristiti CGI;

    moj $output = novi CGI;

    moje $username = $output"param("username");

    print $output->header, $output->start_html("Finger Output"),

    "

    ", "prst $korisničko ime", "
    ", $output->end_html;

    Ovaj program pruža siguran CGI interfejs komandi prst. Kako pokrenuti program baš kao finger.cgi, neće vidjeti listu svih koristuvača na serveru. Yakcho run í̈í̈ yak finger.cgi?username=fred, tada ćete na serveru vidjeti informacije o koristuvaču "fred". Možete navit pokrenuti í̈í̈ yak prst. oo.com da vidite informacije o udaljenom koristuvaču. Međutim, samo pokrenite í̈í̈ yak finger.cgi?username=fred; mogu biti nebazhany govori. Leđni operator """ u Perlu pokreće proces ljuske i omota komandu koja rotira rezultat. prst $korisničko ime* Pobjeda kao jednostavan način da osvojite komandu prsta i uzmete rezultat. Međutim, većina komandnih procesora vam omogućava da kombinujete u jednom redu nekoliko komandi. Na primjer, budite procesor, sličan Bourneovom procesoru, da se borite za pomoć simbola “; ". Tom"prst fred; pošta pokrenite komandu prst i podržimo tim mail Kako mogu ponovo poslati datoteku lozinke servera nesretnom korisniku.

    Jedno rješenje se koristi u sintaksičkoj analizi podataka u obliku podataka uz pomoć zlonamjerne prevare. Možete, recimo, šukati znak ";" i pogledajte sve nadolazeće simbole. Takav napad možete izvesti nemogućom, vikorističkom alternativnom metodom. CGI program koji se lebdi može se prepisati ovako:

    #!/usr/local/bin/perl -w

    koristiti CGI;

    moj $output = novi CGI;

    moje $username = $output->param("username");

    $|++;

    # Isključite baferovanje metodom za usmeravanje svih podataka klijentu,

    print $output->header, $putput->start_html("Finger Output"), "

    \n"; 

    $pid = open(C_OUT, "-|");# Ovaj Perl idiom pokreće podređeni proces i stvara

    # kanal između Batkiva i procesa kćeri,

    if ($pid) (# Cijeli proces.

    print ; ft Unesite detalje podređenog procesa.

    štampa"

    ", $output->end_html;

    izlaz (O); ft Završite program. )

    elsif (definiran $pid) (#Traži podređeni proces.

    $|++; # De-buffering.

    exec("/usr/bin/finger",$username) ili die("exec() poziv nije uspio.");

    # Pogledajte program za prste sa Susername kao jedan
    argument komandne linije. ) else ( die("fork() nije uspjela"); )

    # Perevirka pardon.

    Kao bachite, ne bogat program. Ale yakcho run í̈ť yak finger.cgi?username=fred; tada će program prsta pratiti argument fred; pošta kao jedan im'yam koristuvach.

    Kao dodatni sigurnosni unos, ova skripta jasno pokreće prst kao /usr/bin/finger. Na malo drugačiji način, ako web server šalje vašem CGI programu neprimjetni PUT, pokretanje jednostavnim prstom može po potrebi pokupiti pogrešan program. Možete proživjeti još jedan sigurnosni korak tako što ćete promijeniti izoštravanje PATH i promijeniti ga, to bi moglo biti važnije. Nije dobro vidjeti trenutni radni direktorij iz PATH-a, baš kao što ga imate, ali to nije pravi način, ako je zaista potrebno navesti program da ga upozna u novom.

    Važnije je čuvati mir ako je sigurnost povezana sa pravima koristuvača. Promotivno, web server pokreće CGI program sa pravima korisnika, koji pokreće sam server. Zvuči kao pseudo-korista, kao niko, ako imaš prava, onda i CGI programi imaju malo prava. Zvuči dobro, jer kao uljez možete pristupiti serveru preko CGI programa, nećete moći upasti u nevolje sa bogatim škodijem. Gubitak programa, koji krade lozinke, pokazuje da je moguće opljačkati, ali stvarni hak za sistem, po pravilu, je obmezheniya.

    Zaštitite robota kao koristuvača sa pravima da ograničite mogućnosti CGI. Čak i ako CGI programi treba da čitaju ili pišu fajlove, oni mogu raditi samo tamo, a može biti tako puno izgradnje. Na primjer, u drugom slučaju, memorija kože coristuvach će biti podnesena. CGI-program je kriv što je majci dozvoljeno da pročita taj zapis u katalogu da osveti ove fajlove, a da se ne obazire na same fajlove. Moguće je kreirati, kreirajući direktorij poput istog koristuvača, koji je server, sa pravima čitanja tog zapisa samo za taj koristuvač. Međutim, za takav koristuvač, kao niko, samo root može biti sličan. Ako niste super-ispravna osoba, onda ćete morati da kontaktirate administratora sistema kada menjate skin u CGI.

    Drugi način je kreiranje kataloga za čitanje tog zapisa, u stvari, uzimajući ga iz novog, bilo zahističkog. Oskílki íz zvníshny svítu otrimati pristup tsíh filív može biti samo preko vašeg programa, sigurnost nije tako velika, kao što možete dobiti. Međutim, čim se program pojavi dirka, uklanja pristup svim datotekama, uključujući i mogućnost da ih propustite. Osim toga, legalno koristuvači koji rade na serveru, također je moguće mijenjati fajlove. Ako odlučite da ubrzate korištenjem ove metode, svi serveri servera su odgovorni za kredit. Osim toga, odaberite direktorij za datoteke koje su potrebne za CGI programe; u suprotnom, nemojte riskirati preuzimanje datoteka.

    Baš kao i vaše prvo putovanje u CGI programiranje, možete ići dalje na različite načine. Desetine knjiga su napisane o ovoj temi, od kojih mnogima nije dozvoljeno da budu upoznati sa programiranjem. "CGI programiranje na World Wide Webu" O „Reilly and Associates pregledava materijal od jednostavnih scenarija na različitim jezicima do pametnih trikova i trikova. CGI je napravljen stvarno lako(Radi se samo o CGI) za adresu http://www.jmarshall.com/easy/cgi/ .

    CGI ta bazi danih

    Od početka ere Interneta, baze podataka su se pomiješale sa ekspanzijom World Wide Weba. Zaista, mnogi ljudi koji gledaju na Web su poput jedne gigantske baze podataka multimedijalnih informacija.

    Poshukoví mašine daju redovne baze podataka. Poshukov mašina ne radi na internetu u potrazi za ključnim rečima u tom trenutku, ako se od vas traži. Natomist rozrobniki sajt uz pomoć drugih programa kreira gigantski indikator, koji je baza podataka koju pretraživač beleži. Baze podataka prikupljaju informacije od posmatrača, što omogućava unošenje lozinke uz dovoljan pristup.

    Zavdjaci njihove bezobrazluke baze podataka daju Webu još više snage: transformišu ga u potencijalni interfejs za koji je dobar. Na primjer, administracija sistema se može daljinski kontrolirati putem web sučelja kako bi se zamijenio administratorski registar na potrebnom sistemu. Povezivanje baza podataka na Web je osnova novog nivoa interaktivnosti na Internetu.

    Jedan od razloga za povezivanje baza podataka na Web redovno se daju znakovi: značajan dio svjetskih informacija već je u bazama podataka. Baze podataka koje su osnovane prije opravdavanja Weba nazivaju se naslijeđenim bazama podataka (naprotiv, nisu povezane s web bazama podataka, koje smo nedavno kreirali i treba ih nazvati “lošom idejom”). Mnoge korporacije (i navít privatni osíb) suočavaju se s izazovom osiguranja pristupa ovim bazama podataka koje se opadaju putem Weba. Samo zato što je vaša baza podataka degradirana nije MySQL već mSQL, a tema je izvan granica ove knjige.

    Kao što je već rečeno, samo vaše znanje može biti u stanju da se poveže između baza podataka na Webu. U Danskoj postoje hiljade jedinstvenih i originalnih baza podataka kojima se može pristupiti sa Weba. Tipi baze podataka koje se nalaze van granica ovih programa su različite. Oni rade sa CGI programima kao interfejs za server baze podataka, kao što je MySQL ili mSQL. Tsí tipi su za nas od najvećeg interesa. Drugi komercijalni softverski programi za povezivanje sa popularnim desktop bazama podataka kao što su Microsoft Access i Claris FileMaker Pro. Inače, samo radite sa ravnim tekstualnim datotekama, koje su najjednostavnije moguće baze podataka.

    Uz pomoć ove tri vrste baza podataka, moguće je proširiti stranice web stranice, bez obzira na nivo složenosti. Jedan od naših ciljeva će biti da proguramo moć MySQL mSQL na Web pomoću CGI programiranja.

    Strana 1 od 30

    Današnji govori su kao knjiga gostiju, pretraga na serveru, obrazac za ispravku ažuriranja - neizostavan atribut praktički ozbiljnog sajta. Problem stagnacije cicha i drugih zvona i zviždaljki, zrozumílo, snažno zbudzhuê vyavu web master-pochatkívtsya, pozbavlyayuchi yogo san, apetit i žudnja za pivom. Šteta što HTML-vizuelizacija strana konkurenata nije ništa, zločin se šalje na "cgi-bin" alias, nije, ali u telekonferencijama postoji misterija oko alijasa cgi-script. Ovaj članak je posvećen osnovama korištenja cgi-skripti za slavu i prosperitet vaše stranice.

    Za klip, pretpostavljam, treba da razumete sa razumevanjem. CGI skripta je program koji se nalazi na web serveru za zahtjev klijenta (da služi web stranici). Program se u osnovi ne razlikuje od uobičajenih programa koji su instalirani na vašem računalu - bilo da se radi o MS Wordu ili Quakeu. CGI nije jezik programiranja, kao što je pisanje skripte, ali Common Gateway Interface je poseban interfejs, za čiju pomoć treba da pokrenete skriptu i stupite u interakciju sa njom.

    Kratki lirski zapis za CGI

    Oh, šta ima CGI- skripte i vzagali kao govore. Hajde da shvatimo šta je vaš pretraživač (ako ste kucali URL) slijedite protokol httpíz dodijeljen od strane servera i vmagaê u novom traženom fajlu, otprilike ovako:

    GET /~paaa/cgi-bin/guestbbok.cgi HTTP/1.0-Axis tse nagolovníshe zapí

    Pa, kao i zahtjevi za jednostavnu datoteku, na primjer .html onda ako je takva datoteka, onda je server poslao pretraživaču prompt:

    HTTP/1.0 200 OK
    Content-Type: text/html

    Dali posle praznog reda header pogled tijelo) ide informacije iz URL„A ...
    Os y princip i cjelina www.... ideš iz snage u snagu.
    I šta je potrebno unijeti u ovaj proces mrštenja prema desnici interaktivno, dinamično, lijepo i divno....? Šta je? Upravo to nije u redu sa ispitanicima URL odaberite poseban program ( CGI,program Common Gateway Interface - Split Gateway Interface) i one koje program može da vidi i ispravi pretraživač.... Server se pokreće .cgi program i neće vas, na primjer, nakon popunjavanja obrasca podataka, unijeti negdje u vašu bazu podataka i reći vam šta ti si super momak :)
    Pa, valjda sam te zaintrigirao ......?

    Kratke priče o onima koje treba da znate, da napišete CGI scripty: Pa, prije svega, morate znati šta je to internet i kako vin radi (znate li?) ;))) ) Pa, moram još malo programirati
    Hajde da odjednom napišemo nešto poput jednostavnog scenarija, a onda ću ti reći gdje pas duva.
    Pa, vratite se u svoj početni katalog da kreirate direktorij cgi-bin:

    cd public_html
    mkdir cgi-bin
    chmod 0777 cgi-bin

    Ostatak reda će biti važniji.
    Odaberite editor i upišite: #!/usr/bin/perl
    #first.cgi
    print "Tip sadržaja: tekst/html\n\n";
    štampa" ";
    štampa"

    Zdravo ti!

    ";
    print "";

    Sačuvajte jogu u imeniku cgi-bin pod im'yam first.cgi.Pa, kako si ga sačuvao?
    A sada treba da kreiramo jogu vikonuvanim (čak i ako je program):

    chmod +x first.cgi

    Pa osa, vrijeme je da pređemo na urohistički trenutak .... ukucajte red u pretraživaču http://www.uic.nnov.ru/~tv_y_login/cgi-bin/first.cgi
    i pitam se šta će biti. To će biti jedan od dva, ili će skripta biti obrađena i moći ćete generirati stranu koju on generiše (valjda je došao u naš puk!) Ili Interna greška servera- Nemoj da se stidiš, pogrešio si. Postat ćete pomagač u budućnosti za hvatanje buva. Pa, prije svega, možete promijeniti sintaksu u sljedećem koraku:

    perl -3 first.cgi

    Perl možete vidjeti odmah, ili možete reći o oprostima (pa, promašili ste poentu, ruke ili šape su bile zatvorene...) možete to popraviti usput.
    Nepristojnije je promašiti prazan red, logičnog izgleda, koji podržava naslov tijela:
    print "Tip sadržaja: tekst/html\n\n"; #Sve je u redu
    print "Tip sadržaja: tekst/html\n"; #PARTITION!

    Pogledajmo skriptu:
    Prvi red #!/usr/bin/perl Samo ukazujem na ono što je u Perl sistemu naručivanja. Još jedan tse samo komentar - možete tikati cho sigurno nakon znaka #
    Idemo print "Tip sadržaja: tekst/html\n\n"; Ovo zaglavlje ukazuje na tip umjesto svega što skripta koristi u svojoj standardnoj STDOUT skripti za obradu na serveru. Prazan red vodokremlyuê zaglavlje kao tijelo, kao na naš način ê

    Zdravo ti!



    Server će obraditi unos skripte i osnovni obrazac i poslati odgovor pretraživaču.

    Pa azijska osovina je već savladana, nije sve toliko važno i ružno kao što je moglo biti prije
    Sada možete sami vježbati pisanje tako jednostavnih skripti kako biste ih dobili.

    Common Gateway Interface (CGI, rus. Global Gateway Interface) je standardni metod dinamičkog čekanja u redu kroz web stranice za dodatne posebne programe koji se instaliraju na strani web servera. Ostali programi se nazivaju CGI-koderi ili gateway-i, a češće - CGI-skripte, jer smrad je napisan mov skriptom, uglavnom u Perlu.

    Oskílki hipertekst je statičan po svojoj prirodi, web stranica ne može komunicirati bez posrednika sa jezgrom. Prije pojave JavaScripta, nije postojao drugi način da se reaguje na unos koristuvača, već da se podaci koje je on unio prenesu na web server radi dalje obrade. U vremenima CGI-a, obrada se vrši uz pomoć naprednih programa za skriptovanje, koji se implementiraju kroz standardizacije (div. RFC 3875: CGI verzija 1.1) interfejs - divlji gateway. Model koji ilustruje CGI robota je pojednostavljen, a prikazan je na sl. 1.

    Kako vježbate CGI?

    Napredniji robotski algoritam putem CGI-a može se podnijeti ovako:

    1. Klijent traži CGI dodatak od URI-ja.
    2. Web server prima zahtjev i instalira se promena oštrenja, preko njih se podaci i servisne informacije prenose dodatku.
    3. Web server preusmjerava zahtjeve preko standardnog ulaznog toka (stdin) na ulaz programa koji treba pozvati.
    4. CGI dodatak će izvršiti sve potrebne operacije i formirati rezultate u HTML-u.
    5. Hipertekst se generiše od strane web servera putem standardnog toka prikaza (stdout). Obavještenja o pomilovanju se šalju putem stderr-a.
    6. Web server šalje rezultate na zahtjev klijenta.

    CGI stub oblasti

    Većinu vremena, povrh toga, CGI je stvaranje interaktivnih strana, koje se mogu naći u obliku coristuvach-a. Tipične primjene takvih web stranica su formular za registraciju na stranici ili obrazac za dodavanje komentara. Druga sfera CGI stoikacije, koja ostaje za lashtunkama u interakciji sa koristuvačem, povezana je sa prikupljanjem tih opštih informacija o klijentu: da je instalirano čitanje „kolačića“; otrimannya podatke o pretraživaču i operativnom sistemu; pídrahunok kílkostí vídvíduvan web-storíka; samo praćenje web prometa.

    Moguće je osigurati da se CGI skripta može povezati sa bazom podataka ili otići na sistem datoteka servera. Na ovaj način, CGI skripta može pohraniti informacije u tabele ili datoteke baze podataka i pogledati zahtjev, što se ne može učiniti s HTML-om.

    VRATI POŠTOVANJE: CGI nije programiranje jezika! Ovo je jednostavan protokol koji omogućava web serveru da šalje podatke preko stdin-a i čita ih sa stdout-a. Stoga, kao CGI-procesor, može se prevariti da li je serverski program dizajniran da radi sa standardnim ulazno-izlaznim tokovima.

    Zdravo svijete!

    Primjer jednostavne CGI skripte u mov Perl-u prikazan je na listingu 1. Da biste sačuvali ovaj kod u hello fajlu (može biti isti, ekstenzija je ista), stavite datoteku u direktorij servera cgi-bin (tačnije, u taj direktorij web servera, koji su zadaci za CGI programe koji konfiguriraju web server) i postavite za ovu datoteku pravo na adresu, kao što je xwinheld, dostupno za http (tada će biti dostupna adresa za chwindlo kao u ://servername/cgi-bin/hello.

    Listing 1. Primjer CGI skripte (Perl)

    #!/usr/bin/perl print "Tip sadržaja: tekst/html\n\n"; print< CGI Say Hello

    Zdravo svijete!

    HTML izlaz;

    Za ovaj kod, #!/usr/bin/perl linija pokazuje putanju do Perl interpretera. Red Content-type: text/html\n\n - http-header koje umjesto toga navodi tip (mime-type). Simbol indeksa za proširenje reda (\n\n) je opći jezik, simbol potključa za naslove je naslov poruke.

    Promjena oštrenja

    Svi CGI-programi mogu pristupiti promjenama koje instalira web server. Ove promjene igraju važnu ulogu u pisanju CGI programa. U tablicama su navedena djela iz promjena dostupnih CGI-u.

    Promjena oštrenjaOpis
    CONTENT_TYPE Vrsta podataka koji se šalju na server. Pobjeda, ako klijent nadjača podatke, na primjer, hvata datoteku.
    CONTENT_LENGTHRozmir vmistu zahtjev. Ova promjena je dodijeljena za POST zahtjeve.
    HTTP_COOKIEOkrenite kucanje "kolačića" kao parove "ključ vrijednosti".
    HTTP_USER_AGENTInformacije o agentu koristuvach (pretrazivaca)
    PATH_INFOPut do CGI direktorija
    QUERY_STRINGRed informacija (URL-kodiran), koji se prenosi metodom GET.
    REMOTE_ADDRIP adrese klijenata
    REMOTE_HOSTIzvan imena klijenta (FQDN). (Yakscho ê)
    REQUEST_METHODMetoda, yakim vykonuêtsya zap. Najčešće GET ili POST.
    SCRIPT_FILENAMEPovniy put do skripte, koja se traži (na serverskom sistemu datoteka).
    SCRIPT_NAMEim'ya script
    SERVER_NAMEIme servera
    SERVER_ADDRIP adrese servera
    SERVER_SOFTWAREInformacije o serverskom softveru

    Listing 2 sadrži kod za mali Perl program koji prikazuje listu promjena. Rezultat í̈í roboti je prikazan na sl. 2.

    Listing 2. Promjena oštrenja

    #!/usr/bin/perl print "Tip sadržaja: tekst/html\n\n"; štampa" \n \n

    Životna sredina

    \n"; foreach (tipke za sortiranje %ENV) ( ispis " $_: $ENV($_)
    \n"; ) print "\n"; Izlaz;

    Prijenos podataka: GET metoda

    Metoda GET se koristi za prosljeđivanje urlenkodiranih podataka kroz red upita. Adrese traženog resursa (CGI skripta) i podaci koji vam se prosljeđuju označeni su znakom "?". Primjer takve adrese:

    http://example.com/cgi-bin/script.cgi?key1=value1&key2=value2

    GET pobjeđuje za kucanje podataka unesenih u adresnu traku pretraživača. Takav red se sam može formirati kada se podaci iz web obrasca (tag ) jer nije naveden način podnošenja obrasca. Sve informacije, koje su nadjačane metodom GET, prenose se pravoj osobi, tako da nema potrebe da ih hakujete da biste ih poslali na server lozinki ili druge informacije. Metoda GET se može zamijeniti za proširenje: red se može popuniti, ali ne i popunjen za 1024 znaka.

    Informacije koje su zamijenjene metodom GET prenose se u zaglavlje QUERY_STRING u vizualnom redu, koji se zbrajaju u parovima ključ = vrijednost, CGI skripta se može ukloniti promjenom u jednom meniju.

    Listing 3. Nametanje podataka iz web obrasca korištenjem GET-a

    Jednostavan CGI skript: Slanje podataka pomoću GET metode Vaše ime: name="korisnik">
    Odakle si?: ime="od">

    Nakon unosa podataka u obrazac sa liste 3 i pritiska na dugme "Pošalji", za obrazac će se generisati red:

    http://example.com/cgi-bin/ reci zdravo?korisnik=sometext&od=drugi tekst

    de: sayhello - imam CGI skriptu; korisnik i od - imena parametara; deak_text i ínshiytekst - unesite ispravnu vrijednost datih parametara.

    Listing 4 ima instancu skripte koja se može obraditi u obliku Listinga 3.

    Listing 4. Nametanje podataka iz web obrazaca korištenjem GET metode

    #!/usr/bin/perl lokalni ($buffer, @pairs, $pair, $name, $value, %FORM); # Parsiraj preciziranje $ENV("REQUEST_METHOD") =~ tr/a-z/A-Z/; ako ($ENV(" REQUEST_METHOD")eq" GET") ($buffer = $ENV(" QUERY_STRING"); ) # Podijelite red na ključ/vrijednost za klađenje @pairs = split(/&/, $buffer); foreach $pair (@pairs) (($name, $value) = split(/=/, $pair), $value =~ tr/+/ /; $value =~ s/%/, $buffer); ue; ove podatke u niz) # Uredi ispis zaglavlja "Content-type: text/html\n\n"; # Uredi ispis hiperteksta< CGI Say Hello

    Zdravo, $FORM(korisnik) od $FORM(from)!

    HTML izlaz;

    Prijenos podataka: POST metoda

    Najprikladnija metoda za prelazak na CGI skriptu je POST metoda. Blok podataka se formira na isti način kao i kod GET metode, ali je prijenos bez posrednika specificiran u polju za unos. Podaci se mogu unositi pomoću CGI programa putem standardnog unosa (stdin).

    Za sprovođenje ovih funkcija metodom win krivi su eksplicitni zadaci u opisu forme (action="POST").

    Za raščlanjivanje ulaznih podataka, CGI skripta je kriva za čitanje stdin-a, a da bi ga pravilno raščlanila, mora prepoznati ažuriranje promijenjenog CONTENT_LENGTH. Da bismo to ilustrirali, možemo modificirati blok analize u Listingu 4 zamjenom ga sljedećim kodom:

    ... # raščlanjivanje $ENV("REQUEST_METHOD") =~ tr/a-z/A-Z/; ako ($ENV(" REQUEST_METHOD")eq" POŠTA")(pročitaj( STDIN, $bafer, $ENV(" CONTENT_LENGTH"}); } ...

    Dalja obrada uštede u promjeni parametara $buffera i njegove vrijednosti izračunava se na isti način kao iu slučaju GET metode.

    CGI prednosti

    Bogatstvo CGI mogućnosti odmah se duplira pomoću tehnologija kao što su DHTML, ActiveX ili Java apleti. Glavne prednosti korišćenja serverskih skripti su one da možete biti sigurni da svi klijenti (uz malo krivice, poziv za blokiranje pristupa glavnim resursima na nivou zaštitnog zida) mogu raditi sa serverskim dodatkom. Klijentski programi se mogu jednostavno omogućiti u pretraživaču, inače neće biti podržani.

    CGI nedostaci

    Najveći nedostatak u tehnologiji je unapređenje web servera do produktivnosti web servera. Na desnoj strani, u činjenici da je koža dovedena do CGI dodatka, poziva se na rađanje novog procesa, uz korištenje nadzemnih mrlja, što zvuči škripući. Ako je dodatak napisan uz pomilovanja, onda je moguća situacija, ako vina, na primjer, postanu opsjednuti. Pregledač prekida sesiju nakon isteka vremena čekanja, ali na strani servera je pokrenut doti proces, administrator ne poznaje dokove. Za ovaj plan, klijentove skripte mogu imati pravu prednost, jer smrdi vykonuyutsya lokalno.

    Drugi nedostatak CGI-ja je manja, u skladu sa drugim rješenjima, zaštita web servera. Nepravilno postavljanje prava pristupa serverskim resursima iz CGI programa može ugroziti ne samo praktičnost web servera, već i sigurnost informacija. Vtím, be-like merezhnuyu tehnologija može biti vvazhat potencijalno nesigurna već za sastanke.

    Objavite adresu treće strane:

    Majstori internetskih trgovina ne znaju malo o konceptu "elektronske trgovine", već bi trebali sigurno znati o ishrani "e-trgovine - kakva je to". Pa ipak, kako se širi u suštini, onda se spaja sa bogatim nijansama i ovaj termin dobija šire značenje.

    E-trgovina: šta je to?

    Razumljivije je zvučati ovako: za elektronsku trgovinu razumjeti pjesmu prije pokretanja posla, da prenosite uključivanje vlastitog niskog poslovanja, da digitalno prenosite podatke za sat rada robe i rada za ove usluge/rad, rad uz pomoć interneta.

    U takvom rangu, makar samo u komercijalne svrhe, kao da je potrebno za pomoć elektronske komunikacije.

    Robotska shema je vlashtovana kako slijedi:

    • bilo da se radi o blogeru, bilo da se radi o nekom drugom gospodaru autoriteta internet stranice) registrovan u ovom sistemu;
    • otrimu vlasne possilannya;
    • postavljanje posebnog koda na vašu web stranicu - prikazuje se oglas za obrnutog službenog partnera Mreže partnera za e-trgovinu;
    • pratiti konverziju stranice;
    • zaradite novac za kupovinu kože sa vašeg sajta, što je vrsta transfera za partnerske ponude.

    WP eCommerce

    Mnogo ljudi je odmah preplavljeno elektronskom trgovinom, prije svega, kroz grad napravite službenu web stranicu, jedinstvenu internet trgovinu za prodaju visokokvalitetnih proizvoda. Kako bi ugodili svima, trgovci su se koncentrisali na kreiranje šablona za e-trgovinu (šabloni u elektronskoj trgovini). Šta je tako daleko.

    Jedna od takvih šablonskih aplikacija je WordPress e-commerce. Ovaj dodatak za košaricu za WordPress (jedan od najpopularnijih sistema za upravljanje web resursima) je prvenstveno namijenjen za kreiranje blogova. Nadamo se da je apsolutno besplatno što daje mogućnost da se sajtu omogući kupovina na Internetu.

    Drugim riječima, ovaj dodatak vam omogućava da kreirate online prodavnicu (baziranu na WordPress-u). Dodatak za e-trgovinu ima sve potrebne alate, prilagođavajući opcije koje zadovoljavaju trenutne potrebe.

    2005-2017