Autor | Zpráva | ||
---|---|---|---|
musli Profil * |
#1 · Zasláno: 9. 7. 2007, 20:36:04
Ahojte!
Mám tabulky, registrovaných uživ., zpráv ve foru atd. to je jedno jaký tabulky. Uživatel má nějaký ID přiřazený auto_incrementem. Pak někde v kládám do další tabulky další informace o uživateli a všiml jsem si že každý vkládá do druhé tabulky jen ID uživatele z tabulky registrovaných, zatímco já rád v kládám místo ID login. Já si myslím že pro zprávu je lehší hned vidět ke kterému užiteli se záznam vztahuje, než tam vidět jen jeho ID. Otázka tedy zní, je to bezpečné, proč se dává jen ID atd. nebo to je jedno? Já i v knížce mám předávání jen ID uživatele proto se ptám a budu rád za odpověď. Děkuju |
||
Alphard Profil |
#2 · Zasláno: 9. 7. 2007, 20:39:47
Já si myslím že pro zprávu je lehší hned vidět ke kterému užiteli se záznam vztahuje, než tam vidět jen jeho ID.
řeší se to pomocí spojování tabulek http://www.linuxsoft.cz/article.php?id_article=827 |
||
musli Profil * |
#3 · Zasláno: 9. 7. 2007, 20:59:10
špatně si mě pochopil, já nechci spojovat tabulku, já se ptám na to, že mám tabulku registrovaných uživ. a všiml jsem si, že většina lidí do druhý tabulky, která se vztahuje k první (k těm registrovaných) v kládá do řádku ID uživatele z tabulky registrovaých, aby tím identifikovali záznam v druhé tabulce, že patří právě uživateli s ID. Já právě předávám spíš login abych věděl že to patří uživateli jménem Karel a ne uživateli ID 3554. A otázka je proč se předává ID, je bezpečné předávat login a všechny otázky tomu týkající se.
|
||
bukaj Profil |
#4 · Zasláno: 9. 7. 2007, 21:07:31
musli
id je předáváno kvůli anonymitě uživatelů. když ti někdo z databáze ukradne tabulku s těmi příspěvky, nebo jakoukoli jinou, kde je uvedeno pouze id uživatele, tak je mu to dosti na prd, páč neví, jaký uživatel má jaké id. kdybys tam dával loginy uživatelů, tak je mu hned, jasné, co, že ten který, uživatel udělal napsal atd. je tedy bezpečnější předávat id. |
||
musli Profil * |
#5 · Zasláno: 9. 7. 2007, 22:13:40
bukaj
a jak může dojít ke krádeži databáze? |
||
musli Profil * |
#6 · Zasláno: 9. 7. 2007, 22:40:50
sorry tabulky
|
||
bukaj Profil |
#7 · Zasláno: 9. 7. 2007, 23:22:33
musli
existují spousty lidí (d****ů), kteří s tím dají práci. může se jednat o špatné zabezpečení sktipů, sql injection, zatoulanou zálohu atd. jinak ale asi kecám z cesty. moc na mě nedej ;) |
||
musli Profil * |
#8 · Zasláno: 9. 7. 2007, 23:40:12
chvíli mi to trvalo, ale předělal jsem celej web na ID, děkuju:-)
|
||
Aleš Janda Profil |
#9 · Zasláno: 10. 7. 2007, 00:10:43
> id je předáváno kvůli anonymitě uživatelů
Tak to slyším prvně, když ti ukradnou databázi, je celkem jedno, jestli tam je id nebo login. Důvod je jiný: rychlost a zamezení redundance. Podle čísla lze totiž mnohem rychleji vyhledávat než podle řetězce. A také se lépe indexuje. A redundance: představ si, že bys někdy v budoucnu chtěl změnit login uživatele. To by mohl být malér, protože by ho nestačilo změnit jen v tabulce uživatelů, ale také všude, kde se na něj odkazuješ. Takže ideální je odkazovat něčím, co nic neznamená, aby to nebylo potřeba měnit. A id je právě takovým vhodným údajem. |
||
bukaj Profil |
#10 · Zasláno: 10. 7. 2007, 00:27:14
Aleš Janda
Tak to slyším prvně, já vím. už jsem psal, že to co jsem psal, je blbost. omlouvám se, pokud se tě to nějak dotklo. |
||
Aleš Janda Profil |
#11 · Zasláno: 10. 7. 2007, 00:32:26
bukaj:
Neboj, nijak se mě to nedotklo, proč by taky mělo ;-) Jen jsem upozornil na možnou blbost :-) |
||
bukaj Profil |
#12 · Zasláno: 10. 7. 2007, 00:39:47
Aleš Janda
Jen jsem upozornil na možnou blbost :-) osobně bych vynechal to slovo 'možnou' :D |
||
musli Profil * |
#13 · Zasláno: 11. 7. 2007, 00:14:26
teď když na to koukám, ten login tam je stejně lepší...jelikož chce člověk vypsat třeba zprávu kterou uživatel vložil uživatel tak musíš udělat dva dotazy:
jeden co vybere v první tabulce zprávu, čas vložení a hlavně ID uživatele který jí vložil a druhý dotaz na tabulku registrovaných a hledat jméno uživatele který má ID z tabulky zpráv nebo se to dá udělat jedním? |
||
Aleš Janda Profil |
#14 · Zasláno: 11. 7. 2007, 00:18:55
Dá se to udělat jedním:
SELECT (SELECT jmeno FROM uzivatele WHERE uzivatele.id_uzivatele = zpravy.id_uzivatele LIMIT 1) as jmeno,zprava FROM zpravy |
||
musli Profil * |
#15 · Zasláno: 11. 7. 2007, 00:27:56
výborně, děkuju za rychlou odpověď, hned to předělám, děkuju
|
||
musli Profil * |
#16 · Zasláno: 11. 7. 2007, 10:52:24
jestli se ještě můžu zeptat, dalo by se z první tabulky vytáhnout dvě věci a z druhý třeba 5? jedním dotazem?
|
||
Alphard Profil |
#17 · Zasláno: 11. 7. 2007, 11:34:21
a jsme u toho, spojování tabulek, já to věděl :-) viz můj předchozí odkaz a několik dalších dílů
|
||
Alphard Profil |
#18 · Zasláno: 11. 7. 2007, 11:36:30
Aleš Janda využil poddotaz, ten je tady: http://www.linuxsoft.cz/article.php?id_article=877
|
||
Časová prodleva: 2 měsíce
|
|||
alexandr Profil * |
#19 · Zasláno: 19. 9. 2007, 21:52:24
co je id uzivatele?
|
||
DJ Miky Profil |
#20 · Zasláno: 19. 9. 2007, 21:57:47
alexandr
Jeho číslo…? |
||
Časová prodleva: 18 let
|
0