|
 | | |
| Autor | Správa |
camo
 Zablokovaný užívateľ
 Založený: 05.09.2009 Príspevky: 1176 Bydlisko: Lehota pod Vtáčnikom
 |
Zdravím!
Mám problém s funkciou base64_decode/encode
Mám takúto premennú, ktorú zakódujem cez base64_encode a prenesiem cez header("location:...) na zobrazenie do iného scriptu:
| kód: | $form='<form name="superAdminLogin" action="superAdmin.php" method="post">
<input type="text" name="meno" size="15">:meno
<br><br>
<input type="text" name="heslo" size="15">:heslo
<input type="hidden" name="superAdminLogin" value="superAdminLogin">
<input type="submit" value="submit">
</form>
';
$form=base64_encode($form);
header('location:niekam/zobraz.php?'.$form);
|
No ale keď to v tom scripte decodujem tak mám z toho toto:
| kód: | <form name="superAdminLogin" action="superAdmin.php" method="post">
<input type="text" name="meno" size="15"�Y[��B�BBBO���'#�Р����Ɩ�WBG�S�'FW�B"��S�&�W6��"6��S�#R#㦆W6��Р����Ɩ�WBG�S�&��FFV�"��S�'7WW$F֖���v��"f�VS�'7WW$F֖���v�� 4($$$$���Ё�����Չ��Ј�م�Ք��Չ��Ј
</form> |
Neviete v čom môže byť problém?
Vďaka za pomoc! |
| |
    |
 |
chrono
 Skúsený užívateľ
 Založený: 13.11.2007 Príspevky: 808
 | Zaslal: Po 19.09.11 15:57 |   |
Neupravené base64 nie je "url safe". (kvôli znakom / + =, teda ak nepoužiješ vhodnú funkciu, ktorá ich zmení na %2F, %2B, %3D)
PS: Netuším čo robíš, ale určite to robíš zle.  |
| |
  |
 |
camo
 Zablokovaný užívateľ
 Založený: 05.09.2009 Príspevky: 1176 Bydlisko: Lehota pod Vtáčnikom
 | Zaslal: Po 19.09.11 16:17 |   |
Mám funkciu ktorá presmerováva pri spracovávaní formulárov, aby sa zamedzilo viacnásobnému odoslaniu. A chcel som ju využiť aj na zobrazovanie, takých jednoduchších formulárov, ako je tento, aby bolo menej písania.
Ak je to pravda čo píšeš, tak by to šlo ak pred to pridám rawurlencode($form), nie?
EDIT:
Tak som to skúsil a vyzerá to, že to funguje. Tak neviem, je to dobrý nápad? Nečakajú ma ešte nejaké dalšie prekvapenia?
EDIT2:
vlastne som to už riešil tu: http://www.pcforum.sk/header-location-prenos-interpunkcie-vt120420.html . Ide presne o to. A mi z toho vychádza, že tam to rawurlencode/decode musí byť vždy.
EDIT3:
Ako vy presmerovávate? |
| |
    |
 |
chrono
 Skúsený užívateľ
 Založený: 13.11.2007 Príspevky: 808
 | Zaslal: Po 19.09.11 20:09 |   |
My presmerovávame normálne a žiadne (zbytočné) informácie cez url neprenášame.
Prečo si tie pomocné hlášky, ktoré chceš potom zobraziť, nedáš do session? Rôzne aplikácie používajú aj cookies, čo môže byť dobré riešenie ak sú cookies vyžadované napr. na prihlásenie. Každopádne session je podľa mňa bezpečnejšie, pretože tak neotváraš cestu k tomu, aby niekto vytvoril url, ktoré potom spôsobí XSS. |
| |
  |
 |
camo
 Zablokovaný užívateľ
 Založený: 05.09.2009 Príspevky: 1176 Bydlisko: Lehota pod Vtáčnikom
 | Zaslal: Po 19.09.11 20:21 |   |
Že session, ma šľak trafí...
Nechápem, že ma to nenapadlo...
 |
| |
    |
 |
|
Nemôžete pridávať nové témy do tohto fóra. Nemôžete odpovedať na témy v tomto fóre. Nemôžete upravovať svoje príspevky v tomto fóre. Nemôžete mazať svoje príspevky v tomto fóre. Nemôžete hlasovať v tomto fóre.
|
| |