Kod
$max_rozmiar = 1024*1024;
if (is_uploaded_file($_FILES['plik']['tmp_name'])) {
if ($_FILES['plik']['size'] > $max_rozmiar) {
echo 'Błąd! Plik jest za duży!';
} else {
echo '<br><br><br><font color="CA0000" size="4"><center>News dodany!</font><br>';
echo '<a href="dodaj_newsa.php">Dodaj kolejnego</a>';
move_uploaded_file($_FILES['plik']['tmp_name'], $_SERVER['DOCUMENT_ROOT'].'/foto/'.$_FILES['plik']['name']);
}
} else {
echo 'Błąd przy przesyłaniu danych!';
}
if (is_uploaded_file($_FILES['plik']['tmp_name'])) {
if ($_FILES['plik']['size'] > $max_rozmiar) {
echo 'Błąd! Plik jest za duży!';
} else {
echo '<br><br><br><font color="CA0000" size="4"><center>News dodany!</font><br>';
echo '<a href="dodaj_newsa.php">Dodaj kolejnego</a>';
move_uploaded_file($_FILES['plik']['tmp_name'], $_SERVER['DOCUMENT_ROOT'].'/foto/'.$_FILES['plik']['name']);
}
} else {
echo 'Błąd przy przesyłaniu danych!';
}
Nie wiem jak zrobić, aby na serwer można było ładować tylko image - gif, jpg. Bardzo prosiłbym o pomoc.
znalazłem w internecie:
Kod
Należy zauważyć, że ten skrypt jest wolny od zabezpieczeń i jeżeli folder do którego wysyłamy pliki jest dostępny z przeglądarki potencjalny włamywacz może wysłac niebezpieczny skrypt *.php i go wykonać. Najlepszym rozwiązaniem jest utworzyć folder poza drzewem katalogów i w nim trymac uploadowane pliki.
[b]poprawiona wersja kodu:[/b]
[img]http://compzone.org/images/numbers/2.png[/img] <?php
[img]http://compzone.org/images/numbers/3.png[/img] $rot = $_SERVER['DOCUMENT_ROOT'];
[img]http://compzone.org/images/numbers/4.png[/img]
[img]http://compzone.org/images/numbers/5.png[/img] move_uploaded_file($_FILES['plik']['tmp_name'], "$rot/../wyslane/".$_FILES['plik']['name']);
[img]http://compzone.org/images/numbers/6.png[/img] ?>
[b]poprawiona wersja kodu:[/b]
[img]http://compzone.org/images/numbers/2.png[/img] <?php
[img]http://compzone.org/images/numbers/3.png[/img] $rot = $_SERVER['DOCUMENT_ROOT'];
[img]http://compzone.org/images/numbers/4.png[/img]
[img]http://compzone.org/images/numbers/5.png[/img] move_uploaded_file($_FILES['plik']['tmp_name'], "$rot/../wyslane/".$_FILES['plik']['name']);
[img]http://compzone.org/images/numbers/6.png[/img] ?>
- czy to zabezpiecza wystarczająco przed włamem? Ktoś może wgrać plik .php...
Czy mój wcześniejszy kod jest dobrze zabezpieczony? Proszę o odopwiedź.