Autor | Zpráva | ||
---|---|---|---|
Ruda Profil |
#1 · Zasláno: 4. 2. 2008, 23:38:31
Chci se jen zeptat jestli je to správně zabezpečený proti s inj nebo sem to špatně pochopil. Jak to otestovat?
Předem dík za váš čas. <?php include "spojeni.php"; //pripojeni k db mysql_query("SET NAMES 'utf8'") or die('Could not set names'); if (!is_string($_GET["id"])): echo "Toto ne!"; else: $id = mysql_real_escape_string($_GET["id"]); $vyber = mysql_query("SELECT * FROM clanky WHERE kategorie='".($_GET["id"]."'")); while($vypis = mysql_fetch_array($vyber)) { $id=$vypis["id"]; $obrazek=$vypis["obrazek"]; $titulek=$vypis["titulek"]; $text=$vypis["text"]; $datumdb = $vypis["datum"]; $datum = Date("d.n Y",$datumdb); $kategorie=$vypis["kategorie"]; $autor=$vypis["autor"]; echo "$obrazek"; echo "<h3>$titulek</h3>"; echo "$text"; echo "<div class=autor><br> $autor I $datum I $kategorie</div>"; } endif; ?> |
||
Timy Profil |
#2 · Zasláno: 4. 2. 2008, 23:42:46
Nejdřív si ošetříš vstup „$id = mysql_real_escape_string($_GET["id"]);“ a pak tam stejně vkládáš neošetřenou proměnnou:
$vyber = mysql_query("SELECT * FROM clanky WHERE kategorie='".($_GET["id"]."'")); |
||
djlj Profil |
#3 · Zasláno: 4. 2. 2008, 23:47:12
$vyber = mysql_query("SELECT * FROM clanky WHERE kategorie='".($_GET["id"]."'"));
Co to tam je za bordel se závorkama? Pokud máš v $_GET["id"] číslo kategorie, použil bych něco jako tohle: $vyber = mysql_query("SELECT * FROM clanky WHERE kategorie=".intval($_GET["id"])); |
||
Ruda Profil |
#4 · Zasláno: 4. 2. 2008, 23:49:08 · Upravil/a: Ruda
je to možný že tam bude bordel jsem amatér co si bastlí jen svůj webík :-)
|
||
Ruda Profil |
#5 · Zasláno: 4. 2. 2008, 23:57:25
nevím jestli je to špatně, ale nemam tam číslo, ale název kategorie
|
||
djlj Profil |
#6 · Zasláno: 5. 2. 2008, 00:10:32
Ruda
V tom případě mysql_real_escape_string, jak psal Timy. |
||
Ruda Profil |
#7 · Zasláno: 5. 2. 2008, 00:18:34 · Upravil/a: Ruda
no to se právě snažím, ale pořád mi to hází
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /data/www/cs.cz/www.cs.cz/soubory/vypiskategorie.p hp on line 13 |
||
djlj Profil |
#8 · Zasláno: 5. 2. 2008, 00:27:17
Máš nějakou chybu v SQL dotazu.
|
||
Ruda Profil |
#9 · Zasláno: 5. 2. 2008, 00:31:06
Mějte se mnou prosím strpení. Začal jsem s tím teprve teď (po upozornění že si mám na web připíchnout neošetřený web nedělejte mi prosím bordel v systému :-) Něco jsem pohledal a počet, ale s funkcema mám zatím potíže. Tak dík za každou radu.
|
||
Ruda Profil |
#10 · Zasláno: 5. 2. 2008, 00:32:41
Pravděpodobně tam blbě vpisuju tu fci.
|
||
Ruda Profil |
#11 · Zasláno: 5. 2. 2008, 00:35:23
Dík moc za snahu a za ochotu. Já to dneska vzdávam. Du spát nebo padnu do klávesnice.
|
||
djlj Profil |
#12 · Zasláno: 5. 2. 2008, 00:36:31
Vypiš si MySQL chybu: echo mysql_error();.
|
||
Ruda Profil |
#13 · Zasláno: 5. 2. 2008, 00:37:49
Dík ještě zkusím.
|
||
Ruda Profil |
#14 · Zasláno: 5. 2. 2008, 00:39:36
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''Kdeco\'' at line 1
|
||
djlj Profil |
#15 · Zasláno: 5. 2. 2008, 00:46:51
A napiš sem prosím ještě jak vypadá ten SQL dotaz…
|
||
Ruda Profil |
#16 · Zasláno: 5. 2. 2008, 00:49:20
Toho sem se bál :-) Já tam tu fci zkoušel zakomponovat všelijak ale určitě pokaždý špatně.
|
||
Ruda Profil |
#17 · Zasláno: 5. 2. 2008, 01:06:27
Takhle to projde, ale to je asi kravina.
$vyber = mysql_real_escape_string($_GET["id"]); $vyber = mysql_query("SELECT * FROM clanky WHERE kategorie='".($_GET["id"]."'")); |
||
djlj Profil |
#18 · Zasláno: 5. 2. 2008, 01:09:04
$vyber = mysql_query("SELECT * FROM clanky WHERE kategorie='".mysql_real_escape_string($_GET["id"])."'");
Doporučil bych ti prostudovat si nějaké php tutoriály, třeba http://linuxsoft.cz/php/ |
||
Ruda Profil |
#19 · Zasláno: 5. 2. 2008, 01:16:14
Díky moc .To víš že študuju, ale je toho na mě najednou nějak moc. Já začal s phpkem a DB teprve nedávno. Tak ještě jednou dík a dobrou. Zejtra sem hodím jestli sem to zprovoznil.
|
||
Ruda Profil |
#20 · Zasláno: 5. 2. 2008, 01:20:52
No nedalo mi to a ještě sem to zkusil. Jasně že to funguje. Tak po desátý DÍK MOC!
Můžete to zamknout |
||
Časová prodleva: 16 let
|
0