Starší komentáře ke článku: Zjednodušte si práci - autentifikace uživatele
Zpět na článek | Úvodní stránka Interval.cz
Datum vložení: 16.5.2003 1:27:40
Mohu se optat nakolik je tohle ciste? Z mnoha mist jsem slysel ze bych nemel pristupovat natvrdo k interni promenne objektu - a na podobne veci mit funkci...
Datum vložení: 16.5.2003 8:27:30
Z hlediska "cistoty" OOP je to neciste... pristupovat k atributum objektu vyhrade pres pristupove fce se doporucuje proto, ze v dobe psani tridy muze byt hodnota reprezentujici dany atribut ulozena opravdu v onom atributu, ale behem evoluce se muze stat, ze dana hodnota bude muset byt pocitana z nekolika jinych atributu, podle sily vetru ;-) a podobne.
Pokud se pouzije fce, neni v kodu pouzivajicim onu tridu co menit, pokud se pouzije primy pristup k atributu, muze byt toho, co zmenit, celkem dost (a uz jenom najit vsechna tato mista, kde se to ma zmenit, muze byt dost narocne, nemluve o moznosti zavleceni chyb)... ono u malych veci, jako je toto, to tak nebije do oci, ale pokud je to nejaka "oblibena" trida ve velkem systemu, tak potes priroda...
Datum vložení: 16.5.2003 9:43:13
No prave, zacal jsem pachat objekt na praci s databazi (ano ano, inspirace je zde) i kdyz je trosku vymakanejsi a prave jsem si lamal hlavu jak me irituje ze si na zacatku musim zavolat SELECT VERSION() abych zjistil jesli muzu pouzivat SQL_CALC_ROWS() nebo musim pachat county... diky za shrnuti
Datum vložení: 16.5.2003 7:14:35
Nevite nekdo proc nejde stranky ukladat off-line?
Datum vložení: 16.5.2003 9:50:21
To nějak souvisí s tématem?! Nebo nevíš, proč dneska neměli vlašák?
Datum vložení: 16.5.2003 18:57:00
Nevím proč(mě také nejde), ale stahuj verzi pro tisk a půjde ti to.
Datum vložení: 4.9.2003 2:24:46
Off topic!!!You suck :)
Datum vložení: 18.5.2003 21:41:01
Nešlo by to udělat elegantněji přes sessions? Vždyť od toho tady jsou, že?
Datum vložení: 19.5.2003 10:19:06
Toto se da samozrejme pouzit i se session staci identifikacni retezec misto predavani v url ulozit do session. Stejne, i pri pouziti session by bylo potreba udelat přihlášení, odhléšení, registrace ... a hlavne od toho tady ta trida je.
Datum vložení: 20.5.2003 1:30:30
Jen me tak napada jestli neni podstatne lepsi pouzivat stored procedures misto budovani SQL dotazu. Ma to hodne vyhod, je to rychlejsi (nemusi se nic parsovat a execution plan je pri dobre napsany procedure predkompilovanej) a ve spojeni s command objektama a kolekci parametru i bezpecnejsi (nemusi se quotovat hodnoty parametru). To vse samozrejme za predpokladu ze clovek pouziva databazi, ne MySQL...
Datum vložení: 20.5.2003 8:39:01
hehe :)
mám rád všechny takový chytráky, co haněj MySQL... ale když pak přijde na řadu nějakej benchmark, tak je výsledek vždycky stejnej...
Datum vložení: 20.5.2003 20:10:35
me too.
Datum vložení: 21.5.2003 9:27:56
MySQL je dobra na male veci, sem tam neco ulozit, neco vybrat a zobrazit (tj. chaty, RS a podobne).
Ale nejake slozitejsi systemy, kde potrebuji referencni integritu, transakce a podobne bych s ni rozhodne nedelal... teda ne aspon do doby, nez bude umet urcite veci definovane v SQL standartech, jako treba sekvence, auto_increment muze byt hodne zradny...
Datum vložení: 22.5.2003 3:10:38
Jasne, kdyz porovnavam jabka s hruskama tak je vysledek takovej jakej budu chtit. MySQL je rychly protoze skoro nic neumi (treba stored procedury neumi dodnes, vnoreny dotazy umi az od 4.1, transakce a foreign klice az od 3.24 a i tam jen pro nektery typy tabulek, neumi full outer join, a tak dal, tohle sou jen veci ktery mne osobne znemoznujou pouzit MySQL jako DB engine), nemluve o tom jestli ty benchmarky (nejakej odkaz kdyz se s nima ohanis? Na tpc.org MySQL proste neni) bezej na transakcnich tabulkach (InnoDB nebo BDB) nebo ne (coz je default)? Pokud si prectes rozdily tak rychlost je sakra ovlivnena.
Datum vložení: 20.5.2003 21:21:26
A pri volani stored procedures snad nemusite osetrovat? To ze v samotne procedure uz nemusite (protoze delate s promennou) je sice pravda - jenze pokud ji musite osetrit JEDNOU tak uz je to jedno.
Datum vložení: 22.5.2003 2:58:10
Nemusim pokud pouziju [prepared] command a parametry predavam jako kolekci hodnot (pokud si nikdy nedelal s nicim jinym nez PHP a MySQL tak si nastuduj jak funguje ODBC/JDBC/OLE DB a podobny). Tj. nevytvarim zadnej string ve kterym si musim davat bacha na quotovani hodnot a tak dal.
Hlavni vyhoda je samozrejme v tom, ze se nemusi parsovat a kompilovat SQL dotaz a hledat nejvyhodnejsi execution plan, protoze SP sou predkompilovany a pokud sou poradne napsany (treba plne kvalifikovany jmena tabulek aby SQL engine nemusel hledat kterou tabulku bude pouzivat v zavislosti na kontextu) tak je i vybranej nejvyhodnejsi execution plan (tj. jaky indexy se pouzijou a tak dal).
Datum vložení: 22.5.2003 3:14:46
Jeste se opravim, samozrejme ze bych mel kontrolovat platne hodnoty, ale nemusim se zabyvat vecmi jako spravnym quotovanim hodnot a SQL injenction atakama.
Datum vložení: 22.5.2003 16:07:55
Nejak si nerozumime. Jde o to ze volam-li SP, tak jako tak to tam prece musim zaslashovat - v opacnem pripade totiz udelam chybu v tom ze mu budu posilat 'logicky' nesmysl, ne?
A pokud to udelam v tomhle kroku tak uz je jedno jestli to udelam SP nebo klasicky. Ano, je to rychlejsi - na druhou stranu v tomhle pripade je otazka zda SP napr. v MSSQL bude rychlejsi nez dotaz + update v MySQL - ale o to tady nejde.
SQL injection a quotovani je imho naprosto podruzna zalezitost - na veskere podobne operace mam tridu ktera veskere osetreni provede sama v zavislosti na zadanych hodnotach, nazvech sloupcu a tom jako co se to ma do tabulek vlozit tzn. veskere osetrovani je tak jako tak automaticke.
Datum vložení: 22.5.2003 17:59:47
Pokud predavas parametry pres kolekci parametru (tj. nevytvaris string s textem toho co volas) tak nic slashovat nemusis - udela to (pokud je to potreba, imho ne) ta DB knihovna co pouzivas (jak uz sem psal, JDBC/ODBC/OLE DB a jim podobny). Tj misto "exec sp_procedura '" + parametr + "'" udelas asi tohle:
cmd.text = "sp_procedura";
cmd.Parameters.Append(CreateParam(parametr, ...))
cmd.Execute()
Tam nic slashovat nemusis.
Datum vložení: 22.5.2003 18:47:55
Nojo, ale jak to tam das. Co kdyz parametr bude treba "delfin, a) marabu" - prece to do neceho uzavrit musis?
Datum vložení: 24.5.2003 20:48:24
Nemusis, uzavre to ta knihovna co pouzivas (pokud je to potreba a uzavre to jak je to potreba a pokud v ni nejsou chyby tak ani na nic nezapomene).
Datum vložení: 26.5.2003 11:34:24
Vít Peprníček - prosimte, co to je autentifikace?? To fakt neznam!! Znam autentizace a autorizaci, ale autentifikaci fakt ne.
???
Datum vložení: 4.9.2003 2:21:56
Nebud zvedavej !!A stejne by te to nezajimalo...
Datum vložení: 16.6.2003 7:57:59
Ahoj,
Sorry za Off topic ale - potreboval bych rozchodit session u sebe doma (mam PHP na IIS) - ani za boha se mi nepodarilo predat data ze session do dalsich souboru. fyzicky se mi session vytvori uplne bez problemu ale pak uz z ni nic nevycucnu. Nevite jak na to?
Datum vložení: 6.11.2003 12:23:31
Jo, mel jsem uplne stejnej problem. Na netu to fachalo, ale doma pod Woknous XP a IIS ani nahodou. Zkousel jsem se ptat na ruznejch mistech, ale nic. Tak jsem nainstaloval druhy Woknous a na ne Apache a tam to beha uplne v pohode! Takze rada je asi jasna... prejdi na Apache. Jestli to ale pod IIS vyresis, dej mi vedet :) Ja osobne to totiz delal nerad, ponevac rozbehnout IIS je dle meho nazoru vyrazne jednodussi nez rozbehnout Apache, ale na jine reseni jsem neprisel.
Datum vložení: 9.10.2003 16:10:03
Ahojte. rád by som použil túto autentifikáciu užívateľa na chat, ktorý je rozdelený do frames, ale každá časť frames sa zobrazí len keď je splnená podmienka:
<?if(IsSet($id_autora) && $kod == "$id_mysql"):?>
príčom premenná $id_mysql sa vyberá z DB. Inak sa tie stránky vôbec nezobrazia. Neviete mi prosím vás poradiť, ako mám predávať id_autora v URL?
Datum vložení: 17.10.2003 20:52:57
Zdravim, chtel bych se zeptat, co mam dat na dalsi soubory, kdyz chci, aby se tam bylo mozne dostat pod jmenem a heslem? Jsem uplny zacatecnik a toto mi tu jaksi chybi... nejakou hlavicku nebo neco, pres co by me to nepustilo dal a napsalo to, ze jsem treba neautorizovany uzivatel nebo tak neco.
Dik za odpoved