Starší komentáře ke článku: Zend's PHP 5 Coding Contest - wtcSQLite

Zpět na článek | Úvodní stránka Interval.cz

Avatar

Autor komentáře: dgx

Datum vložení: 26.11.2004 1:50:20

Nejsem si jist, jestli definování funkcí s undoMagic je ideální. Jednak nebude fungovat v případě, kdy je v $_GET / $_POST / $_COOKIE uloženo pole (a ne řetězec) a navíc není příliš efektivní při každém použití proměnné opakovaně volat čtyři funkce (***Var, undoMagic, get_magic_quotes_gpc, stripslashes).

Vhodnější je zrušit případné "slashes" hned v začátku běhu skriptu (rekurzivní funkcí) a poté klidně používat globální pole.

Příklad:

function stripSlashes_r(&$arr) {
foreach (array_keys($arr) as $key)
if (is_array($arr[$key])) stripSlashes_r($arr[$key]);
else $arr[$key] = stripSlashes($arr[$key]);
}

if (get_magic_quotes_gpc()) {
stripSlashes_r($_GET);
stripSlashes_r($_POST);
stripSlashes_r($_COOKIE);
}

Avatar

Autor komentáře: Radek Hulán

Datum vložení: 26.11.2004 2:07:06

No, ono je to jak kdy... Pokud k těm polím nepřistupuješ vždy, a pokud už ano, tak typicky jen jednou, je vhodnější můj postup, v opačném případě tvůj.

Každopádně, je vhodné znát oba, a použít vždy ten ideálnější pro daný projekt..

Osobně mám oproti globální funkci na začátku, která se volá vždy, jakýsi odpor, ale ... to je spíše otázka "citu" ;)

Avatar

Autor komentáře: johno

Datum vložení: 26.11.2004 11:15:51

<I>Autorizace přístupu k databázi je ve wtcSQLite řešena velice jednoduše, a bohužel i nedostatečně, přes soubor config.xml.php, tedy XML soubor s definicí uživatelského jména a hesla, v němž je ale bohužel toto jméno a heslo uloženo bez jakéhokoli zašifrování, jako plain-text, bez pomoci funkce md5() či sha1().</I>

No neviem, či som to pochopil správne, ale pokiaľ sa chcem k databáze pripojiť tak musím poslať nešifrované heslo. Neviem si teda predstaviť ako by som vytváral v PHP spojenie s DB keď poznám len hash hesla/užívateľa. Skôr by to bolo treba zašifrovať nejakou symetrickou šifrou.

Avatar

Autor komentáře: Radek Hulán

Datum vložení: 26.11.2004 11:23:03

to heslo je pro připojení do *aplikace*, ne do databáze, takže rozhodně nemusí (nemělo by být) plain-text..

Avatar

Autor komentáře: johno

Datum vložení: 26.11.2004 11:46:35

Aha, som to zle pochopil

Avatar

Autor komentáře: Radek Hulán

Datum vložení: 26.11.2004 11:58:35

ona SQLite databáze nemá ani žádné uživatele, tudíž ani žádná hesla.. Zabezpečení je plně na aplikační úrovni

Avatar

Autor komentáře: Chiky

Datum vložení: 26.11.2004 17:24:23

Prado ktory ziskal 1.miesto vychadza primarne z ASP.NET. Vacsinu funkcionality prebera priamo z .NET framework-u. Niektore casti su doslova okopirovane, len preklopene do php5. Uz len take validacne funkcie v js su kopiou z MS s tym, ze par drobnosti bolo zmenenych.
Predtym nez som nasiel tento framework, som bol v polovici vyvoja svojho vlastneho, tak som sa potesil ze mi to usetri kopu casu. Ked som zistil ze je to iba klon z MS, ktory prebera aj niektore neduhy(js skripty iba pre IE a dalsie) som sa rozhodol, ze ho zavrhnem ako pre mna pouzitelny framework.

Avatar

Autor komentáře: jaro

Datum vložení: 29.11.2004 8:27:36

Ked som si prvykrat stiahol Prado bol som fascinovany a poteseny, ze sa niekto uspesne pokusil o implementaciu udalostami riadeneho programovania v PHP. Inspiracia prostredim DELPHI a ASP.NET sa mi zda celkom pochopitelna a naco vymyslat nove nazvy pre objekty a komponenty ako tie, ktore uz existuju (TCompareValidator, T...). Myslim si vsak, ze Prado ozaj zbytocne doplaca na prilisne napodobnovanie ASP.NET. Napriklad simulovanie namespace (system/web/ui/...) a pod. je zbytocne. Mozno vsak autor vyvija nejaky univerzalny system, ktory by mu umoznoval prekladat kod pre ASP a zaroven PHP stranky. Ktovie...
Rozhodne si vsak myslim, ze tema udalostami riadeneho programovania by si zasluzila aspon clanocek na strankach Intervalu, nez len donekonecna obmienane fragmenty algoritmov na riesenie nejakeho problemu v PHP.

Avatar

Autor komentáře: NeNe

Datum vložení: 26.11.2004 21:51:40

Hodnocení přímo na odpovídající stránce této soutěže: "... PHP 5's new features are not used, no XML. ..." Tak nevím.

Avatar

Autor komentáře: Vilém Málek

Datum vložení: 27.11.2004 9:28:25

Citujete z kontextu vytrženou část komentáře Davida Costy, nikoli oficiální stanovisko Zendu. Ve skutečnosti wtcSQLite využívá minimálně jednu novou část PHP5 - samu SQLite. Účelem soutěže přeci nebylo splácat ukázkouvou aplikaci typu "dort pejska a kočičky", ale efektivní nástroj, což se Andrew Gallantovi povedlo perfektně. Navíc se ve vývoji pokračuje, a to velmi svižným tempem...

Avatar

Autor komentáře: NeNe

Datum vložení: 27.11.2004 11:48:58

Myslel jsem, že David Costa je jeden z členů poroty Zendu. Sám tento nástroj už pěknou dobu používám, takže nemám vůbec nic proti němu, jen mě zaujalo, že v článku je tolik místa věnováno PHP 5 jako takovému a přímo na hodnotící stránce je používání nových "pětkových" vlastností kritizováno.

Avatar

Autor komentáře: bohyn

Datum vložení: 27.11.2004 17:00:59

Ona SQLite az tak nove neni, knihovna pro nej byla k dispozici i pro verzi 4, sice ne sandartne dodavana, ale bylo treba ji sahnout zvlas.

A to ze SQLite vsechno uklada (strukturu, data, indexy) do jednoho souboru, to bych se by autorem tak moc neradoval. U malych tabulek tak moc nevadi, ale pri trochu vetsim poctu dat to pak spis brzdi. Vim ze SQLite neni staveny na velky databaze, ale stejne... ;)

Avatar

Autor komentáře: Radek Hulán

Datum vložení: 27.11.2004 17:04:50

Však já také nikde nepíšu, že bych používal SQLite jako rozsáhlé skladiště dat, na to je mnohem lepší PostgreSQL, a na menší projekty MySQL. Nicméně, jako "skladiště šablon" pro CMS, a podobné věci, je SQLite dokonalá..

Zpět na článek | Úvodní stránka Interval.cz