Upload файлов, безопасность

Печать RSS
206


ツ ツ ツ
0
CHUMA (4 Августа 2010 / 17:11)
А вдруг злоумышленник сможет загрузить файл не в нужное мне место и будет иметь доступ к нему напрямую ну или там еще как нибудь.
Каким образом? говорю же сохраняешь файлы с не реальным именем к примеру $fileName = time().'.up'; а реальное имя в базе храни, вот и всё.

ツ ツ ツ
0
Да и 2 перечисленных способа абсолютно безопасны, только в первом фильтруй имя и пускай только определенный круг файлов
Изменил: Lugaro (04.08.2010 / 18:56)
С

Малиновые штаны
0
CHUMA (4 Августа 2010 / 18:11)
Ну если честно быстрее перечислить те файлы, которые ненужны, чем те которые нужны.
А вдруг злоумышленник сможет загрузить файл не в нужное мне место и будет иметь доступ к нему напрямую ну или там еще как нибудь. Эхх. Жаль что нет функции которая бы определяла мим тип по его содержимому а не по расширению.
все запретные расширения не запишесь. Легко что-то упустить. Напр .php5 или .php6 или еще ченить. Дело то твое,но подумай хорошенько.

Чатланин
0
Лови код на .htaccess
<Files ~ ".(php|html|shtml|wmls|php3|php4|pl)$">
Order allow,deny
Deny from all
</Files>

php_flag engine off

Чатланин
0
Да и так можно
$file_name = unitime().'.up';

Чатланин
0
Ыы вот маленкий код для тебя))

<?php
$newdown=$_FILES['file']['name']; //имя

$chk = strtolower(substr($newdown, 1   strrpos($newdown, ".")));
$chk2 = array("jpg", "gif", "png", "mp3", "3gp", "jar", "mp4", "zip", "jpeg", "sis", "sisx", "bmp", "txt", "nth");
if (!in_array($chk, $chk2)) {
echo '<div align="center" class="a">';
echo 'ПАШШОЛ НАХ!<br/>РАЗРЕШАЕТСЯ: <font color="#FF0000">jpg, jpeg, gif, bmp, png, mp3, mp4, 3gp, zip, jar, sis, sisx, nth </font> ФОРМАТы !!</div>';
echo '<br/><a href="ТВОЙСКРИПТ.php">ПОВТОР НАХ</a><br>';
exit;}
?>
Изменил: Мансур (04.08.2010 / 19:48)
С

Малиновые штаны
0
$chk = strtolower(substr($newdown, 1 strrpos($newdown, ".")));
что это за велисапед?
Юзай pathinfo()

Чатланин
0
17. sanzstez, ето проверка для расширение. Ну что делать я только такие вариантов знаю)) 3Ы. Ты же кодер все знаеш а я совсем не знаю про пазинфо()
Автор
Пацак
0
15. Джармен Келл, большое спасибо. Ну я чтото наподобии уже сделал, только не как у тебя реализовал поиск по расширениям. Твой вариант больше нравится.
Автор
Пацак
0
.::lugaro::. (4 Августа 2010 / 18:49)
сохраняешь файлы с не реальным именем к примеру $fileName = time().'.up'; а реальное имя в базе храни, вот и всё.
Это не подойдет. Мне чем проще тем лучше. Это же WAP-ENGINE. Плюс на файлах. Плюс загруз центр уже нормально отлажен. Переделывать не хочется. Поэтому думаю по расширению проверку сделаю и по $_FILES['file']['type']

А насколько это точная информация, что можно подменить мим тип? Можете как то показать на практике?
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск