mboost-dp1

unknown

PHP-eksperter vil fremme sikkerhed i PHP

- Via PHP Security Consortium - , redigeret af Net_Srak

En gruppe af PHP-eksperter har sammen dannet “the PHP Security Consortium” (PHPSC) og ideen bag det er at fremme bedre programmeringsskikke ift. sikkerhed.

De mener, PHP-udviklerne skal uddannes bedre, og de vil derfor på et tidspunkt også udgive både dokumenter og artikler, hvori man kan læse om gode programmeringsskikke i PHP.

PHPSCs hjemmeside indeholder forskellige ressourcer til brug for PHP-udviklere, og det er også her, man finder deres PHP Security Guide.





Gå til bund
Gravatar #1 - amokk
3. feb. 2005 10:13
tja... så burde de mange webhoteller nok også snart begynde at stramme sig op, så den ikke automatisk konverterer alle POST, GET, COOKIE og SESSION data til variable... Dette er fandme en sikkerhedsrisisko, hvis man ikke beskytter sine variable ordentligt ved fx at nulstille dem i startet af scrptet...
Gravatar #2 - normie
3. feb. 2005 10:27
Jeg læste en del af deres PHP Security Guide i går, og jeg finder det lidt komisk, at de tager sikkerhed så seriøst, og alligevel navngiver eksempel-includefiler <filnavn>.inc. Vil man give eksempler på hvordan man opnår høj sikkerhed, skal man ikke lave den slags bummerter, der giver risiko for, at brugeren kan downloade ens filer uden at PHP-parseren har behandlet dem.
Gravatar #3 - normie
3. feb. 2005 10:29
#1: Netop initialisering af variable i toppen af scriptet, er noget de gennemgår. De anbefaler dog også at register_globals slåes fra og at error_reporting sættes til E_ALL, så man også får notices om variable, der ikke er initialiseret, så man ikke glemmer nogen. Initialisering af alle vars betragter jeg som værende overkill, men register_globals skal helt klart slåes fra.
Gravatar #4 - blomma
3. feb. 2005 10:42
#2

Man laegger vel ikke filer som ikke skal kunne tilgaaes via web i et katalog som netop kan tilgaaes? (.inc/.php/.whatever).
Gravatar #5 - hejboel
3. feb. 2005 10:45
Jeg syntes det er et lækkert initiativ
Jeg ledte selv efter noget lignende for ½ års tid siden, men det var noget sporadisk, det jeg fandt...
Gravatar #6 - amokk
3. feb. 2005 10:47
#4 problemet er at hvis du får en fejlmedd. og inc filens navn indgår i denne, kan alle finde frem til filen og få den vist

personligt inkluderer jeg altid kun .php filer
Gravatar #7 - Andos
3. feb. 2005 10:54
Jeg forstår ikke hvorfor at de ikke har lavet en funktion der forhindrer at en given variabel bliver overskrevet af register_globals.

prevent_rg_overwrite($path);
Gravatar #8 - Oculus
3. feb. 2005 10:56
Jeg syntes det er et lækkert initiativ.

Håber bare de har mere held end W3 har haft med at påvirker webmastere rundt omkring ;)
Gravatar #9 - normie
3. feb. 2005 11:00
#4: De lægger op til at inc-filerne lægges i et subdir til webroot. Det kræver blot en forglemmelse fra administrator før hele dir'et er tilgængeligt for alle. Jeg har set lignende ting ske før, så jeg ville ikke sætte min webapplikations sikkerhed på, at det ikke sker igen. :)
Gravatar #10 - Mr.Weasel
3. feb. 2005 11:40
Det var da et fantastisk initativ, bare synd at de fleste webhoteller, som andre også er inde på, ikke se ud til at være interesseret i PHP sikkerhed. Jeg ved godt hvorfor at mange af dem ikke har register_global slået fra, og hvorfor nogen sikkert overvejer om safe_mode nu også er nødvendigt. Svar er at der simpelthen er for mange spader der tror de kan skrive PHP kode. Web10 satte regisiter_global til "on" efter at en masse mennesker havde brokket sig over at de ikke kunne få deres kode til at virke. Fremfor bare svare folk at de er nogle spader der burde læse PHP manualen, så vælger man den nemme løsning og fjerner noget af sikkerheden.

Angående inkludering, hvorfor benytter man, som #6, ikke bare .php filer. Hvis man har noget der helst skulle holdes hemligt for andre (usernames og passwords er det eneste jeg lige kan komme på). Alternativt kan man jo bare konfigurere sin webserver til at .inc filer, eller hvad man nu vælger, også skal parse af PHP. At placere filerne uden for sin documentroot, er selvfølgelig også en løsning, det kan bare ikke altid lade sig gøre, f.eks i nogen situationer hvor webserveren er chrooted.

PHPs største sikkerheds problem er at det er for nemt at gå til og vi ender med for mange PHP programmører der tror de ikke behøver at tænke på sikkerhed.
Gravatar #11 - TullejR
3. feb. 2005 12:48
stop nu den diskussion om hvorvidt man skal include .inc eller ej, bare man viser en 403 i det dir de ligger i, eller får php til at parse dem er det jo et fedt.
Gravatar #12 - Per Dalbjerg
3. feb. 2005 21:52
#11

Synes nu ikke denne diskussion skulle stoppe og bare og bare, det kan sku sagtens glemmes at beskytte det dir de ligger i. Som også mange andre i dette forum har pointeret.
Gravatar #13 - TullejR
3. feb. 2005 22:08
#12:

hvis man ser det sådan - så er der jo også så mange andre ting man kan glemme som ødelægger sikkerheden.
Gravatar #14 - Trinity
3. feb. 2005 22:17
#2:


If you have no choice in the placement of your modules, and they must be within document root, you can put something like the following in your httpd.conf file (assuming Apache):

<Files ~ "\.inc$">
Order allow,deny
Deny from all
</Files>


Som kan læses i Databases and SQL her burde måske nok stå nævnt første gang .inc bliver nævnt men det står der da trods alt.
Gravatar #15 - Whoever
3. feb. 2005 22:41
fint nok...

Jeg synes det væsentlige i det her er, at de erkender et sikkerhedsproblem skabt af udviklerne.
Gravatar #16 - Quemeqal
3. feb. 2005 23:05
Hvis de så kunne få den del af php-folket, der så inderligt søger at gøre php til et egentligt scripting/programmerings-sprog, til at joine dem. Der i det "projekt", ligger massere af spildte ressourcer. De forstår åbenbart ikke at der er mere end rigeligt med scripting sprog på "markedet".

Generelt er det dog /brugeren/ af sproget der er skyld i fejlene. De fejl han laver, ville ikke findes hvis han havde læst HELE 'bogen'(/tutorial/whatever).
Selvfølgelig findes der også bugs/exploits i selve php parser, men de opdateres globalt hver gang der kommer en update, såfremt admin sørger for det.

At tro endnu et sikkerheds-konsortium vil gøre at uvillige folk begynder at læse mere end de i forvejen gider om sikkerhed, er da at skyde forbi. At tvinge folk til det, altså implementere det i selve sproget så det ikke kan omgåes, såsom at /tvinge/ tainted data i at blive checked, er umiddelbart den eneste løsning.

Ellers kan man selvfølgelig gøre syntaksen så svær at man skal sætte sig rigeligt ind i det før det giver mening, men så bliver det måske også svært at gøre det sikkert ;)


Udover det, så bestemt et godt initiativ, sikkerhed frem for alt - er bare ikke sikker på at det vil gøre megen forskel, udover at skabe et samlingsted for dem der allerede interesserer sig for sikkerheden i php.
Gravatar #17 - amokk
3. feb. 2005 23:46
#16 du har nogle gode pointer...

men ok det er jo nok de samme folk som kun koder til IE, og generelt springer over hvor gærdet er lavest, som også skodder når de laver PHP.

Og ja, hvis disse folk har noget kode som virker i IE og ikke andre steder, benytter de selvfølgelig IE, og hvis deres webhotel ikke understøtter register_globals, flytter de selvfølgelig til et sted der kan køre deres slamkode!!!
Gravatar #18 - Per Dalbjerg
4. feb. 2005 08:47
#17

Synes ikke at du skal have lov til at tale så negativt om fritidsprogrammører der ikke har den nødvendige kendskab til PHP til at kunne kode efter sikkerhedsprincipperne.

Den bedste måde at lære PHP på er at prøve sig frem, sådan har jeg lært og jeg vil da gerne erkende at min kode var et stort sikkerhedshul i starten, men ikke destro mindre, så lærte jeg det, kiggede efter hvad andre lavede og så begyndte at tænke mere på sikkerheden.
Gravatar #19 - brislingf
4. feb. 2005 10:45
nu vi er ved sikkerhed, er der nogen der har fundet nogle bøger, udvidede guides til
Apache2?
PHP5?

Kan ikke rigtigt finde noget der dækker området ordentligt eller også er det simpelthen flere år gammel når jeg tænker på apache bøger.:-(
/brislingf
Gravatar #20 - sKIDROw
4. feb. 2005 12:52
#19 Brislingf

Her er en til PHP5 ihvertfald:
http://phptr.com/title/013147149X
Gravatar #21 - repsac
4. feb. 2005 23:57
#18 (per-d):Den bedste måde at lære PHP på er at prøve sig frem (...)

Det tror jeg simpelthen ikke på! Jeg vil til en hver tid påstå, at det er langt mere effektivt at gå ned og låne/købe en bog og skimme den igennem, og derefter nærlæse den og lave opgaver/udforske mens man læser.
Gravatar #22 - Flim
7. feb. 2005 14:20
#21 - Manden har jo lidt ret.

Betragt det som at køre bil. Du lærer det grundlæggende, men det er da først når du har fået kørekort at du rigtig lærer at kører bil.

Hvis du kan det grundlæggende i php, så er det med at prøve sig frem, og så ellers oparbejde flere og flere rutiner.

Og til Jer der ikke har kørekort... Farmand bliver nok ikke så glad hvis I bare "prøver Jer frem" :-)
Gravatar #23 - brislingf
15. feb. 2005 22:03
# alle
fandt lige wrox php5 proffesionel fra bookworld.dk, de har tilbud på den, og til su venlige priser... god bog har lige skimtet den igennem
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login