ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Аплоад файла + запись в лог
  #1  
Старый 23.04.2009, 08:32
Аватар для .::BARS::.
.::BARS::.
Постоянный
Регистрация: 13.10.2007
Сообщений: 347
Провел на форуме:
1345617

Репутация: 115
По умолчанию Аплоад файла + запись в лог

Привет всем... вот такой вопрос...
Нужно сделать 2 формы загрузки файла
1 по http
2 с локального компа
-----
По время загрузки файл меняет имя на то что указываю я.... + в файл пишет имя файла...
Файл должен переименовываться, не трогая расшерение... + можно грузить только файл определенного формата...
кто может подсказать код?
 
Ответить с цитированием

  #2  
Старый 23.04.2009, 10:54
Аватар для Krist_ALL
Krist_ALL
Banned
Регистрация: 14.01.2009
Сообщений: 515
Провел на форуме:
1996429

Репутация: 468


Отправить сообщение для Krist_ALL с помощью ICQ
По умолчанию

А чтотут сложного?
<form action=..><input type=file><input type=submit></form> Поищи в поисковике маны на тему php + upload file

например вот статья про Upload http://www.phpclub.ru/detail/article/upload
а вот стетья про запись в файл http://www.kurepin.ru/php/files/

Последний раз редактировалось Krist_ALL; 23.04.2009 в 10:59..
 
Ответить с цитированием

  #3  
Старый 23.04.2009, 13:26
Аватар для OdaN
OdaN
Участник форума
Регистрация: 04.03.2006
Сообщений: 159
Провел на форуме:
473495

Репутация: 39
Отправить сообщение для OdaN с помощью ICQ
По умолчанию

PHP код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Загрузка файла на сервер</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
$do
=$_GET["do"];

switch (
$do) {
case 
"upload":
$uploaddir='upload/';
$userfile=$_FILES['userfile']['name'];
$ext=strrchr($userfile'.');

if (
$ext == '.zip') die ("Нельзя загружать файлы с расширением zip");
//if ($ext !== '.zip') die ("Можно загружать только файлы с расширением zip");

$newfilename=date("U")."$ext";

move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir $newfilename);

echo 
"Имя файла на сервере: $uploaddir$newfilename<br>
Тип файла:"
.$_FILES['userfile']['type'];

$log fopen("fileupload.log""a");
fwrite($log"$newfilename\n");

break;
default:
?>
<form method="POST" action="?do=upload" enctype=multipart/form-data>
<input type="file" name="userfile">
<input type="submit">
</form>
<? ?>
</body>
</html>

Последний раз редактировалось OdaN; 23.04.2009 в 13:34..
 
Ответить с цитированием

  #4  
Старый 23.04.2009, 13:40
Аватар для Twoster
Twoster
Reservists Of Antichat - Level 6
Регистрация: 20.08.2008
Сообщений: 328
Провел на форуме:
7144817

Репутация: 1503
По умолчанию

Цитата:
if ($ext == '.zip') die ("Нельзя загружать файлы с расширением zip");
А если шелл, то можно? =)
__________________

You may say I'm a dreamer
But I'm not the only one
 
Ответить с цитированием

  #5  
Старый 23.04.2009, 14:01
Аватар для OdaN
OdaN
Участник форума
Регистрация: 04.03.2006
Сообщений: 159
Провел на форуме:
473495

Репутация: 39
Отправить сообщение для OdaN с помощью ICQ
По умолчанию

Ну может это будет специальная форма по заливке шеллов =)
 
Ответить с цитированием

  #6  
Старый 23.04.2009, 14:08
Аватар для Twoster
Twoster
Reservists Of Antichat - Level 6
Регистрация: 20.08.2008
Сообщений: 328
Провел на форуме:
7144817

Репутация: 1503
По умолчанию

Цитата:
Сообщение от OdaN  
Ну может это будет специальная форма по заливке шеллов =)
Твой скрипт уязвим в нескольких местах.

Во-первых если уж такая пьянка, нужно исходить от обратного, проверять допустимые значения, а не недопустимые.

Во-вторых, всегда нужно проверять данные при записи в файл. У тебя они идут туда в необработаном виде.
__________________

You may say I'm a dreamer
But I'm not the only one
 
Ответить с цитированием

  #7  
Старый 23.04.2009, 14:14
Аватар для OdaN
OdaN
Участник форума
Регистрация: 04.03.2006
Сообщений: 159
Провел на форуме:
473495

Репутация: 39
Отправить сообщение для OdaN с помощью ICQ
По умолчанию

Ну во первых у меня там можно заменить
Код:
if ($ext == '.zip') die ("Нельзя загружать файлы с расширением zip");
на
Код:
if ($ext !== '.zip') die ("Можно загружать только файлы с расширением zip");
Во вторых это только пример скрипта, а не полноценно работающая версия. Если это необходимо, дописать пару условий типа
PHP код:
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir $newfilename)) {

echo 
"Имя файла на сервере: $uploaddir$newfilename<br> 
Тип файла:"
.$_FILES['userfile']['type']; 

$log fopen("fileupload.log""a"); 
if (
fwrite($log"$newfilename\n")) {
еcho "лог записан"
} else {
echo 
"ошибка записи в лог"; }
} else {
echo 
"ошибка загрузки"; } 
не составляет особого труда
 
Ответить с цитированием

  #8  
Старый 24.04.2009, 10:42
Аватар для .::BARS::.
.::BARS::.
Постоянный
Регистрация: 13.10.2007
Сообщений: 347
Провел на форуме:
1345617

Репутация: 115
По умолчанию

Спасиб...
как проверить вес файла?
 
Ответить с цитированием

  #9  
Старый 24.04.2009, 14:50
Аватар для Pernat1y
Pernat1y
Постоянный
Регистрация: 20.12.2007
Сообщений: 577
Провел на форуме:
1636674

Репутация: 171


По умолчанию

уже загруженного - так:
PHP код:
//Example #1 filesize() example
<?php
// outputs e.g.  somefile.txt: 1024 bytes
$filename 'somefile.txt';
echo 
$filename ': ' filesize($filename) . ' bytes';
?>
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Процесс создания программного обеспечения для распределенных вычислений (С++). c0n Difesa Авторские статьи 9 09.06.2009 16:33
Блокировка сегмента файла на запись (Windows) St0nX С/С++, C#, Delphi, .NET, Asm 2 19.03.2009 10:00
Немного о лог файлах и о зачистке следов _GaLs_ Чужие Статьи 7 02.11.2006 21:31
О взломе лог файлов Frok Чужие Статьи 5 07.03.2006 23:02



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ