Vlákno názorů k článku PHP pro experty: bezpečnost od Ritchie - Článek obsahuje hodně nepřesností, mám pocit, že páchá...

  • Článek je starý, nové názory již nelze přidávat.
  • 12. 8. 2004 14:03

    Ritchie (neregistrovaný)

    Článek obsahuje hodně nepřesností, mám pocit, že páchá víc škody, než užitku.

    magic_quotes_gpc již bylo probráno dostatečně.

    Není pravda, že dvojité uvozovky jsou pomalejší než jednoduché. "ahoj" a 'ahoj' by mělo být zpracováno stejně rychle. Jediné, co dvojité uvozovky zpomalí, je expanze.

    Základem psaní bezpečného skriptu je nastavit E_ALL, tzn. i s E_NOTICE, což je implicitně vyřazeno. Druhou základní věcí je explicitně inicializovat proměnné, tedy nepoužívat neinicializované proměnné. Ostatně na to vás E_NOTICE upozorní. Na většině hostinzích je stále register_globals on a tohle je vynikající obrana před podvržením hodnoty z vnějšku.

    Pokud chci větší výkon, tak se rozhodně nehoním za uvozovkami, ale raději promyslím návrh algoritmu, nepoužívám funkce, které se jeví jako jednoduché a přitom jsou naopak časově náročné (např. regex fce), rozmyslím, jak se budu ptát db, atp.

    Než předávat filename jako parametr, je lepší použít nějaký vnitřní id, které přemapovává jen na povolené hodnoty filename.

    A to by snad stačilo. ;-)

  • 12. 8. 2004 14:29

    jiri (neregistrovaný)

    Taky mi prijde divne u SKRIPTOVACIHO jazyka uvazovat nad optimalizacemi, ktere bych zvazoval snad na urovni asm/C (par tiku sem a tam)...

    Kdyz vidim navrhy dnesnich "programatoru" v (nejen) PHP, tak jen ziram jak hluboka musi byt jejich neznalost/zabednenost, kdyz se pak biji do prsou nad RADOVE zanedbatelnymi optimalizacemi oproti pasece natropene spatnou dekompozici problemu a algoritmizaci.

  • 12. 8. 2004 15:50

    Alobal (neregistrovaný)

    Ale o tom to je, né?

    Za tohle nechť děkujeme Billovi Gatesovi, svaté Emerice a dalším, kteří pomohli vohnoutům k penězům za nicnedělání a navíc ještě bez vzdělání a alspoň minimálních znalostí!

    Jojo, díky wérdu, otlaku a póvlpojntu je teď holt každej programátor v nesmyslech jménem Java, PHP a v dalších "technologických výstřelcích".

    Hlavně, že si můžeme proprietární D/A A/D převodníky s výstupem na monitor či ethernetový kabel patentovat! Já přehrával moduly přes Covox na dvou paralelních portech a péro jsem si z toho nehonil jako nVidia ze svých pokrokových technologií, které pro mě spíš znamenají dva kroky zpět než alespoň jeden dopředu. Slovo technologie již neznamená něco užitečného s puncem lidské práce, ale emerickou reklamní konzumní sračku!

    P.S.: Omlouvám se všem, kterých jsem se dotknul.

  • 12. 8. 2004 16:44

    Dave (neregistrovaný)

    SOUHLAS! btw, na Covox si taky dobre pamatuju :)
    Ono jinak se clovek nauci programovat kdyz zacina na 286ce a aby mu veci fungovaly jak je treba, musi se ucit novy a novy algoritmy, postupy, PREMEJSLET, vymejslet triky, inovovat a /nizkourovnove/ setrit s kazdym bajtikem pameti a ve smyckach tikem procesoru - a jinak kdyz zacina treba v Eclipse s Javou na 2GHz poci, vykrada luxusni open source knihovny a programovani je pro nej naklikani GUI a vygenerovani obsluh udalosti. Cista prace. To pak vidite screensavery kde se sprity vykreslujou "putpixlem", konstanty jsou hardcoded, kodu se o modularite ani nezda a od poloviny vyvoje projektu se nikdo novej nemuze pribrat, protoze to je jeden velkej provazanej hack, kterej ma nekdo/par lidi chvili v hlave. :) Jako programator clovek uz musi myslet a to neprijde samo.

  • 12. 8. 2004 18:09

    Solvina (neregistrovaný)

    Nastesti jste uplne mimo.

    Money talks, a pokud se da aplikace udelat za pul roku (Java/PHP) a splnuje zakaznikovi pozadavky je naprosta blbost ji psat pet let v ASM.

    Jenom doufam, ze dnesni zbytecne komplikovane jazyky jako C#, Java a podobne, kde clovek travi naprosto zbytecne spoustu dni nad editorem, ASAP zmizi a zustane po nich jenom smrad a objektove orientovany navrh, a (pro me velmi otupujici a skoro ponizujici, jako pro pana tvorstva) koderina zustane na generatorech kodu. Jenom pani programatori, majici na to bunky budou psat zakladni veci/OS v nizkourovnovych jazycich.

    Nejaky naznaky tohoto trendu uz jsou videt, ale jde to na muj vkus moc pomalu.

    No ale ani v mem svete bych nepoustel patlaly s jednou priruckou o SQL k vyvoji SW - SW development ma sve, pomerne striktne definovane, zasady, principy a postupy, ktere bohuzel nejsou dodrzovany - v tom s Vami souhlasim. Ale rikat neco o tom, ze by bylo dobre se vratit k ASM? Ale jdete, tihle patlalove by se ve velke mire naucili ASM a delali by v ASM stejne chyby (=aplikovali by stejne spatne postupy) jako v PHP.

  • 13. 8. 2004 8:28

    Martin Koníček (neregistrovaný)

    ASM je nádherný jazyk, kde lze opravdu nahodit obrovské množství chyb a dokáže se ho naučit každý. V ASM je, bylo a bude hodně patlalů, stačí se dneska podívat na zařízení co se prodávají v obchodech, někdy škoda dívat se, kdo to programoval.

    Java je dobrý jazyk v tom, že si v něm patlal ani neškrtne :-), proto má lepší pověst než PHP. U PHP bych ocenil jednu věc, nějakou direktretivu STRIKT, která by zakázala globální proměnné, atd.

  • 13. 8. 2004 15:52

    hkmaly (neregistrovaný)

    Souhlasim. Mozna existuji jazyky, ve kterych nejde psat dobre (cobol ?), ale URCITE neexistuji jazyky, ve kterych by neslo psat spatne.

    Jinak napsat PROGRAM v assembleru je nesmysl. V assembleru se ma napsat jenom ta funkce, co obsahuje nebo je volana uvnitr 4 forcyklu (napriklad funkce zkopiruj_sprite_do_videopameti), okolo muze byt klidne C nebo i PHP, a pokud je to GUI, tak se ani nemusi psat rucne, pokud nekdo napise rozumny generator kodu ... (generator kodu na neco jineho nez GUI snad ani neexistuje ...).