Autor Zpráva
musli
Profil *
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
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 *
š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
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 *
bukaj

a jak může dojít ke krádeži databáze?
musli
Profil *
sorry tabulky
bukaj
Profil
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 *
chvíli mi to trvalo, ale předělal jsem celej web na ID, děkuju:-)
Aleš Janda
Profil
> 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
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
bukaj:
Neboj, nijak se mě to nedotklo, proč by taky mělo ;-) Jen jsem upozornil na možnou blbost :-)
bukaj
Profil
Aleš Janda
Jen jsem upozornil na možnou blbost :-)
osobně bych vynechal to slovo 'možnou' :D
musli
Profil *
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
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 *
výborně, děkuju za rychlou odpověď, hned to předělám, děkuju
musli
Profil *
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
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
Aleš Janda využil poddotaz, ten je tady: http://www.linuxsoft.cz/article.php?id_article=877
alexandr
Profil *
co je id uzivatele?
DJ Miky
Profil
alexandr
Jeho číslo…?

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: