Gå til innhold

Avslører over 30 PHP-feil


Anbefalte innlegg

Videoannonse
Annonse
Blant annet har Hardware.nos driftsavdeling lagt fra seg alt annet arbeid, og konsentrerer seg fremover kun om å oppgradere våre systemer til PHP5. Dette er en formidabel jobb ettersom svært få av Hardware-nettverkets løsninger baserer seg på PHP5 i dag.

Dårlig designa løsninger? Det meste av php4 kode skal i utgangspunktet kjøre under php 5.

Lenke til kommentar
I mars vil en tidligere PHP-utvikler avdekke ett sikkerhetshull hver dag, for å oppfordre utviklerne til å fikse hullene.

 

Les mer

8005621[/snapback]

 

Må bare riste på hovedet. Skjønner ikke hvorfor folk fortsat bruker utdaterte rammeverk som PHP og løsninger iøvrigt som er fundementalt sårbare overfor buffer-overflows og lignende. Oppgradering til PHP5 er bare som å pisse i buksa for å holde seg varm - blir fort koldt igjen.

 

Kast hele driten og bruk en java basert løsning, problem solved.

Lenke til kommentar
I mars vil en tidligere PHP-utvikler avdekke ett sikkerhetshull hver dag, for å oppfordre utviklerne til å fikse hullene.

 

Les mer

8005621[/snapback]

 

Må bare riste på hovedet. Skjønner ikke hvorfor folk fortsat bruker utdaterte rammeverk som PHP og løsninger iøvrigt som er fundementalt sårbare overfor buffer-overflows og lignende. Oppgradering til PHP5 er bare som å pisse i buksa for å holde seg varm - blir fort koldt igjen.

 

Kast hele driten og bruk en java basert løsning, problem solved.

8005943[/snapback]

Uenig med deg der, iallefall i konklusjonen, django er et mye bedre valg.

 

Likevel, php er veldig utbredt, det er mange kilder til hjelp om du står fast, og så er det ikke minst snakk om valgfrihet. Vi har ingenting med å legge oss oppi hvilke løsninger som velges; men sjølsagt kan vi jo komme med tips. Problemet er at disse tipsa blir til de grader subjektive, og diskusjonen - om den får fortsette- kommer til å spore totalt av fra hva den opprinnelig handla om, flamewars kan oppstå.

 

Synes heller vi kan fokusere på artikkelen hovedmoment; hvordan kan php forbedres, og hvordan kan sikkerhetshull unngåes?

Lenke til kommentar
Uenig med deg der, iallefall i konklusjonen, django er et mye bedre valg.

 

Likevel, php er veldig utbredt, det er mange kilder til hjelp om du står fast, og så er det ikke minst snakk om valgfrihet. Vi har ingenting med å legge oss oppi hvilke løsninger som velges; men sjølsagt kan vi jo komme med tips. Problemet er at disse tipsa blir til de grader subjektive, og diskusjonen - om den får fortsette- kommer til å spore totalt av fra hva den opprinnelig handla om, flamewars kan oppstå.

 

Synes heller vi kan fokusere på artikkelen hovedmoment; hvordan kan php forbedres, og hvordan kan sikkerhetshull unngåes?

8006077[/snapback]

 

Poeng er at sikkerhetshull aldrig kan unngåes med PHP - samme med programmer skrevet i C/C++ - de vil i praksis aldri kunne bli sikre.

 

Derfor, og også pga av langt større utviklermiljø for java enn php og nogen andre alternativer, anbefaler jeg java-basert løsning.

Lenke til kommentar
Derfor, og også pga av langt større utviklermiljø for java enn php og nogen andre alternativer, anbefaler jeg java-basert løsning.

8006134[/snapback]

 

Nå er du litt eplekjekk mot et av verdens mest brukte språk. Jeg har selv programmert i java på skolen, og i PHP i det virkelige livet, og jeg holder en knapp på PHP til alt jeg holder på med.

 

Poenget er at PHP er raskt, det er veldig mange som bruker det (profesjonelt, ikke bare i skolesammenheng) og det finnes utrolig mye bra open source kode skrevet i PHP. Nevner også at Wikipedia er en av verdens 10 mest besøkte sider og er skrevet i ren PHP, YAHOO bruker PHP, IBM anbefaler det osv.

 

For ordens skyld: Java er et bra språk, og det er langt å foretrekke fremfor .Net, særlig etter at java har kommet under GPL. Det er bare det at det ofte blir litt overkill.

Endret av erit01
Lenke til kommentar
Dårlig designa løsninger? Det meste av php4 kode skal i utgangspunktet kjøre under php 5.

 

PHP5 er ikke direkte bakoverkompatibelt med PHP4, og dermed er vi nødt til å teste at alt fungerer før vi oppgraderer. Det betyr temmelig mye ekstra arbeid i forhold til om PHP hadde garantert full kompatibilitet.

 

For oss betyr det å få flyttet tjenestene til PHP5 at vi vil få sikkerhetsoppdateringer fremover gjennom Ubuntu. Med tanke på sikkerhet er det helt sikkert bedre alternativer enn PHP, akkurat som det også er dårligere alternativer. Ved siden av sikkerhetshull i programmeringsspråkenes kjerne er det minst like viktig å skrive sikker programvare.

 

Innbruddet på Diskusjon.no i høst er jo et eksempel på hvilke konsekvenser et hull i programvaren får. I slike tilfeller kan man ikke skylde på programmeringsspråket utover at PHP kunne vært bedre på å legge til rette for å lage sikker programvare (ref. gamle designblemmer som register_globals).

Lenke til kommentar
I mars vil en tidligere PHP-utvikler avdekke ett sikkerhetshull hver dag, for å oppfordre utviklerne til å fikse hullene.

 

Les mer

8005621[/snapback]

Må bare riste på hovedet. Skjønner ikke hvorfor folk fortsat bruker utdaterte rammeverk som PHP og løsninger iøvrigt som er fundementalt sårbare overfor buffer-overflows og lignende. Oppgradering til PHP5 er bare som å pisse i buksa for å holde seg varm - blir fort koldt igjen.

 

Kast hele driten og bruk en java basert løsning, problem solved.

8005943[/snapback]

For web-løsninger er problemet oftere at programmereren introduserer feil, ikke at programmeringsspråket er usikkert. Å be erfarne php-folk bytte til et språk de i utgangspunktet ikke mestrer er ikke å forbedre sikkerheten, tvert i mot. De samme programmeringsfeilene man implementerer i php kan man implementere i jsp også Endret av ibrotha
Lenke til kommentar
Poenget er at PHP er raskt, det er veldig mange som bruker det (profesjonelt, ikke bare i skolesammenheng) og det finnes utrolig mye bra open source kode skrevet i PHP. Nevner også at Wikipedia er en av verdens 10 mest besøkte sider og er skrevet i ren PHP, YAHOO bruker PHP, IBM anbefaler det osv.

PHP er ikke raskere enn andre scriptspråk det bør kunne sammenlikne seg med. Og har du brukt PHP i skolesammenheng? De fleste skikkelige skoler holder seg for gode til å lære folk å bruke et så vanvittig dårlig språk med enda dårligere tilhørende biblioteker som PHP faktisk er.

 

At det er mange som bruker det betyr på ingen måte at det er bra. Og "utrolig mye bra open source skrevet i PHP" - tja. Det er mye bra, men prosentandelen søppel tror jeg er LANGT høyere for PHP enn noe annet programmeringsspråk.

Lenke til kommentar
Dårlig designa løsninger? Det meste av php4 kode skal i utgangspunktet kjøre under php 5.

8005748[/snapback]

 

 

Det er langt fra riktig. PHP5 er ikke bakoverkompatibelt. Mange funksjoner har beholdt navnet men har fundamentalt forskjellig parametre og/eller utverdier.

 

For at det skulle vært bakoverkompatibelt, måtte de erstattet funksjoner som f.eks. microtime() med microtime2() slik at all bruk av microtime() ga samme resultat som før. PHP4-kode må "masseres" og testes før den virker på PHP5.

Lenke til kommentar
Og har du brukt PHP i skolesammenheng? De fleste skikkelige skoler holder seg for gode til å lære folk å bruke et så vanvittig dårlig språk med enda dårligere tilhørende biblioteker som PHP faktisk er.

Nei, du hadde det litt travelt med å lese posten min : ) PHP kom etterpå, visual basic, java, c og assembly "lærte jeg" på skolen.

Det er mye bra, men prosentandelen søppel tror jeg er LANGT høyere for PHP enn noe annet programmeringsspråk.

Hehe, og jeg har spekulert om grunnen til at folk snakker stygt om java-programmer er fordi det er så mange som "kan" programmere i java fordi de har hatt det på skolen.

 

Igjen: Jeg snakker ikke stygt om java, det er skrevet mye bra i java (editoren min, f.eks) det er bare det at det er overkill for små bedrifter med små hostingbudsjetter og små utviklingsbudsjetter. Jeg kan gjerne tenke meg å bli flink i java en gang, men akkurat nå går jeg ikke rundt og påstår at jeg kan det selv om jeg har gjort innleveringsoppgavene mine på høgskolen for 2-3 år siden. På den måten blir det mindre søppel : )

 

Til slutt: jeg gleder meg over at det blir satt fokus på sikkerheten til PHP.

Lenke til kommentar

Må bare riste på hovedet.  Skjønner ikke hvorfor folk fortsat bruker utdaterte rammeverk som PHP og løsninger iøvrigt som er fundementalt sårbare overfor buffer-overflows og lignende.  Oppgradering til PHP5 er bare som å pisse i buksa for å holde seg varm - blir fort koldt igjen.

 

Kast hele driten og bruk en java basert løsning, problem solved.

8005943[/snapback]

 

:nei:

 

"Skjønner ikke hvorfor folk fortsatt bruker utdaterte rammeverk som posten som er fundamentalt sårbare overfor posttyveri og liknende. Oppgradering til postkasse med lås er bare som å pisse i buksa for å holde seg varm - blir fort koldt igjen.

 

Kast hele driten og bruk epost, problem solved."

 

PHP og Java er to forskjellige verdener med helt forskjellige fordeler og bakdeler.

Lenke til kommentar
At det er mange som bruker det betyr på ingen måte at det er bra. Og "utrolig mye bra open source skrevet i PHP" - tja. Det er mye bra, men prosentandelen søppel tror jeg er LANGT høyere for PHP enn noe annet programmeringsspråk.

8006908[/snapback]

 

Prosentandelen med søppel i Visual Basic er nok mye høyere enn i Cobol, og prosentandelen med søppel av det som er kodet i Notepad er nok mye høyere enn i Pico. Dette er IKKE fordi Pico lager bedre kode enn Notepad, men fordi PHP, Visual Basic og Notepad har en høy andel nybegynnere mens Cobol og Pico har en høy andel av erfarne brukere.

 

Dette igjen skyldes at PHP, Visual Basic og Notepad er mer enn et par hakk enklere å sette opp og enklere å lære seg å bruke enn Bash og Cobol.

 

Slike ting sier veldig lite om hvor bra Visual Basic, Cobol eller PHP er. Derimot er det foruroligende å lese at PHP-utviklerene er kjent for å være trege å legge ut sikkerhetsoppdateringer. Det sier veldig mye om PHP.

Lenke til kommentar

Vi har diskutert, og har en løpende diskusjon på det igrunn, om vi skal bytte språk til noe annet. Men det er utrolig lett å forstå hvorfor mange bruker php. I vårt tilfelle er det rimelig sikker at om vi i dag skulle valgt språk for et totalt nytt prosjekt så ville valget ikke falt på php. Men nå har det seg sånn at vi har en stor kodebase, og det er ikke bare å installere java og avinstallere php akkurat, det ligger en brukbar portejobb bak. Ikke minst sitter vi på stor php-kompetanse, mye større enn kompetansen i andre språk.

 

Som noen har nevnt tidligere, å kaste en utvikler ut i å skrive store applikasjoner i et språk han ikke kjenner, vil neppe skape særlig sikrere programvare enn om han får skrive i språket han kjenner til fingertuppene.

 

Personlig ville jeg i dag faktisk valgt python og django. Jeg har myset på django ganske lenge nå, og skal titte på det den dagen jeg får tid til overs. (Noe vi utviklere sjelden har som kjent :)).

 

At PHP er enkelt å lære seg er både dets styrke og svakhet. For en nybegynner er det lettere å skrive dårlig kode i PHP enn i andre språk, men det er heller ikke umulig for en erfaren utvikler å skrive ganske så sikker og strukturert bra kode.

Lenke til kommentar
Må bare riste på hovedet. Skjønner ikke hvorfor folk fortsat bruker utdaterte rammeverk som PHP og løsninger iøvrigt som er fundementalt sårbare overfor buffer-overflows og lignende. Oppgradering til PHP5 er bare som å pisse i buksa for å holde seg varm - blir fort koldt igjen.

 

Kast hele driten og bruk en java basert løsning, problem solved.

 

PHP er veldig god til tekst-parsing, og tekst-manipulering. Den har støtte for mange databaser, og har innebygget muligheter for å gjøre .... ja hva du vil. Web er jo 100% tekst, og mange protokoller baserer seg også på tekst, så PHP tilbyr god funksjonalitet der.

 

Det som suger med PHP er at den har språklige utfordringer. Den har et enormt funksjonsbibliotek som forandrer seg hele tiden. Enten man oppgraderer fra 4.3 til 5.2, eller fra 5.1 til 5.2, så kan en banne på at koden du har laget må fikses. Den har sikkerhetshull ja, og det er vanskelig å lage sikker kode. PHP er også et system som er kontinuerlig under utvikling. Den blir aldri ferdig.

 

Men.

Det er lett å installere en webserver pakke med PHP, Apache, MySQL på egen og andres maskiner. Det er Billigt å anskaffe seg det. PHP er lett å lære og lett å finne ressurser til. Det finnes mange ferdiglagde programmer og systemer bassert på PHP som er med på å spre PHP (forum, cms, wiki, whatever).

 

JS er et herk å progge, og det er opplest og vedtatt at dette er et rævva opplegg. Har selv rota rundt i JS, og det blir for spesielt intresserte spør du meg. Fordelen med JS er integrasjonen med Java, og den beinharde sikkerheten. Men å si at det er like billig(webhotel f.eks), like utbredt, like mye ressurser, like lett å lære og bruke ... det tviler jeg på.

ASP krever IIS .... Altså ASP.NET er jo bra, men det koster jo penger. Det er også ikke SÅ mye ressurser til det, og er veldig hobby-programmerings fiendtlig spør du meg. Kan jo priatkopiere som alle andre, men det er i mine øyner litt mer stress å få ASP løsninger opp å gå. ASP er også ment for big business, som kanskje ikke vanlige brukere er så interessert i. ASP krever også et høyere nivå på koderene. PHP koderene er gjerne ikke så gla i komplekse ting som relasjon/transaksjons databaser, objektorientering, forms(win)og andre ting som man må bruke mye tid på å lære for å gjøre en liten ting.

 

Vanlige dødelige velger løsninger som er lett å skaffe/bruke. Det kan man si om PHP. 10kr mnd for en php server + forum + noe annet man vil ha - vips(ikke vips, som regel mye krøll) så har man det opp og kjører.

 

Man kan gjerne si at PHP applikasjoner er rævva, men jeg ser rævva Java/JS/ASP etc programmer hver dag. Det er for mange rævva programmerere i verden.

 

Må også huske på at bedrifter, organisasjoner ofte starter som små nisjer (som hw), og da har man gjerne PHP i bunn. Dette blir ofte med videre til mellomklassenivå, før det blir kastet på hode og rævva ut døren.

Endret av DarkSlayer
Lenke til kommentar

At et språk med en utviklingsmodell som PHP har sikkerhetshull er svært naturlig (selv med andre kommer de). Noe som faktisk gjelder alle de språkene som brukes til utvikling av nettløsninger. Både Java , .net, Ruby (on Rails) og Django har. At mengden og alvorlighetsgraden kan variere er klart, men en upatched Java-løsningen fra 3 - 4 år tilbake kan være langt verre sikkerhetsmessig enn en godt kodet/patchet PHP løsning. Har man fulgt med på sikkerhetsnyheter fra Sun, har man nok fått med løpende sikkerhetspatcher også derifra.

 

Som flere har kommet inn på, er faktisk kvaliteten i koding nesten viktigere enn hvilket språk/rammeverk som er brukt. Videre bruker nok det store flertall av nettsider i dag ulike former for publiseringsløsninger. Svært mange har ikke råd til kommersielle løsninger, og blant åpen kildekode CMS er det i hovedsak PHP baserte løsninger som er så velutviklet og brukervennlige at de er aktuelle. Jeg har vært med å teste en del, og det finnes ingen i Java, .Net eller Python (muligens Plone) som kan konkurrere med de PHP baserte løsningene (pris - gratis, brukervenliget, funksjonalitet etc).

 

Og løsninger som Drupal, TYPO3 og ez Publish (med ekstremt stor brukermasse), har faktisk vært lite plaget med sikkerhetsproblemer så lenge PHP versjonen har vært godt patchet sammen med selve nettløsningen. Nå er det vel bare TYPO3 som faktisk i versjon 4.1 (kommer i løpet av 2 uker), også er fullt ut kompatibel med PHP 5.2.

 

Og som @DarkSlayer sier så glimrende: Det er for mange "sensurert" programmere i verden. Og er du en god PHP-programmerer er trolig sikkerheten i dine løsninger bedre enn om du skulle gjøre det samme i Java. Og for meg er "firmaer" med 2 - 6 ansatte som tilbyr sin egenutviklede publiseringsløsning (uansett om det er .net, PHP eller Java) et lang større sikkerhetsproblem enn feil i PHP.

Lenke til kommentar

Jeg har tatt en titt på ASP.NET og liker måten man skiller kode og form på. Men det krever at man setter seg grundig inn i denne tankegangen og er man ikke klar for det er det temmelig vansklig å lære seg. Langt mindre kode reelle applikasjoner i det.

 

PHP er veldig lett å begynne med siden det deler seg opp i så mange grener og du kan gjør en ting på flere måter mens du i andre rammeverk er begrenset til et par måter å gjøre en og samme ting på for å følge konvensjonen.

 

Faktisk så er det utviklet flere rammeverk som ligger utenpå PHP. Kan nevne Cake som jeg har tatt en titt på selv. Cake er som Ruby On Rails, bare for PHP (PHP on Rails om du vil).

 

http://www.cakephp.org/

 

Essensen i dette er å følge en konvensjon basert på MVC eller Model View Controller. Du definerer en datamodell, en visning av denne datamodellen og til sist en kontroller eller logikk som lar deg gjøre noe med dataene. Du følger et bestem mønster som du ikke skal avvike fra når du programmerer. På denne måten er det veldig lite som kan gå galt.

 

Det finnes flere andre slike MVC baserte rammeverk for PHP så ikke ta dette som noe reklame for CakePHP. Ta en titt her: http://www.phpwact.org/php/mvc_frameworks

 

 

Kansje noe for Hardware.no også dette her?

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...