Ъплолд въпрос

fena

Super Moderator
Имам една идея...и искам да я реализирам. Имам няколко познати във локалната мрежа, и понеже знаят че имам сървърче искат все да им слагам някакви мп3-ки, картинки и да им давам линкове...само че на мен ми писна всеки ден да го правя, та искам да направя следното: Сайт през който да се регистрират, и да качват в папка(за всеки отделна) нещата който искат, и разбирасе папката да има лимит от 500Мб да кажим...Може ли да стане, най ме притеснява самото ограничение на простраснството и качването, само ако може да не е през фтп...ако може през web както е хит.бг примерно?

Някой да има идея как ще стане
 
нагласих го-стана....обачее имам проблем с phpmyadmin и не ми се иска регистрациите да се отичат в база данни а в някакъв файл и да може да се ъплолдва, всеки във папка(спред ника с който се е регнал) иначе сега работи - http://87.118.176.69/upload.php
 
аа тукощо пробвах да кача мп3-ка и ми даде грешка change permission to 755 failed.

как да го оправя? със картинките проблем нямам, но....
 
Виж в скрипта какви разширения може да се качват.
Има ли такова нещо?
 
бтв .. сложи това на тоя upload.php
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
че иначе..
Качи фаил
До сега потребителите ни са качили следните файлове:
:)
но .. какви регистраций ? имаш скрип за регистрация ли ?нещо неразбрах...
 
нямам скрипт за регистрации

понеже съм със линукс използвам

Код:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">


друг въпрос е също, тия 99999999 за големината в каква еднинца са МБ, Кб, б?

в самият скрипт немога да намеря каде са зададени разширенията на файловете, щото рар ми го разчита като скрипт и немога да го кача...
 
използвах онзи от на муте темата и само му промених директорите

Код:
<?php
@session_start();
$site_name = $_SERVER['HTTP_HOST'];
$url_dir = "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']);
$url_this =  "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];

$upload_dir = "upload/";
$upload_url = $url_dir."/upload/";
$message ="";

/************************************************************
 *     Create Upload Directory
 ************************************************************/
if (!is_dir("upload")) {
  if (!mkdir($upload_dir))
     die ("upload_files directory doesn't exist and creation failed");
  if (!chmod($upload_dir,0755))
     die ("change permission to 755 failed.");
}

/************************************************************
 *     Process User's Request
 ************************************************************/
 
if ($_REQUEST[del])  {   
print "<script>window.location.href='$url_this?message=deleted successfully'</script>";
}
else if ($_FILES['userfile']) {
  $message = do_upload($upload_dir, $upload_url);
  print "<script>window.location.href='$url_this?message=$message'</script>";
}
else if (!$_FILES['userfile']);
else
   $message = "Invalid File Specified.";

/************************************************************
 *     List Files
 ************************************************************/
$handle=opendir($upload_dir);
$filelist = "";
while ($file = readdir($handle)) {
   if(!is_dir($file) && !is_link($file)) {
      $filelist .= "<br><a href='$upload_dir$file' target=_blank>".$file."</a>";

   }
}

function do_upload($upload_dir, $upload_url) {

   $temp_name = $_FILES['userfile']['tmp_name'];
   $file_name = $_FILES['userfile']['name'];
   $file_type = $_FILES['userfile']['type'];
   $file_size = $_FILES['userfile']['size'];
   $result    = $_FILES['userfile']['error'];
   $file_url  = $upload_url.$file_name;
   $file_path = $upload_dir.$file_name;

   //File Name Check
    if ( $file_name =="") {
       $message = "Invalid File Name Specified";
       return $message;
    }
    //File Size Check
    else if ( $file_size > 999999999) {
       print $file_size;
        $message = "Размера на файла е много голям.";
        return $message;
    }
    //File Type Check
    else if ( $file_type == "text/plain"
         || $file_type == "application/force-download"
         || $file_type == "application/octet-stream") {
        $message = "Sorry, You cannot upload any script file" ;
        return $message;
    }

    $result  =  move_uploaded_file($temp_name, $file_path);
    if (!chmod($file_path,0755))
        $message = "change permission to 755 failed.";
    else
      $message = ($result)?"$file_name($file_type) uploaded successfully." :
                "Somthing is wrong with uploading a file.";

    return $message;
}

?>
<table  style="width: 40%" align="center" valign="top"><tr><td  align="center">
<img src="booo.gif"/></td></tr>
  <tr>
    <td><br>
<div align="center" style="font-size: 19px; font-weight: bold">
</table>
<body bgcolor="#667987"><center>
   <font color=red><?=$_REQUEST[message]?></font>
   <br>
   <form name="upload" id="upload" ENCTYPE="multipart/form-data" method="post">
     Качи фаил: <input type="file" id="userfile" name="userfile">
     <input type="submit" name="upload" value="Upload">
   </form>
   
   <br>
   <br><b>До сега потребителите ни са качили следните файлове:</b>
   <hr style="color:yellow; background-color:black; height:1px;
  margin-right:0; text-align:right; border:0px">
   <?=$filelist?>
</center>

<?
if ($_REQUEST[debug]==1) print "------------------Debugging Info----------------<br>";
if ($_REQUEST[debug]==1) print "site=$site_name<br>dir=$url_dir<br>url=$url_this<br>";
if ($_REQUEST[debug]==1) print "upload dir=$upload_dir<br>upload url=$upload_url<br>";
?>
 
значи ето тук проверява
Код:
 else if ( $file_type == "text/plain"
|| $file_type == "application/force-download"
|| $file_type == "application/octet-stream") {
$message = "Sorry, You cannot upload any script file" ;
return $message;
}

просто незнам тия application и другото какво значат :)
 
Точно тава значат.
Че не може да се качват файлове от такъв тип.
Това е с цел защита за да не може да се качат файлове изпълними на сървъра.

Може да ги махнеш и да сложиш един .haccess файл който да те защитава.

Това цялото дето го е постнал го махни и пак пробвай.
Съмнявам се че точно сега някойще ти атакува сървъра.
 
е то е ясно , че те спират , но може ли да обясниш какви са видовете в смисъл както е на апликатион force-download и octet-stream за текст също , а сигурно има и други ?
 
admin каза:
Точно тава значат.
Че не може да се качват файлове от такъв тип.
Това е с цел защита за да не може да се качат файлове изпълними на сървъра.

Може да ги махнеш и да сложиш един .haccess файл който да те защитава.

Това цялото дето го е постнал го махни и пак пробвай.
Съмнявам се че точно сега някойще ти атакува сървъра.

аз смятам че това е за луиндолс, защото в линукс един файл(вирус) неможе сам да се изпълни, защото трябват руут права :wink:
ей сега ще го махна


Едит: Готово вече става, но сега ако ми кажеш и за големината в какви единици е(Мб,Кб,Б) ?
 
искам само да се забрани качването на ехе и bat файлове. как ще стане?
 
Ще трябва да забраниш и php файлове но ще видя къде беше кода за upload .

Cracking имаше този код но нещо се загуби.

А аз сега не мога да го напиша.
По късно.
 
искам да могат да се качват само картинки(jpg, gif,jpeg) чакам предложения/решения :)
 

Горе