strona w PHP

Dział poświęcony programowaniu w każdym języku.

strona w PHP

Postprzez yahooo » 2004-09-01, 09:01:18

Skad moge wziasc gotowa stronke w php (albo jak ja zrobic)ktora za zadanie mialaby ograniczyc dostep do ogladania dalszej zawartosci stronki tj ewentualny dostep po podaniu hasla a takze zeby byl mozliwu upload plikow na stronke?? Tylko patent z haslem to nie moze byc jakis mega prosty trick cos co raczej moznaby nazwac zabezpieczeniem a nie tirckiem z okienkiem na podanie hasla :]]
Why Drink And Drive When You Can Smoke And Fly?
Avatar użytkownika
yahoooNone specified
Stały bywalec
Stały bywalec
 
Posty: 76
Dołączył(a): 2004-08-31, 21:48:03
Lokalizacja: Tychy
Podziękował : 0 razy
Otrzymał podziękowań: 0 razy

Re: strona w PHP

Postprzez BlueMan » 2004-09-01, 15:31:54

Co do hasła to jest mnóstwo, najprawdę mnóstwo sposobób zabezpieczenia strony na hasło.
Ja podam jeden - najproszty, ale gwarantuje skuteczność

Kod: Zaznacz cały
<?
if (!isset($_POST['pass']]))
 {
 echo 'Wprowadź hasło:';
 echo '<form method="POST" action="admin.php">
  <input type="password" name="pass" size="20"><input type="submit" value="Prześlij"><input type="reset" value="Resetuj"></form>';
}
else
{
// strona na hasło !!!!
}
?>



Co do uploadu pliku to :
Kod: Zaznacz cały
<form name="kopiarka" method="POST"
enctype="multipart/form-data" action="upload.php">
<p>Wybierz plik do przerzucenia:<br>
<input  type="file" name="file" size="40">
<br>
<input  type="submit" value="Kopiuj">
<input type="reset" value="Reset"></p>
</form>


Kod: Zaznacz cały
<?
// ustalamy max rozmiar kopiowanego pliku
$max_size = 51200; // np. 50KB

// sprawdzamy czy podany plik zostal odebrany
   if (is_uploaded_file($_FILES['file']['tmp_name'])) {
      $nazwa_pliku=$_FILES['file']['name'];

// wyciagamy rozszrzenie skopiowanego pliku
      $rozsz=explode(".",$nazwa_pliku);

//tworzymy tablice z niedozwolonymi typami rozszerzen
      $prozsz[0]="php";
      $prozsz[1]="php3";     
     
 if ($_FILES['file']['size'] > $max_size || $rozsz[1]==$prozsz[0] || $rozsz[1]==$prozsz[1]) {
          echo 'Błąd! Plik jest za duży lub plik ma niedozwolone rozszerzenie!';
       } else {

//zapobiegamy kopiowaniu plików zawierających wiecej niz jedno rozszerzenie
if ($rozsz[2]!==NULL) {
echo 'Próba ataku lub plik ma zbyt wiele rozszerzeń';
} else {
       echo'<font color="red"><b>Informacje o skopiowanym pliku:</b></font><br>';
       echo'Plik został skopiowany<br>';
       echo'Nazwa pliku: ' .$_FILES['file']['name'];
 
//sprawdzamy rozmiar pliku
 $rozmiar=$_FILES['file']['size'];

//jesli ma wiecej niz 1024 B informacja zostanie wyswietlona w formacie KB
    if ($rozmiar>1024) {
       $rozmiar=$_FILES['file']['size']/1024;
       $trozmiar=explode(".",$rozmiar);
       echo'Wielkość pliku: <b>'.$trozmiar[0].' </b>KB';

//jesli nie to B
    } else {
       echo'Wielkość pliku: <b>'.$_FILES['file']['size'].' </b>B';
}
  if (isset($_FILES['file']['type'])) {
            echo'<br>';
            echo 'Typ: '.$_FILES['file']['type'] .'<br/>';
        }
        move_uploaded_file($_FILES['file']['tmp_name'],
                'upload1/'.$_FILES['file']['name']); //miejsce skopiowanego pliku
   } }
} else {
   echo 'Błąd przy przesyłaniu danych!';
}     

?>


Za pomocą funkcji explode rozbijam kopiowany plik na elementy tablicy. Zakładam że trzeci element tablicy $rozsz[2] musi być pusty, w przeciwnym wypadku swiadczy to o tym że kopiowany plik ma wiecej niż jedno rozszerzenie a związku z tym nie moze zostac skopiowany. To proste założenie eliminuje kopiowanie wszystkich plików zawierających więcej niz jedno rozszerzenie
Czytaj regulamin - unikniesz wielu problemów.
Korzystajcie z załączników na forum aby pliki nie ginęły w przyszłości w zewnętrznych serwisach.
Avatar użytkownika
BlueManMale
Administrator
Administrator
 
Posty: 19105
Dołączył(a): 2004-05-26, 17:34:59
Lokalizacja: Dabrowa Górn.
Podziękował : 6 razy
Otrzymał podziękowań: 5 razy
Imię: Szymon

Re: strona w PHP

Postprzez yahooo » 2004-09-01, 16:25:33

dzieki a jakies bardziej skomplikowane zabezpieczenia? :lol:
Why Drink And Drive When You Can Smoke And Fly?
Avatar użytkownika
yahoooNone specified
Stały bywalec
Stały bywalec
 
Posty: 76
Dołączył(a): 2004-08-31, 21:48:03
Lokalizacja: Tychy
Podziękował : 0 razy
Otrzymał podziękowań: 0 razy

Re: strona w PHP

Postprzez BlueMan » 2004-09-01, 17:21:15

Możesz oprzeć na sesje, ale ten w/w jest dobry. :roll:
Czytaj regulamin - unikniesz wielu problemów.
Korzystajcie z załączników na forum aby pliki nie ginęły w przyszłości w zewnętrznych serwisach.
Avatar użytkownika
BlueManMale
Administrator
Administrator
 
Posty: 19105
Dołączył(a): 2004-05-26, 17:34:59
Lokalizacja: Dabrowa Górn.
Podziękował : 6 razy
Otrzymał podziękowań: 5 razy
Imię: Szymon


  • Inne

Powrót do Programowanie

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 36 gości

cron