Newsgroup: it.comp.www.php
Titolo: l'uso di REQUEST

Mi hanno chiesto di fare delle modifiche ad un sito (è un plugin
per wordpress, ma non importa)
Adesso, il programmatore (per fare prima? boh!) se ne è sbattuto
allegramente di cosa gli arrivava e da dove, ricavando tutte le variabili
tramite $_REQUEST.
Per quanto mi riguarda questa è una pessima pratica (oltretutto ilsito fa
uso anche dei cookie, quindi ancora peggio).
Voi che ne pensate?
Posso cazziarlo a dovere? :)

 Posso cazziarlo a dovere? :)
Prima risolvi il problema e poi cazzialo, perche' se lo cazzi il problema rimane
e il committente non e' contento :)
Ciao,
luigi
-- 
/
+--[Luigi Rosa]--
\
Never test the depth of the water with both feet.

 e il committente non e' contento :)
Il fatto di cazziarlo era una battuta :)
non so neanche chi sia la persona che Lo ha fatto e credo che non ci
avro' mai a che fare.
La domanda vera è : cosa ne pensate voi dell'uso (sconsiderato direi) di
REQUEST?
io dalla mia nno lo uso mai, e sono sicuro che posso stare tranquillo

REQUEST?
Non ci vedo niente di male... differenziare fra _POST e _GET, entrambe
variabili sotto il completo, totale, irrimediabile controllo del primo
utente che passa, ti puo' dare forse un po' di sicurezza in piu'... ma
quanta, a guardare bene?
Personalmente, mi fido di _POST il doppio di quanto mi fido di _GET, e
di _GET il doppio di quanto mi fido di _REQUEST. E di _REQUEST mi fido
il doppio che di _POST, cosi' il cerchio si chiude :-)
Leonardo
-- 
Linten addie toorin addie,
Linten addie toorin ee,
Linten lowrin lowrin lowrin,
The barnyards of Delgaty

Redwiz ha scritto:

Mah, alla fine dovrebbe essere solo un contenitore per POST GET e COOKIE 
indifferentemente, giusto?
Personalmente vado sempre e solo di post tranne che per banali variabili 
di navigazione tipo ?articolo=12
Per il resto post e possibilmente asincroni.
Sui cookies, io li uso per parte dell'autenticazione, assieme ad un seed 
lato server. È una cosa problematica? Non mi sono neanche mai posto più 
di tanto il problema a dire il vero: pensavo che bastasse scrivere bene 
il codice e le richieste per potersi affidare in sicurezza anche ai cookies


direi che:
if (isset($_REQUEST["key"]))
    $val = $_REQUEST["key"];
è molto meglio di:
if (isset($_GET["key"]))
    $val = $_GET["key"];
else if (isset($_POST["key"]))
    $val = $_POST["key"];
else if (isset($_COOKIE["key"]))
    $val = $_COOKIE["key"];
Come sempre, una volta che si sa come una funzionalità opera (e
soprattutto si sa che esiste), una situazione in cui conviene usarla
si trova sempre. Non usare qualcosa perchè è "pericoloso" è
semplicemente ridicolo: smettiamo di usare i "while" perchè è
possibile scrivere "while(1){}"? Come dire.. le armi non uccidono, le
persone armate sì.

 REQUEST?
Come ti hanno già risposto non ci sono differenze in termini di 
sicurezza; personalmente preferisco utilizzare _post e _get (il 
programma segue il flusso da me impostato)
	Francesco

 il doppio che di _POST, cosi' il cerchio si chiude :-)
sbagliato, non ti devi fidare di nessuno.
-- 
·



Se trasformi quello che ha detto in un sistema di tre incognite, l'unico 
risultato possibile e` che lui si fida zero di ognuna delle tre. :)
Bye.

Alessandro Pellizzari wrote:

cipicchia, era un tranello e ci sono cascato.
-- 
·

 persone armate sì.
il discorso non è proprio così, ad esempio:
http://marc.info/?l=php-internals&m=119956617516891&w=2
http://brian.moonspot.net/2008/01/17/responsible-use-of-the-_request-variable/

 tre
Oppure che sia un estratto del discorso di commiato di Bilbo Baggins.
Da ubriaco.

 
http://marc.info/?l=php-internals&m=119956617516891&w=2http://brian.moonspot.net/2008/01/17/responsible-use-of-the-_request-.
..
Nessuno di questi due link va contro a quello che ho detto e penso, a
parte il pensiero di Stefan Esser che, personalmente, ritengo errato:
ma è un esperto di sicurezza (un "esperto di sicurezza" è quella
persona convinta che qualsiasi utente di qualsiasi livello sia immune
da intelligenza, e che vada perciò protetto impedendogli di accedere a
priori a servizi/parte di servizi a lui necessari).
Ribadisco: il fatto che *esista* non significa che vada usata *male*.
Alla sicura obiezione che "tutti possono sbagliare" rispondo
aggiungendo che "tutti possono sbagliare in *qualsiasi* punto del
codice".

 parte il pensiero di Stefan Esser che, personalmente, ritengo errato
Sono d'accordo con te sulla frase "una volta che si sa come una 
funzionalita` opera...". Pero` $_REQUEST in se` e` pericolosa finche` non 
sai come opera, e infatti il tuo codice "equivalente" e` sbagliato perche` 
dovevi prima controllare i cookies, poi get e poi post.
Inoltre, una volta capito come funziona e i pericoli che porta (cookie 
iniettati, per esempio, quando hai un sito su un dominio condiviso), ti 
accorgi che e` meglio non usarla mai, e preferire sapere esattamente da 
dove stai prendendo i dati, tanto la difficolta` e` la stessa, anzi, 
minore, visto che sia GET che POST sono formate da meno caratteri di 
REQUEST. ;)
Poi i dati devi controllarli comunque, ma almeno sai da dove vengono.
E` un po' come usare variabili globali che vengono modificate in diversi 
punti di file inclusi: non sai mai quale valore ti arriva nel momento in 
cui la leggi.
Bye.


E' sleale paragonare un anti-pattern ad una funzione.

e preferire sapere esattamente da dove stai prendendo i dati
Dall'utente. Tanto basta :-)
IMVHO, se uno ha problemi con l'uso di _REQUEST, questi problemi
non dipendono dal fatto che abbia usato _REQUEST. Lo smettere di
usare _REQUEST puo' magari curare i sintomi, ma non il problema.
Leonardo e i suoi .02 EUR


Bah
Di solito, se se tu a scrivere del benedettissimo codice, sai se la
variabile devi prenderla da get o da post o dal cookie.. non ho mai
avuto l'esigenza di usare REQUEST... e poi se usi request, magari ti
crei delle collisioni tra ... ad esempio ... $_GET["id"] e $_COOKIE
["id"] che magari rappresentano dati diversi
Carissimo Redwiz a meno che tu non sia pigro o stia scrivendo una app
molto semplice non usare REQUEST  (che poi è + lungo da scrivere di
GET e POST xD)
Sapete da bambino sono stato violentato da un XSS e da un CSRF
(poi dicono che i webmaster scrivono applicazioni scolapasta...)

molto semplice non usare REQUEST
La pigrizia e' una virtu' :-). La Natura e' pigra: ogni azion naturale
č generata dalla natura nel piů brieve modo che trovar si possa.
Leonardo pigerrimo


 GET e POST xD)
mai e poi mai, ma di certo non correggo le vagonate di codice dove sto
mettendo mano, mi pagano solo per agiungere funzionalità ed è quello che
farò!

 č generata dalla natura nel piů brieve modo che trovar si possa.
lol
io lo conoscevo come princio della fisica, ma alla fine dice la stessa
roba, a braccio:"ogni corpo tende ad andare verso i punti di equilibrio,
che sono quelli a minor energia potenziale"
o qualcosa del genere :)