PHPdude Skrevet 13. februar 2006 Rapporter Del Skrevet 13. februar 2006 Driver å lager et filarkiv og et bildegalleri, går det an å bruke htaccess til å hindre kjøring av PHP-filer i en mappe? Dette for hindre at brukere kan laste opp ondsinnede script til serveren og kjøre dem. Finnes det noen andre gode løsninger? <Location /folder> AddType txt/html .php AddType txt/html .php3 </Location> Noe sånt kanskje...? Lenke til kommentar
LoS Skrevet 13. februar 2006 Rapporter Del Skrevet 13. februar 2006 (endret) Tipper du ihvertfall skal bruke text/html, eventuelt text/plain for å være helt sikker. Uansett kan du jo sjekke i upload om filen slutter på php eller php3. F.eks slik: <?php $ext = explode('.', $_FILES['file']['file_name']); $ext = array_reverse($ext); if($ext[0] == 'php' OR $ext[0] == 'php3') { die('Ugjyldig filtype'); } ?> Hvis jeg misforstod rett nå. Endret 13. februar 2006 av LoS Lenke til kommentar
MC2 Skrevet 13. februar 2006 Rapporter Del Skrevet 13. februar 2006 tja, tror han vil ha muligheten for at folk skal kunne laste opp php filer bare at de ikke skal kunne kjøre dem. hvorfor ikke bare legge til .txt etter .php filer? Lenke til kommentar
PHPdude Skrevet 13. februar 2006 Forfatter Rapporter Del Skrevet 13. februar 2006 joda, men da var det å vite ALLE filtypene Apache bruker PHP-motoren på da. Vet at det er .php, .php4, php3 men hva vis serveren plutselig også kjører html-filer som php? eller noe helt annet? vil helst ikke at koden min skal kreve at serverinstillingene er akkurat SÅNN... Det er ikke noe must at man skal kunne laste opp PHP-filer, selv om det hadde vært det beste Lenke til kommentar
Gjest Slettet+6132 Skrevet 13. februar 2006 Rapporter Del Skrevet 13. februar 2006 (endret) Tror kanskje dette løser problemet, koden vil da komme i klartekst tror jeg. .htaccess <IfModule mod_php4.c> php_value auto_prepend_file disable.php </IfModule> disable.php <?php ini_set("engine", "Off"); ?> Hvis ikke det fungerer kan du jo prøve: AddType text/plain .php AddType text/plain .php3 AddType text/plain .php4 AddType text/plain .phps Uansett hvordan du gjør dette er det viktig at du bare gjør det på lagringsmappa til filene, hvis ikke vil andre kunn elese koden din. Hvis du bruker noen av kodene over er meningen at koden skal vise om noen laster opp en php-fil. Du kan jo evt. også gjøre slik at opplastning av php-filer ikke er tillat. EDIT: Jeg er ikke sikker på hvor du skal legge disable.php, bare prøv deg frem. Endret 13. februar 2006 av Slettet+6132 Lenke til kommentar
Magnus Holm Skrevet 15. februar 2006 Rapporter Del Skrevet 15. februar 2006 Er det ikke mye bedere med: AddType application/x-httpd-php-source .php AddType application/x-httpd-php-source .php3 AddType application/x-httpd-php-source .php4 Da vil den vise koden i farger Lenke til kommentar
Gjest Slettet+6132 Skrevet 15. februar 2006 Rapporter Del Skrevet 15. februar 2006 Er det ikke mye bedere med:Da vil den vise koden i farger 5611681[/snapback] Det er også en mulighet ja... Lenke til kommentar
Ueland Skrevet 15. februar 2006 Rapporter Del Skrevet 15. februar 2006 Du glemte .hm og .html, Veldig ofte kan php kjøres i html iler så ikke dumt og stoppe de og. Lenke til kommentar
easypwn Skrevet 16. februar 2006 Rapporter Del Skrevet 16. februar 2006 eller mayb 'php_value engine off', den over med farger var jo god idê.. tenkte ikke på den når jeg gjorde dette for en stund siden :[ brukte text/plain som funka fint.. kanskje fjerne cgi/pl/phtml osv oxo? har du en komplett liste over 'bad' script extensions ell? hadde vært bra å ha.. =o Lenke til kommentar
Gjest Slettet+6132 Skrevet 17. februar 2006 Rapporter Del Skrevet 17. februar 2006 eller mayb 'php_value engine off', den over med farger var jo god idê.. tenkte ikke på den når jeg gjorde dette for en stund siden :[ brukte text/plain som funka fint.. kanskje fjerne cgi/pl/phtml osv oxo? har du en komplett liste over 'bad' script extensions ell? hadde vært bra å ha.. =o 5617944[/snapback] Og enda bedre hadde det vært om du formulerte deg på bokmål. På dt forumet taztr vi ik på sms-språk vettu Fra spøk til alvor, cgi og pl trenger du vel egentlig ikke å blokke, siden de må ligge i cgi-mappa for å kunne kjøres (om jeg ikke husker helt feil. Men extensions du han sette til source er; hm, htm, html, phtml, shtml, xhtml, php, php3, php4, phps, tpl, inc, cgi, pl. Lenke til kommentar
NH Skrevet 17. februar 2006 Rapporter Del Skrevet 17. februar 2006 (endret) hvorfor ikke bare sikre opplastningsscriptet på siden din? man MÅ ikke bruke move_uploaded_file() er det snakk om bildefiler du vil ha lastet opp, tillat kun bildefiler! er det snakk om filer som inneholder tekst: 1: les fila til string 2: Kjør htmlspecialchars() på den 3: Lagre strengen som ny fil så er du sikra. å kjøre perl uten videre er heller vanskelig da scriptene må ligge i cgi-bin mappa di. og jeg nekter å tru at du lar dem laste opp dit? om du i det hele tatt har en. default er bare en cgi-bin mappe som ligger rett under root mappa til apache Endret 17. februar 2006 av NH Lenke til kommentar
PHPdude Skrevet 21. februar 2006 Forfatter Rapporter Del Skrevet 21. februar 2006 Vil ikke htmlspecialchars() ødelegge filen a? Lenke til kommentar
MC2 Skrevet 21. februar 2006 Rapporter Del Skrevet 21. februar 2006 en annen måte å gjøre det på er å ha en script som tar imot "requestes" for opplastede filer, og dersom filendelsen er .php eller .php3 etc. så få scriptet til å sende en text/html header. da blir siden vist med html formatering, bare at all php koden forsvinner. ellers kan du sende en text header sånn at man ser alt som om man hadde trykket på view-source. Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå