Autor | Zpráva | ||
---|---|---|---|
BuGeR Profil |
#1 · Zasláno: 26. 8. 2009, 16:35:17
Dobrý den.
Mám problém, teď se trochu učím s "GET". A chtěl bych vlastně zakodovat písmena. Aby když zadam například http://mujweb.cz/index.php?text=ABCD tak aby najelo toto : (příklad) http://mujweb.cz/index.php?text=atHpymahoyAgb Prostě bych ten text za adresou chtěl zakodovat. Používam tento kod : <?php $text = $_GET["text"]; echo "Text: "; echo " $text"; ?> |
||
Nox Profil |
#2 · Zasláno: 26. 8. 2009, 16:38:05
Pokud se má i rozkódovat tak třeba funkce crypt, pokud stačí jen porovnat tak nějaká hash funkce (md5,sha1,hash)
|
||
BuGeR Profil |
#3 · Zasláno: 26. 8. 2009, 16:45:14
Nechceš to udělat? :D
|
||
Nox Profil |
#4 · Zasláno: 26. 8. 2009, 16:50:10
„teď se trochu učím s "GET".“
...Nechceš se učit? :D Ne vážně, zkus na to přijít sám Manuál je na php.net nebo mrkni na google |
||
BuGeR Profil |
#5 · Zasláno: 26. 8. 2009, 17:04:56
Ok :D
našel jsem toto : http://cz2.php.net/manual/en/function.md5.php a do souboru jsem dal tedy -> <?php $text = $_GET["text"]; if (md5($text) === '1f3870be274f6c49b3e31a0c6728957f') { echo "Text : $text"; exit; } ?> Ale zobrazí se mi jenom prázdna stránka, ani se nezobrazí to Text : Když zadam třeba index.php?text=abcd tak se nic neděje. Jen bíla stránka:D |
||
Nox Profil |
#6 · Zasláno: 26. 8. 2009, 17:11:14
a ten kód si vzal kde? podle http://www.maxiorel.cz/md5-online-generator by to mělo být
e2fc714c4727ee9395f324cd2e7f331f, ale lepší máš if(md5($text) == md5("abcd")){... |
||
BuGeR Profil |
#7 · Zasláno: 26. 8. 2009, 17:26:00
Ok:D
Vygeneroval jsem tam text : "textabcd" a je to vlastně : 45b69e6a67df7dbaeea0af86f7e8d11f No tu je vysledek : http://live-fun.cz/test3/index.php?text=textabcd Ale ja nechci ?text=textabcd ale ?text=45b69e6a67df7dbaeea0af86f7e8d11f :D |
||
Nox Profil |
#8 · Zasláno: 26. 8. 2009, 17:50:44
if($text == md5("textabcd")){... http://live-fun.cz/test3/index.php?text=45b69e6a67df7dbaeea0af86f7e8d11f |
||
BuGeR Profil |
#9 · Zasláno: 26. 8. 2009, 18:00:11
Ok, nice už to de:D
ale...má to háček Když dám teda to http://live-fun.cz/test3/index.php?text=45b69e6a67df7dbaeea0af86f7e8d11f Tak se zobrazí : Text : 45b69e6a67df7dbaeea0af86f7e8d11f ale ja chci aby se zobrazil Text : textabcd Ale aby adresa byla stejna :D Prostě chcu, aby to vtom echu zase "dekodovalo" zpátky:D Ja vím jsem naročnej:D |
||
fandaa Profil |
#10 · Zasláno: 26. 8. 2009, 18:58:44 · Upravil/a: fandaa
BuGeR
Pokud to chceš pouze pro jeden řetězec, bude to jednoduché. Pokud to chceš použít jako dekódovač jakéhokoliv MD5 otisku, budeš na to muset jít jinak. <?php $otisk = $_GET["text"]; $hodnota = "textabcd"; if ($otisk == md5($hodnota)) { echo 'Text: ' . $hodnota; exit; } ?> |
||
BuGeR Profil |
#11 · Zasláno: 26. 8. 2009, 20:41:59
Ok, de to dík. A nešlo by ještě aby se to zakodovalo samo? :D abych tam nemusel do toho souboru psat to "textabcd" ale aby se to zakodovalo u každého textu :)
|
||
BuGeR Profil |
#12 · Zasláno: 26. 8. 2009, 23:29:30
Prostě abych to tam nemusel vypisovat ale aby se to do toho zakodovalo samo :)
|
||
tiso Profil |
#13 · Zasláno: 26. 8. 2009, 23:41:28
BuGeR: „Prostě abych to tam nemusel vypisovat ale aby se to do toho zakodovalo samo :)“
Kam? Čo? Do čoho? |
||
BuGeR Profil |
#14 · Zasláno: 26. 8. 2009, 23:46:07
:D aby prostě když napíšu třeba
index.php?text=ABCD tak aby naskočilo rovnou index.php?text=cb08ca4a7bb5f9683c19133a84872ca7 a nemusel to "ABCD" psat tu : <?php $otisk = $_GET["text"]; $hodnota = "ABCD"; if ($otisk == md5($hodnota)) { echo 'Text: ' . $hodnota; exit; } ?> |
||
tiso Profil |
#15 · Zasláno: 26. 8. 2009, 23:48:58
BuGeR: tvoj popis problému stále nie je dostatočný. Kvôli čomu chceš vlastne hashovať hodnotu premennej? O čo ide?
|
||
BuGeR Profil |
#16 · Zasláno: 26. 8. 2009, 23:50:47
Dívej se, mam třeba 5 adminů. A chcu aby když zadaji prihlas.php?heslo=123456 tak aby když daji enter se místo toho 123456 zobrazil ten kod. Jenže každý admin má jinačí heslo
|
||
tiso Profil |
#17 · Zasláno: 26. 8. 2009, 23:55:10
BuGeR: A to je načo dobré?
Heslo, ani jeho hash nemá v $_GET čo robiť! Prihlasovanie sa má robiť na základe formulára odoslaného metódou POST! |
||
BuGeR Profil |
#18 · Zasláno: 26. 8. 2009, 23:56:12
Ok, takže kdybych to chtěl to přihlašení udělat přes GET tak to nepůjde ?
|
||
Budulinek Profil |
#19 · Zasláno: 27. 8. 2009, 10:34:46
Půjde, jen je to špatné řešení. Sám se zamysli a řekni si, jestli není lepší použít POST s tím, že to jednak bude správně a druhak nebudeš muset bastlit tyhle hlouposti.
|
||
BuGeR Profil |
#20 · Zasláno: 27. 8. 2009, 12:25:37
A nemohli by jste mi to řešení, i přesto že to je nanic, napsat?:)
|
||
tiso Profil |
#21 · Zasláno: 27. 8. 2009, 12:43:40
BuGeR:neodpovedal si mi na otázku v [#17]
|
||
BuGeR Profil |
#22 · Zasláno: 27. 8. 2009, 12:45:54
Kvůli bezpečnosti :)
Budu dělat něco jako redakční systém, s adminem, a bude tam více stránek a to get zůstane nahoře ;) |
||
Budulinek Profil |
#23 · Zasláno: 27. 8. 2009, 13:22:20
Pořád ale nechápu, proč GET a proč ne POST??? POST je k těmto účelům mnohem vhodnější a použití je stejně snadné jako u GET. Co až budeš dělat v tom tvém CMS články? To taky budeš přenášet přes GET? A co bezpečnost? Když se tímto způsobem přihlásiš třeba ve škole, někdo se podívá do historie prohlížeče a šup, je přihlášenej a žádnej hash nebo podobná pitomost mu v tom nezabrání.
Pokud tímto způsobem chceš psát CMS, tak potěš pánbů. Pořádně si prostuduj metody POST a GET a uvidíš, že GET opravdu není to pravé ořechové pro tento případ. |
||
BuGeR Profil |
#24 · Zasláno: 27. 8. 2009, 14:00:26
Ok:D takže protože se vám to řešení nelíbí tak mi neřeknete jak?:D
|
||
Beavis Profil * |
#25 · Zasláno: 27. 8. 2009, 14:06:46
Kousek si nastínil zde -- [#14] .. jak sis jistě všiml, milý BuGeRe, není to nic lehkého, a tak prosím projeď weby o PHP, a pak si snad uvědomíš, že je blbost to "cpát" přes GET.
|
||
Budulinek Profil |
#26 · Zasláno: 27. 8. 2009, 15:00:56 · Upravil/a: Budulinek
BuGeR
Dyť ti ale každej říká, jak na to. Nepřenášej ty data pomocí GET, ale pomocí POST. U formuláře nastav metodu odesílání na post a pak jen kontroluj místo GET POST. Zjednodušeně řečeno to funguje skoro stejně, jen s tím rozdílem, že POST nevidíš v odkazu. Můžeš na to jít třeba takto: html <form action="zpracuj.php" method="post"> <input type="text" name="text"> <input type="button" name="odesli" value="odesli"> </form> php <?php $text = $_POST["text"]; echo "Text: "; echo " $text"; ?> Tohle je jen příkald, abys viděl, jak to funguje. Na internetu je spousta návodů nebo rovnou tříd sloužících k přihlášení uživatelů. Můžeš se podívat tam a inspirovat se, ale opravdu nedoporučuju hnát to přes GET, je to jako nalepit si pin na kreditní kartu... |
||
tiso Profil |
#27 · Zasláno: 27. 8. 2009, 15:30:15
BuGeR: [#22] kvôli bezpečnosti? Veď som ti vysvetlil že to nie je bezpečné a že máš použiť prihlasovanie pomocou POST formulára!
|
||
BuGeR Profil |
#28 · Zasláno: 27. 8. 2009, 15:34:42
ok ok ok :D
|
||
Lamicz Profil |
#29 · Zasláno: 27. 8. 2009, 21:27:52
BuGeR: Spis nez GET a POST si nastuduj SESSION ;)
|
||
Časová prodleva: 15 let
|
0