Autor | Zpráva | ||
---|---|---|---|
Mirek7853 Profil * |
#1 · Zasláno: 2. 11. 2012, 22:23:46
Ahoj, potřebuju předat informace mezi stránkami (formulář mi vygeneruje například: ../pokus.php?id=111) Jenomže když kdokoliv změní to čísl id, změní mi i informace v odesílaném mailu. Jak toto mám zašifrovat aby to nešlo změnit?
Moc děkuju za pomoc. |
||
yFang Profil |
#2 · Zasláno: 2. 11. 2012, 22:41:30
Mirek7853:
Proč tedy neodesíláš formulář přes POST? Případně můžeš id uložit do session nebo cookie... |
||
Mirek7853 Profil * |
#3 · Zasláno: 2. 11. 2012, 22:58:59
Jde o to, že to jsou stránky pro bytový projekt, to znamená, že když někdo klikne na rezervaci bytu např. 111, odkáže se na stránku /rezervace.php?id=111, proto se to id pořád mění, ted to mám řešený takto, ale když někdo zmení id, změní se i odesílaný email.
|
||
Rellik Profil |
#4 · Zasláno: 3. 11. 2012, 06:47:34
Tak tu 111 vypisuj pomocí base64_encode(). To ti z ní udělá něco takového IHN0cmluZw= a k kódu kde se to zase potřebuje normálně to zase rozkóduješ...
|
||
juriad Profil |
Rellik:
base64 není bezpečné; určitě se nedá považovat za šifru pokud ti správně rozumín, tak ty máš seznam bytů; ke každému je podstránka s id bytu s formulářem; chceš zajistit, aby nikdo nemohl zmanipulovat formulář tak, aby se odeslal s informacemi z jiné stránky? při vstupu na stránku rezervace?id=xxx do stránky vlož <input type="hidden" name="id" value="$id"> <input type="hidden" name="timestamp" value="$timestamp"> <input type="hidden" name="identifikator" value="$identifikator"> kde: $id je id stránky z $_GET["id"] (tedy to xxx)
$timestamp je aktuální čas, kdy byla stánka vygenerovaná <- to je tam proto, aby jsi rozlišil jednotlivé uživatele a znemožnil kradení formulářů
$salt je tvoje tajné heslo, které zajistí, že identifikátor nebude rozlousknutelný
$identifikator = sha1($id.$timestamp.$salt) při přijetí požadavku od uživatele z formuláře jednoduše poznáš, jestli údaje $_POST["id"], $_POST["timestamp"], $salt dohromady vytvoří $_POST["identifikator"]
pokud ne, došlo k manipulaci s údaji ve formuláři a tedy zpracování formuláře odmítneš ta $salt je nějaká tvá konstanta, která má zajistit to, aby nikdo neodhadnul způsob, jak se $identifikator vypočítává
|
||
Časová prodleva: 11 let
|
0