Co je spatne na tomto SQL dotazu? Vyřešeno

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

HellCoder
Level 2.5
Level 2.5
Příspěvky: 316
Registrován: únor 13
Pohlaví: Muž
Stav:
Offline

Co je spatne na tomto SQL dotazu?

Příspěvekod HellCoder » 08 kvě 2013 17:19

Kód: Vybrat vše

$data = mysql_fetch_array(mysql_query("SELECT * FROM uzivatele WHERE jmeno=".$_GET['jmeno']." AND heslo=".hash(md5,$_GET['heslo']) ));


Nevite nekdo co je na tom spatne? Diky moc
HellCoder
MainBoard : ASUS Z9PE-D8 WS
CPU : Intel Core i7 3970X
RAM : Corsair Vengeance Black 16GB (2x8GB)
GPU : 2x nVidia GTX Titan 2way SLI
SSD : Samsung SSD 840 Series - 256GB
HDD : 3x Seagate SV35.5 - 2TB RAID 0
Zvukovka : Creative Sound Blaster VX

Reklama
Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Co je spatne na tomto SQL dotazu?

Příspěvekod CZechBoY » 08 kvě 2013 17:24

cokoliv
nemusí existovat tabulka, v get můžou být zákeřné/prázdné hodnoty...
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

fu.cz
nováček
Příspěvky: 38
Registrován: říjen 12
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Co je spatne na tomto SQL dotazu?

Příspěvekod fu.cz » 09 kvě 2013 21:44

a co ta tečka?

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Co je spatne na tomto SQL dotazu?

Příspěvekod CZechBoY » 09 kvě 2013 21:52

jaká tečka?
teď jsem si všiml že tam nemá apostrofy..
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

fu.cz
nováček
Příspěvky: 38
Registrován: říjen 12
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Co je spatne na tomto SQL dotazu?

Příspěvekod fu.cz » 09 kvě 2013 22:15

ty si odborník. On se ptal na sql dotaz ne na to co se děje dál.
Btw na co apostrof??? Pokud nemyslíš uvozovky a tu tečku.

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Co je spatne na tomto SQL dotazu?

Příspěvekod CZechBoY » 09 kvě 2013 22:17

tečka spojuje stringy v php
apostrofy třeba na uvození textu, bez apostrofů můžeš vložit jen čísla a funkce
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

Uživatelský avatar
neudy
nováček
Příspěvky: 31
Registrován: říjen 08
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Co je spatne na tomto SQL dotazu?

Příspěvekod neudy » 09 kvě 2013 22:25

Ahoj,
zkusil bych tohle, nicméně si nejsem jist, jestli lze php funkci hash takto v sql využít.

Kód: Vybrat vše

$data = mysql_fetch_array(mysql_query("SELECT * FROM uzivatele WHERE jmeno='" . $_GET['jmeno'] . "' AND heslo='" . hash(md5,$_GET['heslo']) . "' "));


Navíc využívání metody GET pro heslo není zrovna bezpečné(http://cs.wikipedia.org/wiki/GET). Já bych navrhoval změnu na toto:

Kód: Vybrat vše

$data = mysql_fetch_array(mysql_query("SELECT * FROM uzivatele WHERE jmeno='" . $_POST['jmeno'] . "' AND heslo=PASSWORD('" . $_POST[heslo] . "') "));

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Co je spatne na tomto SQL dotazu?

Příspěvekod CZechBoY » 09 kvě 2013 22:29

neudy: čim sis pomohl, že místo GET si použil POST?
tu funkci musíš escapovat funkcí mysql_real_escape_string v případě řetězce a v případě celého čísla přes (int)$var, v případě desetinného čísla (float)$var

proč by nešlo použít funkci hash? vrací řetězec, takže je to možné
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

Uživatelský avatar
neudy
nováček
Příspěvky: 31
Registrován: říjen 08
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Co je spatne na tomto SQL dotazu?

Příspěvekod neudy » 09 kvě 2013 22:34

Použít metodu GET pro přenos hesla je dle mě chyba viz http://php.vrana.cz/http-metody-get-a-post.php. Neříkám, že to hash nebude fungovat. Já jen navrhnul co znám a používám.

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Co je spatne na tomto SQL dotazu?

Příspěvekod CZechBoY » 09 kvě 2013 22:36

jasně protože GET se uchovává v historii se všemi parametry
já ten dotaz nestudoval co tam odesílá, ani nenapsal, že to je formulář na přihlášení, takže to můžou být fiktivní jména proměnných
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

fu.cz
nováček
Příspěvky: 38
Registrován: říjen 12
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Co je spatne na tomto SQL dotazu?

Příspěvekod fu.cz » 09 kvě 2013 22:43

jee konečně někdo pochopil tu tečku ;) Kromě toho, apostrof a uvozovky vedle sebe sou ok?

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Co je spatne na tomto SQL dotazu?

Příspěvekod CZechBoY » 09 kvě 2013 22:47

ta tečka nemusí být oddělené mezerou či jiným bílým znakem, je jen dobrá konvence psaní kodu
tohle je postupný skládání dotazu, ikdyž úplně debilní :D , takže apostrofy se pošlou v SQL příkazu, zatímco uvozovky uvozují řetězec v PHP
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Bluetooth:Bluetooth neni k dispozici v tomto zarizeni
    od byron » 02 bře 2025 09:21 » v Vše ostatní (sw)
    1
    3424
    od kecalek Zobrazit poslední příspěvek
    02 bře 2025 16:09
  • Problém s DD příkazem, co dělám špatně? Příloha(y)
    od drobino » 13 pro 2024 19:21 » v LiNuX a ostatní alternativní OS
    7
    5828
    od drobino Zobrazit poslední příspěvek
    22 pro 2024 12:47
  • PS5 se odmítá připojit k 5GHz síti - hlásí špatné heslo
    od Renee » 19 srp 2024 09:13 » v Vše ostatní (inet)
    14
    7606
    od Renee Zobrazit poslední příspěvek
    19 srp 2024 14:01

Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 4 hosti