Autor Zpráva
xlifer
Profil
Přečetl jsem zde na fóru i jinde ohledně bezpečnosti přebírání hodnot z formuláře hodně, ale pořád s toho nejsem moudrý, protože se názory rozděluji na dva tábory - jeden doporučuje použít REQUEST a druhý výhradně odděleně POST a GET.

Řeším případ, kdy mám skript, který mi zpracovává hodnty odeslané jak z formuláře, tak i z odkazu předáním parametrů. Přijde mi samozřejmě pohodlnějsí použít REQUEST. Křížení parametrů, resp. stejné pojmenování nehorzí, nemám v celém skriptu/systému žádné proměnné stejných názvu u kterých by mohlo dojít ke konfliktu.

Jak by jste doporučili takovou situaci řešit, když jeden skript obsluhuje stejné data z formuláře i odkazu? Odpověď, že je špatný koncept, když jedna funkce obsluhuje stejné data mi moc nepomůže :-)

Verze 1:

if ( isset($_POST["x"]) OR isset($_GET["x"]) )
{
  echo "ano";
  if (isset($_POST["x"])
  {
    $x = $_POST["x"]
  }
  if (isset($_GET["x"])
  {
    $x = $_GET["x"]
  }
  echo $x;
}

Verze 2:

if ( isset($_REQUEST["x"]) )
{
  echo "ano";
  $x = $_REUQEST["x"];
  echo $x;
}
panther
Profil
xlifer:
snad víš, jaké klíče máš v URL a jaké máš ve formuláři, ne? Nebo to nevíš, když vymýšlíš podobné vylomeniny?
xlifer
Profil
panther:

Samozřejmě, že vím, ale jde mi o to jestli když to vyřesím příkladem 2 přes REQUEST, tak to je vpořádku nebo mi to někdo rozmluví proč je to takto právě špatně? Opravdu nevím jestli je takové řešení úplně špatně, ale doufám, že nikoliv... Abych se přiznal, tak už jsem docela zblbnutej všema informacema o bezpečnosti ohledně REQUEST, POST a GET a už nevím jak z toho ven :-)
candiess
Profil
xlifer:
Když si kupuješ auto taky ti každý radí jaké by sis měl koupit, je to jen o tom, jaké se doopravdy líbí jemu. Jiný kraj jiný mrav, tak samo v programování, každý má jiný styl práce a každý požívá jiné myšlení, důležitý je ovšem výsledek práce. Tady nevidím problém mezi GET + POST vs REQUEST, třeba používám odděleně.
xlifer
Profil
candiess:

Ano, rozumím. Díky za názor, tohle jsem asi potřebobal slyšet z nezavislého zdroje.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0