Savage odgovori html. Opis objekta Response. Primjeri slabe zaštite
Da biste dobili instancu ove klase, koristite poziv metode wa()->getResponse(), na primjer:
Wa()->getResponse()->getHeader("Content-type")
Metode javna funkcija addCss( $url, $app_id = lažno)Dodaje URL na listu CSS datoteka. Svi dodati URL-ovi CSS datoteka mogu se preuzeti u Smarty predlošku koristeći ($wa->css()) metodu.
Opcije- $url
Relativni URL CSS datoteke. Ako je navedena vrijednost parametra $app_id, tada bi URL datoteke trebao biti specificiran u odnosu na URL direktorija s datotekama odgovarajuće aplikacije. Inače, relativni URL treba biti specificiran u odnosu na direktorij instalacije okvira.
- $app_id
ID aplikacije.
Dodaje isječak JavaScript koda za Google Analytics. Kôd Google Analytics (uključujući onaj koji je dodan ovom metodom) povezan je u HTML predložak web lokacije pomoću metode ($wa->headJs()).
Opcije- $str
Fragment JavaScript koda.
Dodaje zaglavlje koje će server poslati kao odgovor na zahtjev korisnika. Sva zaglavlja dodana na ovaj način će biti poslana korisniku kada se metoda izvrši.
Opcije- $name
Naziv naslova.
- $value
Vrijednost naslova.
- $replace
Oznaka koja pokazuje da li treba zamijeniti prethodno postavljenu vrijednost za navedeno zaglavlje.
Dodaje URL na listu JavaScript datoteka. Svi dodati URL-ovi JavaScript datoteka mogu se preuzeti u Smarty predlošku koristeći ($wa->js()) metodu.
Opcije- $url
URL datoteke sa JavaScript kodom. Ako je navedena vrijednost parametra $app_id, tada bi URL datoteke trebao biti specificiran u odnosu na URL direktorija s datotekama odgovarajuće aplikacije. Inače, relativni URL treba biti specificiran u odnosu na direktorij instalacije okvira.
- $app_id
ID aplikacije.
Vraća listu prethodno dodatih veza za CSS fajlove.
Opcije- $html
Oznaka koja ukazuje na potrebu vraćanja HTML koda za povezivanje CSS datoteka. Ako je navedeno false, metoda vraća niz URL-ova za takve datoteke.
- $strogo
Označite za korištenje XHTML formata umjesto HTML-a kada je $html postavljeno na true .
Vraća vrijednost zaglavlja odgovora.
Opcije- $name
ID zaglavlja čija vrijednost treba vratiti. Ako nije navedeno, metoda vraća cijeli niz trenutnih zaglavlja.
Vraća listu veza JavaScript datoteke odgovora.
Opcije- $html
Opciona zastavica koja ukazuje na potrebu da se vrati HTML kod za povezivanje JavaScript datoteka. U suprotnom, metoda vraća trenutni niz URL-ova datoteka.
Vraća sadržaj META podataka: naslov stranice ("title"), ključne riječi META oznake ("ključne riječi"), opis ("description").
Opcije- $name
Identifikator META elementa podataka čija vrijednost treba biti vraćena. Ako nije navedeno, metoda vraća cijeli trenutni niz META podataka.
Vraća prethodno postavljeni status odgovora servera.
Primjer wa()->getResponse()->setStatus(200); wa()->getResponse()->getStatus(); Rezultat 200 javna funkcija getTitle()Vraća naslov (TITLE) stranice.
Primjer wa()->getResponse()->setTitle("Moja online trgovina"); wa()->getResponse()->getTitle(); Rezultat Preusmjeravanje javne funkcije moje online trgovine ( $url, $code = null)Preusmjerava korisnika na navedeni URL.
Opcije- $url
URL na koji korisnik treba biti preusmjeren.
- $code
Kôd odgovora servera koji bi trebao pratiti preusmjeravanje.
Šalje prethodno postavljena zaglavlja.
Primjer wa()->getResponse()->addHeader("Content-type", "application/json"); wa()->getResponse()->sendHeaders(); javna funkcija setCookie( $name, $value, $expire = null, $path = null, $domain = "", $secure = false, $http_only = false)Postavlja vrijednost unosa kolačića koristeći PHP funkciju setcookie.
Opcije- $name
ID zapisa.
- $value
Rekordna vrijednost.
- $expire
Vrijeme isteka.
- $path
Put do URI-ja "poddirektorijuma" unutar kojeg je vrijednost unosa važeća.
- $domena
Ime domene za koje je važeća vrijednost unosa.
- $secure
Oznaka koja označava da je unos dostupan samo ako se vrijednost prenosi putem HTTPS protokola.
- $http_only
Oznaka koja označava da je vrijednosti zapisa dostupna samo preko HTTP protokola i da nije dostupna putem klijentskih skripti (JavaScript).
Postavlja vrijednost META podataka. Ova vrijednost je dostupna u Smarty predlošcima koristeći ($wa->meta()) metodu.
Opcije- $name
Identifikator META elementa podataka: naslov stranice ("title"), ključne riječi META oznake ("ključne riječi") i opis ("opis").
- $value
Vrijednost elementa.
Postavlja status odgovora servera.
Opcije- $code
Statusni kod
Postavlja naslov (TITLE) stranice. Sadržaj naslova je dostupan u Smarty predlošcima pomoću metode ($wa->title()).
Nakon primanja i tumačenja poruke zahtjeva, server odgovara porukom HTTP odgovora:
- Statusna linija
- Nula ili više polja zaglavlja (Općenito|Odgovor|Entitet) praćenih CRLF-om
- Prazan red (tj. red bez ničega ispred CRLF-a) koji označava kraj polja zaglavlja
- Opciono tijelo poruke
Svaki sljedeći odjeljak objašnjava entitete koji se koriste u poruci HTTP odgovora.
Statusna linija porukeStatusna linija se sastoji od verzije protokola praćene numeričkim statusnim kodom i pripadajućom tekstualnom frazom. Elementi su odvojeni razmakom SP znakova.
Server koji podržava HTTP verziju 1.1 će vratiti sljedeće informacije o verziji:
HTTP-verzija = HTTP/1.1
Status CodeElement Status-Code je trocifreni cijeli broj pri čemu prva znamenka Status-Code definira klasu odgovora, a posljednje dvije cifre nemaju nikakvu ulogu kategorizacije. Postoji 5 vrijednosti za prvu cifru:
1 | 1xx: Informativni To znači da je zahtjev primljen i da se proces nastavlja. |
2 | 2xx: Uspjeh To znači da je akcija uspješno primljena, shvaćena i prihvaćena. |
3 | 3xx: Preusmjeravanje To znači da se moraju poduzeti dalje radnje kako bi se zahtjev dovršio. |
4 | 4xx: Greška klijenta To znači da zahtjev sadrži netačnu sintaksu ili se ne može ispuniti. |
5 | 5xx: Greška servera To znači da server nije uspio ispuniti naizgled valjan zahtjev. |
HTTP statusni kodovi su proširivi i HTTP aplikacije nisu potrebne da razumiju značenje svih registrovanih statusnih kodova. Lista svih statusnih kodova data je u posebnom poglavlju za vašu referencu.
Polja zaglavlja odgovoraProučavaćemo Općenito zaglavlje i Zaglavlje entiteta u posebnom poglavlju kada ćemo naučiti HTTP polja zaglavlja. Za sada, hajde da proverimo koja su polja zaglavlja odgovora.
Polja zaglavlja odgovora dozvoljavaju serveru da prosledi dodatne informacije o odgovoru koje se ne mogu staviti u statusnu liniju. Ova polja zaglavlja daju informacije o serveru io daljem pristupu resursu identifikovanom pomoću Request-URI.
-
Proxy-Authenticate
-
WWW-Autentikacija
Možete uvesti svoja prilagođena polja u slučaju da ćete napisati svoj vlastiti prilagođeni Web klijent i server.
Primjeri poruka odgovoraSada sastavite sve zajedno da formiramo HTTP odgovor na zahtjev za preuzimanje hello.htm stranice s web servera koji radi na web lokaciji
HTTP/1.1 200 OK Datum: Pon, 27. jul 2009. 12:28:53 GMT Server: Apache/2.2.14 (Win32) Zadnja izmjena: sre, 22. jul 2009. 19:15:56 GMT Dužina sadržaja: 88 sadržaja- Tip: text/html Veza: Zatvorena Zdravo, svijete!
Sljedeći primjer prikazuje HTTP poruku odgovora koja prikazuje stanje greške kada web server nije mogao pronaći traženu stranicu:
HTTP/1.1 404 Nije pronađen Datum: ned, 18. oktobar 2012. 10:36:20 GMT Server: Apache/2.2.14 (Win32) Dužina sadržaja: 230 Veza: zatvorena vrsta sadržaja: text/html; charset=iso-8859-1 404 Nije pronađeno Nije pronađeno
Traženi URL /t.html nije pronađen na ovom serveru.
Slijedi primjer poruke HTTP odgovora koja prikazuje stanje greške kada je web server naišao na pogrešnu HTTP verziju u datom HTTP zahtjevu:
HTTP/1.1 400 Loš datum zahtjeva: ned, 18. oktobar 2012. 10:36:20 GMT Server: Apache/2.2.14 (Win32) Dužina sadržaja: 230 Tip sadržaja: tekst/html; charset=iso-8859-1 Veza: zatvoreno 400 Loš zahtjev Loš zahtjev
Vaš pretraživač je poslao zahtjev koji ovaj server nije mogao razumjeti.
Red zahtjeva sadržavao je nevažeće znakove nakon niza protokola.
Opisani objekt je vrlo koristan i moćan alat. Ovaj objekat ima nekoliko metoda, njihov opis je dat u nastavku:
kolekcije: Metode: Svojstva: Response.Cookies zbirkaKolekcija kolačića postavlja vrijednosti za kolačiće. Ako navedeni kolačići ne postoje, on ih kreira. Ako kolačić postoji, on poprima novu vrijednost i uništava staru.
Response.Cookies(kolačić) [(ključ) | . atributi ] = vrijednost
Opcije:
- kolačić - naziv kolačića
- ključ - Opcioni parametar. Ako je naveden, tada je kolačić direktorij (ugniježđen), a ključ je skup vrijednosti.
- atributi - Navedene informacije o samim kolačićima. Ovaj parametar može biti jedan od sljedećih:
- vrijednost - Određuje vrijednost koja će se dodijeliti ovom ključu ili atributu.
Ime | Opis |
Domain | Samo snimanje. Ako je navedeno, kolačići se šalju samo na zahtjev sa ove domene. |
Ističe | Samo snimanje. Datum na koji kolačić ističe. Ovaj datum mora biti postavljen da bi kolačići bili upisani na hard disk klijenta nakon završetka sesije. Ako ovaj atribut nije postavljen, tada se pretpostavlja da je datum isteka kolačića trenutni datum. Kolačići će isteći odmah nakon završetka sesije. |
HasKey | Samo čitanje. Označava da li kolačić sadrži dati ključ. |
Put | Samo snimanje. Ako je navedeno, kolačići se šalju samo na zahtjev sa ove staze. Ako parametar nije postavljen, koristi se put do aplikacije. |
Sigurno | Samo snimanje. Označava da li će kolačići biti zaštićeni ili ne. |
komentar:
Ako je ključni kolačić kreiran kao što je prikazano u sljedećoj skripti,
tada će biti poslano sljedeće zaglavlje:
Set-Cookie:MYCOOKIE=TYPE1=šećer&TYPE2=kolačići
Ako dodijelite vrijednost mycookie-u bez korištenja ključeva, tada će ova radnja uništiti ključeve tipa 1 i tipa 2. npr.:
U prethodnom primjeru, ključevi type1 i type2 će biti uništeni i njihove vrijednosti će biti izgubljene. Mycookie će sada sadržavati vrijednost čokoladni marshmallow.
Postojanje određenog ključa možete provjeriti i na sljedeći način:
Ako je prikazano TRUE, onda takav ključ postoji; ako je FALSE, ne postoji.
Metoda Response.WriteOdgovor. Upišite varijablu_ili_vrijednost
Opcije:
- varijabla_ili_vrijednost - Podaci koji se prikazuju na ekranu pretraživača putem HTML-a. Ovaj parametar može biti bilo koje vrste koju podržava VisualBasic Scripting Edition. Odnosno, podaci mogu biti sljedećih tipova: datum, niz, karakter, numeričke vrijednosti. Vrijednost ovog parametra ne može sadržavati kombinaciju %>. Umjesto toga, možete koristiti ekvivalentnu kombinaciju %\>. Web server će konvertovati ovu sekvencu u potrebnu kada se skripta izvrši.
Sljedeći primjer pokazuje kako metoda Response.write radi za izlaz poruke klijentu.
Samo ću ti reći: I tvoje ime
Sljedeći primjer dodaje HTML oznaku na web stranicu. Pošto ova metoda ne može sadržavati kombinaciju %>, koristimo sekvencu %\>. Dakle, primjer skripte:
Izlaz će biti linija: