Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 13 
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Member
Статус: Не в сети
Регистрация: 14.08.2004
Откуда: Москва
Пишу закачку файлов в каталог(запароленную), но для большей безопасности в форме не хочу писать action="up.php" хочу, чтобы было что то типа action="$pass+.php" вот только знаний не хватает, чтобы правильно оформить...
вот сами файлы:
1й - zakachka.php:
Код:
<html><body><form ENCTYPE="multipart/form-data" ACTION="up.php" method=POST>
Ваш пароль: <INPUT name="pass" TYPE="password">
<br>Закачать файл: <input name="zakachka" type="file">
<br><input type="submit" value="Закачать">
</form></body></html>



второй соответственно: up.php

Код:
<html><body><?php
if ($zakachka=="none")
{echo ("Вы забыли указать файл");}
elseif($pass !="up")
{ echo ("Ты кто? А ну канай отсюда!!!");}
elseif (copy($zakachka, "$zakachka_name"))
{echo("Файл $zakachka_name размером $zakachka_size байт успешно загружен на сайт.");}
else
{ echo("He удалось скопировать $zakachka_name");}
?></body></html>


Специально для vor-a:
Не ругайся за новую тему, в правилах написано:
Цитата:
Если вопрос проянили и возник новый - лучше перейти в соседнюю/создать новую ветку. Не делайте из ветки чат.



Партнер
 

Заблокирован
Заблокирован
Статус: Не в сети
Регистрация: 24.10.2004
Откуда: Конфиданциально
Что нужно сделать скрыть имя файла к торому идёт обращение или для каждого пользователя генерировать обращение к уникальному файлу?

_________________
Конфиданциально


 

Member
Статус: Не в сети
Регистрация: 14.08.2004
Откуда: Москва
Invision
нет, просто скрыть имя файла... но способом, который описал я... я его как то видел, но тогда ещё не собирался ничего учить, авот сейчас понадобилось... не подскажешь?


 

Заблокирован
Заблокирован
Статус: Не в сети
Регистрация: 24.10.2004
Откуда: Конфиданциально
Можно конечно написать ерунду и прописать в .htaccess ссылку на нужный файл, в случае возниконовения ошибки. Но тот кому надо будет узнать этот файл всё равно его узнает.

Добавлено спустя 1 минуту, 14 секунд:
По мойму смысла так шифроваться нет, потомучто это неэфективно.

_________________
Конфиданциально


 

Member
Статус: Не в сети
Регистрация: 14.08.2004
Откуда: Москва
Invision
почему? или можно как то получить доступ ко всем файлам сервака? ну чтобы тада глянуть и пароль и всё остальное...


 

Заблокирован
Заблокирован
Статус: Не в сети
Регистрация: 24.10.2004
Откуда: Конфиданциально
Потому что пользователя всё равно перекинет на скрываемый файл.

_________________
Конфиданциально


 

Member
Статус: Не в сети
Регистрация: 14.08.2004
Откуда: Москва
Invision
если поставить action=$pass+.php (ну типа того), то при неправильном пароле куда его кинет? явно не туда, куда ему надо


 

Вот что-то подобное, выбираешь файл, вводишь пароль и закачиваешь, в низу будет список уже закаченых (без пароля будет просто белый экран)

Код:
<form enctype="multipart/form-data" action="" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="2097152">
Send this file: <input name="userfile" type="file">
Password <input name="pass" type="password">
<input type="submit" value="Send File">
</form>

<?php
$up_name = './uploads/' . date('U') . '.zip';
$name = $_FILES['userfile']['name'];
$pass = $_POST['pass'];
if ($pass == 'Страшный Вася Пупкин' || $pass == 'Большие яйца')
{
   if (strpos($name, '.zip') == strlen($name)-4)
   {
      if (move_uploaded_file($_FILES['userfile']['tmp_name'], $up_name))
      {
         echo "File is valid, and was successfully uploaded.<br> <a href=" . $up_name . ">Download</a>";
      }
      else
      {
         echo "Upload failed";
      }
   }
   else
   {
      echo "Only zip files supported!";
   }
   
   $dirct = './uploads/';
   $hdl = opendir($dirct);
   $files = array();

   while ($row = readdir($hdl))
   {
      if ($row != '.' && $row != '..')
      {
         $files[] = $row;
      }
   }
   closedir($hdl);

   foreach ($files as $print)
   {
      echo "<a href = $dirct/$print>$print</a><br/>";
   }
}
?>


 

Member
Статус: Не в сети
Регистрация: 14.08.2004
Откуда: Москва
ALERT
не пашет... какой бы пароль не вводить, всё равно ничего не выдаёт!


 

Код:
if ($pass == 'Страшный Вася Пупкин' || $pass == 'Большие яйца')

Пароли дослжны быть английскими буквами
Код:
if ($pass == 'fuck' || $pass == 'shit')


 

Заблокирован
Заблокирован
Статус: Не в сети
Регистрация: 24.10.2004
Откуда: Конфиданциально
ALERT в php даже можно переменные на русском языке называть, а не то, что сравнить какие-то там строки.

_________________
Конфиданциально


 

Member
Статус: Не в сети
Регистрация: 14.08.2004
Откуда: Москва
Invision
почему же тогда не пашет код ALERT-a?


 

Заблокирован
Заблокирован
Статус: Не в сети
Регистрация: 24.10.2004
Откуда: Конфиданциально
Да потомучто чтобы пхп коду передать пароль надо указать поле action :) Или передавать пароль не через форму, а через адресную строку.


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 13 
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan