LINUX.ORG.RU

Что-то странное происходит.

r2d2
()

Найдена закономерность:

Файл очищается после нагрузки сервера допустим HOICом.

saiko-shi
() автор топика
Ответ на: комментарий от AITap
mephisto@mephisto-desktop:~$ inotifywatch /var/www/files.txt
Establishing watches...
Finished establishing watches, now collecting statistics.
^Ctotal  access  modify  close_write  close_nowrite  open  filename
782    89      141     92           184            276   /var/www/files.txt
mephisto@mephisto-desktop:~$
saiko-shi
() автор топика
Ответ на: комментарий от r2d2

В этом файле находится список загруженных файлов в папку storage, допустим. Скрипт я проверил, ничего его не очищает, вроде.

saiko-shi
() автор топика
Ответ на: комментарий от AITap
/var/www/files.txt OPEN 
/var/www/files.txt ACCESS 
/var/www/files.txt CLOSE_NOWRITE,CLOSE 
/var/www/files.txt MODIFY 
/var/www/files.txt OPEN 
/var/www/files.txt MODIFY 
/var/www/files.txt MODIFY 
/var/www/files.txt CLOSE_WRITE,CLOSE 
/var/www/files.txt OPEN 
/var/www/files.txt ACCESS 
/var/www/files.txt CLOSE_NOWRITE,CLOSE 
/var/www/files.txt OPEN 
/var/www/files.txt ACCESS 
/var/www/files.txt CLOSE_NOWRITE,CLOSE 
/var/www/files.txt MODIFY 
/var/www/files.txt OPEN 
/var/www/files.txt MODIFY 
/var/www/files.txt OPEN 
/var/www/files.txt MODIFY 
/var/www/files.txt CLOSE_WRITE,CLOSE 
/var/www/files.txt OPEN 
/var/www/files.txt ACCESS 
/var/www/files.txt CLOSE_NOWRITE,CLOSE 
/var/www/files.txt OPEN 
/var/www/files.txt ACCESS 
/var/www/files.txt CLOSE_NOWRITE,CLOSE 
/var/www/files.txt OPEN 
/var/www/files.txt MODIFY 
/var/www/files.txt OPEN 
/var/www/files.txt MODIFY 
/var/www/files.txt MODIFY 
/var/www/files.txt MODIFY 
/var/www/files.txt MODIFY 
/var/www/files.txt CLOSE_WRITE,CLOSE 
/var/www/files.txt OPEN 
/var/www/files.txt ACCESS 
/var/www/files.txt CLOSE_NOWRITE,CLOSE 
/var/www/files.txt ACCESS 
/var/www/files.txt CLOSE_NOWRITE,CLOSE 
/var/www/files.txt MODIFY 
/var/www/files.txt OPEN 
/var/www/files.txt MODIFY 
/var/www/files.txt CLOSE_WRITE,CLOSE 
/var/www/files.txt OPEN 
/var/www/files.txt ACCESS 
/var/www/files.txt CLOSE_NOWRITE,CLOSE 
/var/www/files.txt OPEN 
/var/www/files.txt ACCESS 
/var/www/files.txt CLOSE_NOWRITE,CLOSE 
/var/www/files.txt MODIFY 
/var/www/files.txt OPEN 
/var/www/files.txt MODIFY 
/var/www/files.txt CLOSE_WRITE,CLOSE 
/var/www/files.txt OPEN 
/var/www/files.txt ACCESS 
/var/www/files.txt CLOSE_NOWRITE,CLOSE 
/var/www/files.txt OPEN 
/var/www/files.txt ACCESS 
/var/www/files.txt CLOSE_NOWRITE,CLOSE 
/var/www/files.txt MODIFY 
/var/www/files.txt OPEN 
/var/www/files.txt MODIFY 
/var/www/files.txt CLOSE_WRITE,CLOSE 
/var/www/files.txt OPEN 
/var/www/files.txt ACCESS 
/var/www/files.txt CLOSE_NOWRITE,CLOSE 
/var/www/files.txt OPEN 
/var/www/files.txt ACCESS 
/var/www/files.txt CLOSE_NOWRITE,CLOSE 
/var/www/files.txt MODIFY 
/var/www/files.txt OPEN 
/var/www/files.txt MODIFY 
/var/www/files.txt CLOSE_WRITE,CLOSE 
/var/www/files.txt OPEN 
/var/www/files.txt ACCESS 
/var/www/files.txt CLOSE_NOWRITE,CLOSE 
/var/www/files.txt OPEN 
/var/www/files.txt ACCESS 
/var/www/files.txt CLOSE_NOWRITE,CLOSE 
/var/www/files.txt MODIFY 
/var/www/files.txt OPEN 
/var/www/files.txt MODIFY 
/var/www/files.txt CLOSE_WRITE,CLOSE 
/var/www/files.txt OPEN 
/var/www/files.txt ACCESS 
/var/www/files.txt CLOSE_NOWRITE,CLOSE 
/var/www/files.txt OPEN 
/var/www/files.txt ACCESS 
/var/www/files.txt CLOSE_NOWRITE,CLOSE 
/var/www/files.txt MODIFY 
/var/www/files.txt OPEN 
/var/www/files.txt MODIFY 
/var/www/files.txt CLOSE_WRITE,CLOSE 
/var/www/files.txt OPEN 
/var/www/files.txt ACCESS 
/var/www/files.txt CLOSE_NOWRITE,CLOSE 
/var/www/files.txt OPEN 
/var/www/files.txt ACCESS 
/var/www/files.txt CLOSE_NOWRITE,CLOSE 
/var/www/files.txt MODIFY 
/var/www/files.txt OPEN 
/var/www/files.txt MODIFY 
/var/www/files.txt MODIFY 
/var/www/files.txt MODIFY 
/var/www/files.txt CLOSE_WRITE,CLOSE 
/var/www/files.txt OPEN 
/var/www/files.txt ACCESS 
/var/www/files.txt CLOSE_NOWRITE,CLOSE 
/var/www/files.txt OPEN 
/var/www/files.txt ACCESS 
/var/www/files.txt CLOSE_NOWRITE,CLOSE 
/var/www/files.txt MODIFY 
/var/www/files.txt OPEN 
/var/www/files.txt MODIFY 
/var/www/files.txt CLOSE_WRITE,CLOSE 
/var/www/files.txt OPEN 
/var/www/files.txt ACCESS 
/var/www/files.txt CLOSE_NOWRITE,CLOSE 
/var/www/files.txt OPEN 
/var/www/files.txt ACCESS 
/var/www/files.txt CLOSE_NOWRITE,CLOSE 
/var/www/files.txt MODIFY 
/var/www/files.txt OPEN 
/var/www/files.txt MODIFY 
/var/www/files.txt ACCESS 
/var/www/files.txt CLOSE_NOWRITE,CLOSE 
/var/www/files.txt MODIFY 
/var/www/files.txt MODIFY 
/var/www/files.txt CLOSE_WRITE,CLOSE 
/var/www/files.txt OPEN 
/var/www/files.txt ACCESS 

Вот отрывок, дальше все примерно такое же.

saiko-shi
() автор топика
Ответ на: комментарий от saiko-shi

В этом файле находится список загруженных файлов в папку storage, допустим. Скрипт я проверил, ничего его не очищает, вроде.

может быть, в скрипте для записи в файл где-то использован «>» вместо «>>», из-за чего запись идёт не в конец, а в начало?

xapienz
()
Ответ на: комментарий от xapienz
<?php
include("./config.php");
include("./header.php");

$filename = $_FILES['upfile']['name'];
$filesize = $_FILES['upfile']['size'];
$filecrc = md5_file($_FILES['upfile']['tmp_name']);

$bans=file("./bans.txt");
foreach($bans as $line)
{
  if ($line==$filecrc."\n"){
    echo "Этот файл не пригоден для загрузки.";
    include("./footer.php");
    die();
  }
  if ($line==$_SERVER['REMOTE_ADDR']."\n"){
    echo "Вы не можете загружать файлы.";
    include("./footer.php");
    die();
  }
}

$checkfiles=file("./files.txt");
foreach($checkfiles as $line)
{
  $thisline = explode('|', $line);
  if ($thisline[0]==$filecrc){
    echo "<center>Файл был загружен.<br />";
    echo "Ссылка на файл: <a href=\"" . $scripturl . "download.php?file=" . $filecrc . "\">". $scripturl . "download.php?file=" . $filecrc . "</a><br />";
    echo "Этот файл уже был загружен, поэтому мы предоставим уже имеющуюся ссылку. </center>";
    include("./footer.php");
    die();
  }
}

if(isset($allowedtypes)){
$allowed = 0;
foreach($allowedtypes as $ext) {
  if(substr($filename, (0 - (strlen($ext)+1) )) == ".".$ext)
    $allowed = 1;
}
if($allowed==0) {
   echo "Этот тип файла не пригоден для загрузки.";
   include("./footer.php");
   die();
}
}

if(isset($categorylist)){
$validcat = 0;
foreach($categories as $cat) {
  if($_POST['category']==$cat || $_POST['category'] = ""){ $validcat = 1; }
}
if($validcat==0) {
   echo "Неправильная категория была выбрана...";
   include("./footer.php");
   die();
}
$cat = $_POST['category'];
} else { $cat = ""; }

if($filesize==0) {
echo "Вы не выбрали файл для загрузки.";
include("./footer.php");
die();
}

$filesize = $filesize / 1048576;

if($filesize > $maxfilesize) {
echo "Ваш файл слишком большой.";
include("./footer.php");
die();
}

$userip = $_SERVER['REMOTE_ADDR'];
$time = time();

if($filesize > $nolimitsize) {

$uploaders = fopen("./uploaders.txt","r+");
flock($uploaders,2);
while (!feof($uploaders)) { 
$user[] = chop(fgets($uploaders,65536));
}
fseek($uploaders,0,SEEK_SET);
ftruncate($uploaders,0);
foreach ($user as $line) {
@list($savedip,$savedtime) = explode("|",$line);
if ($savedip == $userip) {
if ($time < $savedtime + ($uploadtimelimit*60)) {
echo "Вы слишком часто пытаетесь загрузить файл.";
include("./footer.php");
die();
}
}
if ($time < $savedtime + ($uploadtimelimit*60)) {
  fputs($uploaders,"$savedip|$savedtime\n");
}
}
fputs($uploaders,"$userip|$time\n");

}

$passkey = rand(100000, 999999);

if($emailoption && isset($_POST['myemail']) && $_POST['myemail']!="") {
$uploadmsg = "Ваш файл (".$filename.") был загружен.\n Ваша ссылка на скачивание: ". $scripturl . "download.php?file=" . $filecrc . "\n Ваша ссылка на удаление: ". $scripturl . "download.php?file=" . $filecrc . "&del=" . $passkey . "\n Спасибо за использование нашего сервиса!";
mail($_POST['myemail'],"Ваш загруженый файл",$uploadmsg,"От: rafister@t-sk.ru\n");
}

if($passwordoption && isset($_POST['pprotect'])) {
  $passwerd = md5($_POST['pprotect']);
} else { $passwerd = md5(""); }

if($descriptionoption && isset($_POST['descr'])) {
  $description = strip_tags($_POST['descr']);
} else { $description = ""; }

$filelist = fopen("./files.txt","a+");
fwrite($filelist, $filecrc ."|". basename($_FILES['upfile']['name']) ."|". $passkey ."|". $userip ."|". $time."|0|".$description."|".$passwerd."|".$cat."|\n");

$movefile = "./storage/" . $filecrc;
move_uploaded_file($_FILES['upfile']['tmp_name'], $movefile);

echo "<p>Ваш файл был загружен!<br />";
echo "Ваша ссылка на загрузку: <a href=\"" . $scripturl . "download.php?file=" . $filecrc . "\">". $scripturl . "download.php?file=" . $filecrc . "</a><br />";
echo "Ваша ссылка на удаление: <a href=\"" . $scripturl . "download.php?file=" . $filecrc . "&del=" . $passkey . "\">". $scripturl . "download.php?file=" . $filecrc . "&del=" . $passkey . "</a><br />";
echo "Пожалуйста, запомните эти ссылки.</p>";
include("./footer.php");
?>

Как-то так. «Очищение» происходит не при загрузке (там все нормально), а при нагрузке hoic-ом

saiko-shi
() автор топика
Ответ на: комментарий от anonymous

Все равно затирает, все «закрыл» что связано с чтением файла.

saiko-shi
() автор топика

это магия

сабж... без магии не обошлось

real_kas
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.