Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zabezpieczyć unlink
Forum PHP.pl > Forum > Przedszkole
Tsiru
Czy można jakoś zabezpieczyć skrypt, żeby mógł usuwać pliki z tylko jednego katalogu ? Niechciełbym, żeby ktoś przy użyciu własnego formulaża wyczyścił mi stronę.
Kuziu
eeeee ?

Udostępniasz komuś konto czy o co Ci chodzi ?

Czy może masz formularz w którym użytkownik może wpisywać komendy php.
Tsiru
Mam strenke, która robie z kumplami, i zrobiłem taki panel do uploadowania plików, dodawania i edycji artykułow itp. A jak jest upload, to kasować pliki też by pasowało. Tylko któremuś może odstrzelić, i zacznie coś zmieniać, to może popsuć pare rzeczy, i dlatego chciałbym wiedzieć, czy da się ograniczyć kasowanie plików do tylko jednego katalogu ?
hwao
Obowiam sie ze nie... .htaccess'em mozna probowac ale to.... roznie bywa.

Najbezpieczniej bedzie wylaczyc mozliwosc uploadu plikow, ktore sa interpretowane przez paser php...
Kuziu
A co do kasowania to możesz dać możliwość kasowania tylko tych plików które były zuploadowane przez www ... trzymaj ich nazwy czy id w mysql'u
Tsiru
A w jaki sposób można przerobić taki skrypcik, aby przepuszczał tyylko *.jpeg, *.jpg, *.gif i *.png ?
  1. if (!isSet($_FILES['myfile']))
  2. {
  3. ?>
  4. <form enctype=\"multipart/form-data\" action=\"<?= $PHP_SELF ?>\" method=\"post\">';
  5. <input type=\"file\" name=\"myfile\">
  6. <input type=\"submit\" value=\"submit\">
  7. <input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"10000\">
  8. </form>
  9. <?php
  10. }
  11. else
  12. if (is_uploaded_file($_FILES['myfile']['tmp_name']))
  13. {
  14. move_uploaded_file($_FILES['myfile']['tmp_name'], &#092;"picture/\".$_FILES['myfile']['name']);
  15. echo &#092;"Udany upload pliku!\";
  16. }
  17. else
  18. die('Próba ataku! Plik: ' . $_FILES['myfile']['name']);

Próbowałem się z tym zmierzyć, ale niewyszło :/
Kuziu
Poczytej o MIME Types

  1. <?php
  2.  
  3. $_FILES['nazwa']['type']; // Zwraca MIME uploadowanego pliku
  4.  
  5. ?>
hwao
  1. <?php
  2. $deny = array( 'php', 'php3', 'php4' );
  3. if( in_array( array_pop( explode( '.', $_FILES['myfile']['name'] ) ), $deny ) ) { // moglem cos zle zamkac bo z glowy;)
  4. echo 'plikow php nie chcemy :)';
  5. }else{
  6.  
  7. move_uploaded_file($_FILES['myfile']['tmp_name'], &#092;"picture/\".$_FILES['myfile']['name']);
  8. echo &#092;"Udany upload pliku!\";
  9. }
  10. ?>
Kuziu
Hwao myślę że MIME jest bardziej bezpieczne ... nie sprawdza nazwy pliku a zawartość (nagłówek pliku).
hwao
Cytat(Kuziu @ 2005-04-18 12:26:36)
Hwao myślę że MIME jest bardziej bezpieczne ... nie sprawdza nazwy pliku a zawartość (nagłówek pliku).

ale apache(serwer) pliki wysyla do paser'a wg rozszerzen smile.gif nie wazna jest dla niego zawartosc smile.gif poszukuje tagow php
Btw: dorzuc do tablicy plik .htaccess zeby nikc Ci konfiguracji nie zmienil smile.gif
Kuziu
No i o tym własnie mówię.

Ktoś wrzuci plik *.HTML z tagami php i będzie włączone parsowanie plików HTML i Twój skrypt już się wysypie. A przez MIME by to nie przeszło.
hwao
Cytat(Kuziu @ 2005-04-18 12:29:50)
No i o tym własnie mówię.

Ktoś wrzuci plik *.HTML z tagami php i będzie włączone parsowanie plików HTML i Twój skrypt już się wysypie. A przez MIME by to nie przeszło.

To juz zalezy od ustawien serwera przecierz wie jakie roszerzneia sa interpretowane... jakby zrobil tak jak Ty proponujesz to by zwyklego pliku txt nie mogl wrzucic... a tak to wygklucza tylko te interpretowane przez php + konfiguracje servera apache
Kuziu
Ale on chce mieć akceptowane tylko obrazki.

a tak btw można sprawdzić MIME + rozszeżenie ...

To samo sie tyczy wgrywania Execów
hwao
Cytat(Kuziu @ 2005-04-18 12:41:33)
Ale on chce mieć akceptowane tylko obrazki.

a tak btw można sprawdzić MIME + rozszeżenie ...

To samo sie tyczy wgrywania Execów

Mozna to zawsze przerobic na rozszerzenia tylko dopuszczane + mime type smile.gif

Mi sie wydawalo ze autor nie chce poprosu zeby ktos mu w php na mieszal wiec napisalem taki kod.
Tsiru
Próbowałem sprawdzić typ mime (a tak bardziej to rozszerzenie), ale niewyszło sad.gif .
____________________

edit: A jak będe miał plik np. index.gif.php to przejdzie przez ten twój skrypt, HWAO ?
hwao
Cytat(Tsiru @ 2005-04-18 12:53:44)
Próbowałem sprawdzić typ mime (a tak bardziej to rozszerzenie), ale niewyszło sad.gif .
____________________

edit: A jak będe miał plik np. index.gif.php to przejdzie przez ten twój skrypt, HWAO ?

Moj skrypt sprawdz ostanie po kropce smile.gif wiec takie jak iest interpretowane przez php wiec powino byc wszytko ok.

cost.lala.icos.php - lapie kocnowke czyli php smile.gif
Tsiru
Super HWAO !
Jesteś Wielki !
PS. Dzięki Kuziu za pomysł z mime
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.