- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
if ($_FILES['upfile']['size'] > 0) {
$fname = $_FILES['upfile']['name'];
$fcat = $_POST['category'];
$ext = explode(".", $fname);
if ($ext[1] == 'txt') {
if (!file_exists("$fcat/$fname")) {
if ((move_uploaded_file($_FILES['upfile']['tmp_name'], "$fcat/$fname"))) {
chmod("$fcat/$fname", 0777);
echo 'Текстовой файл успешно загружен! <br />';
echo '<a href="index.php?file=' . $fname . '&kat=' . $fcat . '&view=2">Посмотреть</a>';
} else {
echo 'Ошибка прикрепления файла<br />';
echo '<a href="index.php?kat=' . $fcat . '&view=1">Назад</a>';
}
} else {
echo 'Такой файл уже существует<br />';
echo '<a href="index.php?kat=' . $fcat . '&view=1">Назад</a>';
}
} else {
echo 'Для загрузки доступны лишь файлы, с расширением .txt<br />';
echo '<a href="index.php?kat=' . $fcat . '&view=1">Назад</a>';
}
} else {
echo 'Недопустимый размер файла<br />';
echo '<a href="index.php?kat=' . $fcat . '&view=1">Назад</a>';
}
А код говно. Достаточно закачать файл с именем megahack.txt.php и увидите, что будет.
Встречал 2 хостинга, где оное было отключено.
PS: очень умилило продублированная аж 4 раза ссылка назад -
Я так определяю расширение. А вообще, мне интересен вопрос, как определить, что перед нами именно текстовый файл?
ЗЫ хз где это слово привязалось хы
Почти как диалап. :))
Такой вот нофелет.
Обратное не верно :)
О_О
а я так
pathinfo($fname, PATHINFO_EXTENSION);
прикольно, будем знать ))
с флагом PATHINFO_EXTENSION возвращает строку
$ext = $ext[count($ext)-1]; =)