Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Prenos promenljive preko linka

[es] :: Python :: Prenos promenljive preko linka

[ Pregleda: 3967 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Vojislav Mihailovic
Smed. Palanka

Član broj: 20436
Poruke: 12
*.vdial.verat.net



Profil

icon Prenos promenljive preko linka16.02.2004. u 00:43 - pre 196 meseci

1. Kako da sa jedne ZPT strane prenesem vrednost neke promenljive na drugu ZPT stranu preko linka

2. Kako da sa prve ZPT strane prenesem na drugu ono sto je korisnik izabrao iz select liste

Unapred hvala,
Voja
 
Odgovor na temu

m.aleks
Aleksandar Milošević
Beograd

Član broj: 13474
Poruke: 23
195.252.85.*



Profil

icon Re: Prenos promenljive preko linka16.02.2004. u 07:23 - pre 196 meseci
Citat:
Vojislav Mihailovic:

1. Kako da sa jedne ZPT strane prenesem vrednost neke promenljive na drugu ZPT stranu preko linka

2. Kako da sa prve ZPT strane prenesem na drugu ono sto je korisnik izabrao iz select liste

Unapred hvala,
Voja


Sta ti znaci da "preneses preko linka"? Mislis da preneses promenljivu GET request-om?

<a href="druga_strana?promenljiva=vrednost"> link </a> Ovako?

Code:

<div tal:define="promenljiva vrednost">
   <a tal:attributes="href string:druga_strana?promenljiva=${promenljiva}"> link </a>
</div> 


Kazes da si koristio PHP, onda si verovatno upoznat sa session-ima. Mozes i to da koristis. Alex ti je dao primer u kome se koriste session-i.

I za 1. i 2. pitanje, vrednost u drugoj strani ces naci ovako:

Code:

<!-- druga strana -->
Vredost promenljive je <span tal:content="request/promenljiva"/>


Nije vazno da li koristis GET ili POST request uvek ih ovako nalazis.

http://www.w3.org/TR/html401/
http://www.w3.org/TR/xhtml1/
http://zope.org/Documentation/...ZopeBook/2_6Edition/AdvZPT.stx
http://zope.org/Documentation/Books/ZopeBook/2_6Edition/ZPT.stx

Alex, ti odgovaras na sledece pitanje :)
--
Cancel my subscription to the resurrection
 
Odgovor na temu

alex
Aleksandar Radulovic
Senior Software Engineer, Spotify
Stockholm, Sweden

Član broj: 71
Poruke: 2194
*.habil.is

Jabber: alex@a13x.info
ICQ: -1
Sajt: www.a13x.info


+1 Profil

icon Re: Prenos promenljive preko linka16.02.2004. u 09:01 - pre 196 meseci
Citat:
m.aleks:
Alex, ti odgovaras na sledece pitanje


Sledeci odgovor na pitanja ce biti:
Zope Dokumentacija
Zope Book
Zope API referenca
Zope How-To

Za kraj, dodao bih i odlican sajt sa receptima:
Zope Labs - odlican sajt!

Bez uvrede, Vojo, ali sva pitanja koja si postavio su veoma dobro pokrivena u dokumentaciji na gore-navedenim linkovima.

Naravno, tu smo za pomoc za ona, malko teza pitanja! Nemoj da te gore-receno navede da pomislis da odustanes.. To nije dozvoljeno

Pozdrav,
alex.
Alex: My favorite site is http://localhost/
R.J. Oppenheimer: "I am become death, destroyer of worlds" (1945 AD)
tweet.13x ||
linkedin.13x
 
Odgovor na temu

-zombie-
Tomica Jovanovic
freelance programmer
ni.ac.yu

Član broj: 4128
Poruke: 3448
*.vdial.verat.net

Sajt: localhost


+4 Profil

icon Re: Prenos promenljive preko linka16.02.2004. u 10:45 - pre 196 meseci
Citat:
m.aleks:
Code:

<!-- druga strana -->
Vredost promenljive je <span tal:content="request/promenljiva"/>



da li ovo znači da py ne razlikuje promenjive koje dolaze iz POSTa i GETa, ili je ovaj request/ način da se dobiju oba, a postoje posebno i post/ i get/ ?

 
Odgovor na temu

m.aleks
Aleksandar Milošević
Beograd

Član broj: 13474
Poruke: 23
*.beotel.net



Profil

icon Re: Prenos promenljive preko linka17.02.2004. u 09:32 - pre 196 meseci
Citat:
-zombie-:
da li ovo znači da py ne razlikuje promenjive koje dolaze iz POSTa i GETa, ili je ovaj request/ način da se dobiju oba, a postoje posebno i post/ i get/ ?


Samo da bude jasnije: Ovde govorimo o Zope serveru i o ZPT stranama, ne o Python Script-ovima u Zope serveru, i ne o cistom python-u u cgi aplikacijama.

Ne postoje posebno post i get objekti, vec samo request. To nije ni potrebno jer zahtev koji stize moze biti samo jednog tipa, ne i POST i GET istovremeno.

Probaj ovo:
Code:

<!-- druga strana -->
<div tal:content="structure request"/>


Inace ovo su sve ekvivalentni izrazi:
Code:

<!-- druga strana -->
 Vrednost promenljive je <span tal:content="request/promenljiva"/>.<br/>
 Vrednost promenljive je <span tal:content="python:request['promenljiva']"/>.<br/>
 Vrednost promenljive je <span tal:content="python:request.get('promenljiva')"/>.<br/>
 Vrednost promenljive je <span tal:content="python:getattr(request,'promenljiva')"/>.<br/>
 Vrednost promenljive je <span tal:content="python:request.promenljiva"/>.<br/>


--
Cancel my subscription to the resurrection
 
Odgovor na temu

-zombie-
Tomica Jovanovic
freelance programmer
ni.ac.yu

Član broj: 4128
Poruke: 3448
*.dial.InfoSky.Net

Sajt: localhost


+4 Profil

icon Re: Prenos promenljive preko linka17.02.2004. u 10:06 - pre 196 meseci
Citat:
m.aleks:
Ne postoje posebno post i get objekti, vec samo request. To nije ni potrebno jer zahtev koji stize moze biti samo jednog tipa, ne i POST i GET istovremeno.


sad mi tek nije jasno.

prvo, kako skripta onda zna da li je parametre dobila preko POST ili GET zahteva? (nemojte da mi kažete da nije bitno. ponekad je vrlo bitno)

i drugo, kako ne može i POST i GET istovremeno? dobro, znam da na nivou HTTPa ne može, ali šta se dobija ako POSTujem nekek podatke na url tipa /dir/script?param=value&and=another

iako je ovo zvanično POST zahtev, trebalo bi da mogu da izvučem i tzv. "GET parametre".

inače, ovo kombinovanje je standardna praxa na webu sa drugim alatima..
 
Odgovor na temu

alex
Aleksandar Radulovic
Senior Software Engineer, Spotify
Stockholm, Sweden

Član broj: 71
Poruke: 2194
*.habil.is

Jabber: alex@a13x.info
ICQ: -1
Sajt: www.a13x.info


+1 Profil

icon Re: Prenos promenljive preko linka17.02.2004. u 12:03 - pre 196 meseci
request.form dict uvek sadrzi informacije prosledjene POST ili GET metodom kroz web formu.

Ukoliko radis POST na URL?bla=truc POST promenljive ce biti u request.form dok ce ti URL parametri ce biti u request.environ dict-u, pod QUERY_STRING kljucem.

No, ukoliko forma ima input ime bla (u njoj upisano npr. blahblah) i ti radis GET na URL?bla=truc Zope ce to prepraviti u URL?bla=blahblah cime efikasno onemogucava prepisivanje varijabli kroz url.

Ispitivanjem request.environ['REQUEST_METHOD'] mozes dobiti informaciju o vrsti metoda i time dodatno zastititi svoju aplikaciju od prepisivanja variabli kroz url.

Primer Script (Python) objekta
Code:

from Products.PythonScripts.standard import html_quote
request = container.REQUEST
RESPONSE =  request.RESPONSE

if request.environ['REQUEST_METHOD'] == 'GET':
    print "GET method not allowed!"
else:
    print html_quote(request.form)
return printed


Alex: My favorite site is http://localhost/
R.J. Oppenheimer: "I am become death, destroyer of worlds" (1945 AD)
tweet.13x ||
linkedin.13x
 
Odgovor na temu

m.aleks
Aleksandar Milošević
Beograd

Član broj: 13474
Poruke: 23
*.beotel.net



Profil

icon Re: Prenos promenljive preko linka17.02.2004. u 15:30 - pre 196 meseci
Alex ti je odgovorio detaljnije na pitanje, a i detaljnije si ga postavio.

Citat:

(nemojte da mi kažete da nije bitno. ponekad je vrlo bitno)


Citat:

Ispitivanjem request.environ['REQUEST_METHOD'] mozes dobiti informaciju o vrsti metoda i time dodatno zastititi svoju aplikaciju od prepisivanja variabli kroz url.


Da li je prepisivanje varijabli jedino od cega zelite da se stitite? Ima li jos neki primer?

Mozda gresim, ali to nije stvar alata u kome radis vec programera. Klijentu nikada ne treba slati nista sto on ne treba da zna i jos gore verovati da to sto vraca nije izmenjeno.

A sto se tice POST request-a on izgleda ovako:
Code:

Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, ...
Referer: http://localhost:8080/test
Accept-Language: sr
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
Host: localhost:8000
Content-Length: 19
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: tree-s="eJzT0MgpMOQKVneEA1dbda4CI67EkgJjLj0AeGcHew"

promenljiva=fdsfdsa


Ono sto je bilo u url-u, sada je u telu.

A, ako hocete da simulirate http klijente - httplib, urllib2.... Da li je aplikacija sigurna?
--
Cancel my subscription to the resurrection
 
Odgovor na temu

-zombie-
Tomica Jovanovic
freelance programmer
ni.ac.yu

Član broj: 4128
Poruke: 3448
*.vdial.verat.net

Sajt: localhost


+4 Profil

icon Re: Prenos promenljive preko linka17.02.2004. u 18:11 - pre 196 meseci
hvala, ali ja znam kako izgledaju http zahtevi verovatno i više nego što sam ikada želeo. :-P

ja sam pitao za istovremeno korišćenje post i get podataka. alex mi je već odgovorio. ako ti već nije jasno moje pitanje, pogledaj njegov odgovor. ;)

Citat:
m.aleks:
Da li je prepisivanje varijabli jedino od cega zelite da se stitite? Ima li jos neki primer?

Mozda gresim, ali to nije stvar alata u kome radis vec programera. Klijentu nikada ne treba slati nista sto on ne treba da zna i jos gore verovati da to sto vraca nije izmenjeno.


pa nije samo prepisivanje promenjivih, ali da se ne bi ponavljao, skoro sam opisao zašto je važno znati odakle dolaze podaci http://www.elitesecurity.org/poruka/284800.

a naravno da klijentu treba verovati.. pa otprilike nikada. ;)
 
Odgovor na temu

[es] :: Python :: Prenos promenljive preko linka

[ Pregleda: 3967 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.