Просмотр файла Userfiles/mistakes/index.php

Размер файла: 11.86Kb
<?php
# Скрипт отправки сообщений об ошибке http://mistakes.ru/script/mistakes_dev 
# Версия 4.1
# 27.04.2015

########################################
##            Мод Domino              ##
##         https://laits.ru           ##
########################################
if (!isset($_SESSION)) { session_start(); }
$mail = "[email protected]"; //Ваш E-mail адрес
preg_match('#<email>(.+?)<\/email>#is',$mail,$emailadmina);
//Браузер b его версия
function user_browser($agent)
 {
  preg_match("/(Trident|MSIE|Opera|Firefox|Chrome|Version|Opera Mini|Netscape|Konqueror|SeaMonkey|Camino|Minefield|Iceweasel|K-Meleon|Maxthon|Iron|QupZilla|NokiaBrowser|Android)(?:\/| )([0-9.]+)/", $agent, $browser_info);
  list(,$browser,$version) = $browser_info;
  if (preg_match("/Opera ([0-9.]+)/i", $agent, $opera))
   {
    return 'Opera '.$opera[1];
   }
  if (preg_match("/(OPR)\/([0-9.]+)/", $agent, $opera))
   {
    return 'Opera '.$opera[2];
   }
  if (preg_match("/(Edge)\/([0-9.]+)/", $agent, $edge))
   {
    return 'Edge '.$edge[2];
   }
  if ($browser == 'MSIE')
   {
    preg_match("/(Maxthon|Avant Browser|MyIE2)/i", $agent, $ie);
    if ($ie)
     {
      return $ie[1].' based on IE '.$version;
     }
      else
       {
        return 'IE '.$version;
       }
   }
  if ($browser == 'Firefox')
   {
    preg_match("/(Flock|Navigator|Epiphany|Waterfox|PaleMoon|SeaMonkey)\/([0-9.]+)/", $agent, $ff);
    if ($ff)
     {
      return $ff[1].' '.$ff[2];
     }
   }
  if ($browser == 'Opera' && $version == '9.80')
   {
    return 'Opera '.substr($agent,-5);
   }
  if ($browser == 'Version')
   {
    return 'Safari '.$version;
   }
  if ($browser == 'Trident')
   {
    if (preg_match("/(rv:)(?:\/|)([0-9.]+)/", $agent, $ie))
     {
      return 'Internet Explorer '.$ie[2];
     }
      else
     {
      return 'Internet Explorer ';
     }
   }
  if (!$browser && strpos($agent, 'Gecko'))
   {
    return 'Браузер основан на Gecko';
   }
  elseif (!$browser)
   {
    if (!$agent)
     {
      return '<!--noindex--><a href="https://adguard.com" target="_blank" rel="nofollow">Adguard</a> :)<!--/noindex-->';
     }
      else
     {
      return $agent;
     }
   }
    else
   {
    return $browser.' '.$version;
   }
 }
?>
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8" />
<title>Отправить ошибку</title>
<style>
body {
margin: 23px 28px 0 28px;
font-size:14px;
font-family:Helvetica, Sans-serif, Arial;
line-height:2em;
}
form {margin: 0;}
.text {
font-weight: bold;
font-size:12px;
color:#777;
}
.copyright {
font-size:11px;
color:#777;
}
.mclose a{
font:bold 16px Verdana;
color:#7f7f7f;
position:absolute;
right:12px;
top:9px;
display:block;
text-decoration:none;
}
.mclose a:hover{
color: #000;
}
.m{
border: 1px solid silver;
padding: 3px;
width: 294px;
border-radius:4px;
font-size: 13px;
background-color: #fff;
}
.m strong{
color:red;
}
.center{
text-align: center;
}
</style>

<script> 
var p=top;
function readtxt()
 {
  if(p!=null)document.forms.mistake.url.value=p.loc
  if(p!=null)document.forms.mistake.mis.value=p.mis
 }
function hide()
 {
  var win=p.document.getElementById('mistake');
  win.parentNode.removeChild(win);
 }
</script>

<?php
############
if($_POST['submit'])
 {
 ?>
  <body onLoad="setInterval('SurfTimer()',1000);">
 <?php
  $mistaces_url = $_POST['url'];
  if (empty($mistaces_url) || $mistaces_url === undefined)
   {
    // если поле пустое, снова просим ввести адрес страницы
    exit('<div class="mclose">
          <a href="javascript:void(0)" onclick="hide()" title="Закрыть">&times;</a>
          </div>
          <div class="center"><br>
          <br>
          <br>
          <br>
          <b>Не введён адрес страницы с ошибкой!</b><br>
          <br>
          <br>
          <input onclick="hide()" type="button" value="Закрыть окно" id="close" name="close">
          </div>
          </body>
          </html>');
   }

  $mistaces = $_POST['mis'];
  if ((empty($mistaces) || $mistaces === 'Пожалуйста, опишите ошибку в комментарии.' || $mistaces === undefined) && empty($_POST['comment']))
   {
    // если поле пустое, снова просим выделить текст ошибки
    exit('<div class="mclose">
          <a href="javascript:void(0)" onclick="hide()" title="Закрыть">&times;</a>
          </div>
          <div class="center"><br>
          <br>
          <br>
          <br>
          <b>Вы не выделили текст с ошибкой и не описали ошибку!</b><br>
          <br>
          <br>
          <input onclick="hide()" type="button" value="Закрыть окно" id="close" name="close">
          </div>
          </body>
          </html>');
   }
  
  $Email = $_POST['Email'];
  if (!empty($Email) && !preg_match("#^[-a-zA-Z0-9_.]*@[-a-zA-Z0-9_.]*\.[a-zA-Z0-9]{2,4}$#", $Email))
   {
    // если e-mail не верен, снова просим ввести e-mail
    exit('<div class="mclose">
          <a href="javascript:void(0)" onclick="hide()" title="Закрыть">&times;</a>
          </div>
          <div class="center"><br>
          <br>
          <br>
          <br>
          <b>Ошибка не правильнай e_mail!</b><br>
          <br>
          <br>
          <input onclick="hide()" type="button" value="Закрыть окно" id="close" name="close">
          </div>
          </body>
          </html>');
   }  

  // anti flood protection
  $time_rand = mt_rand(17,45);
  if($_SESSION['last_session_request'] > time() - $time_rand) //Время антифлуда в секундах
   {
    sleep(mt_rand(3,17)); // Чтоб задолбать спамера, останавливает загрузку страницы
    echo '<div class="mclose">
          <a href="javascript:void(0)" onclick="hide()" title="Закрыть">&times;</a></div>
          <div class="center">
          <br>
          <br>
          <br>
          <br>
          <b>';
    ?>
    
    <script>
    var timesurf = <?php echo $time_rand;?>;
    function SurfTimer()
     {
      timesurf--;
      if(timesurf <= 0)
       {
        document.getElementById('siteview').innerHTML = 'Флуд закончен <a href="/Userfiles/mistakes/index.php" style="color: #777">отправить ошибку?</a>';
       }
        else
       {
        document.getElementById('siteview').innerHTML = 'Флуд!!! Вы слишком часто пишите сообщения.<br> Разрешено писать через: ' + timesurf + ' секунд.';
       }
     }
    </script>

    <div id="siteview"></div>
    
    <?php
    exit('</b>
          <br>
          <br>
          <br>
          <input onclick="hide()" type="button" value="Закрыть окно" id="close" name="close">
          </div>
          </body>
          </html>');
   }
  $_SESSION['last_session_request'] = time();  

///
   $from = "Admin@".htmlentities($_SERVER['SERVER_NAME'], ENT_QUOTES,'UTF-8')."";
   $title = 'Сообщение об ошибке на сайте '.htmlentities($_SERVER["HTTP_HOST"], ENT_QUOTES,'UTF-8').'';
   $title = '=?utf-8?b?'. base64_encode($title) .'?=';
   $headers = "MIME-Version: 1.0\r\n";
   $headers .= "Content-type: text/html; charset=utf-8" . "\r\n";
   $headers .= "From: ". $from ." <". $from ."> \r\n";
   $headers .= "Date: ". date('D, d M Y h:i:s O') ."\r\n"; 
///
   $ip = htmlentities($_SERVER['REMOTE_ADDR'], ENT_QUOTES,'UTF-8');
   $agent = user_browser(htmlentities($_SERVER['HTTP_USER_AGENT'], ENT_QUOTES,'UTF-8'));
   $date = date('d-m-Y');
   $time = date('H:i:s', time());
   $url = (trim($_POST['url']));
   $mis =  strip_tags(substr(trim($_POST['mis']), 0, 100000), '<b>');
   $comment =  substr(htmlentities(trim($_POST['comment']), ENT_QUOTES | ENT_HTML401 ,'UTF-8'), 0, 100000);
   $Email = substr(htmlentities(trim($_POST['Email']), ENT_QUOTES,'UTF-8'), 0, 30);
                       
   $message = "
               <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">
               <html>
               <head>
               <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">
               <title>Сообшение об ошибке на сайте ".htmlentities($_SERVER['SERVER_NAME'])."</title>
               </head>
               <body bgcolor=\"#f7e0d0\" text=\"#000000\" link=\"#FF0000\" vlink=\"#505050\" style=\"border: 4px double blue; padding: 10px;\">
               <h3 align=\"center\" style=\"color:red\">Сообшение об ошибке на сайте <font color=\"#008000\">".htmlentities($_SERVER['SERVER_NAME'])."</font> .</h3>
               Адрес страницы: <a href=\"".$url."\">".$url."</a><br><br>
               ".($mis === 'Пожалуйста, опишите ошибку в комментарии.'? '' : "Ошибка: <p style=\"border: 4px double blue; padding: 10px; background-color:#000000; color:#00ff00;\">".$mis."</p>")."
               ".(empty($comment)? '' : "Комментарий: $comment")."
               <hr>
               Информация об отправителе письма:                        
               <ul>
               <li>Ip: ".$ip."
               </li>
               <li>
               Браузер: ".$agent."
               </li>
               <li>
               Отправлено: ".$date."
               </li>
               <li>
               Время: ".$time."
               </li>
               ".(empty($Email)? '': "<li>E-mail для связи: $Email</li>")."
               </ul>
               ".$_POST["mess"]."
               ".($mis === 'Пожалуйста, опишите ошибку в комментарии.'? '' : "<font color=\"red\">*</font> Красным выделен текст с ошибкой.")."
               </body>
               </html>";
       
  mail($emailadmina[1], $title, $message, $headers);
  exit('<div class="mclose"><a href="javascript:void(0)" onclick="hide()" title="Закрыть">&times;</a></div><br><br><br><center>Спасибо!<br>Ваше сообщение отправлено.<br><br><br>
  <input onclick="hide()" type="button" value="Закрыть окно" id="close" name="close"><br><br><br>
  <a class="copyright" href="http://mistakes.ru/script/mistakes_dev" target="_blank" title="© Ошибки.ru">© Ошибки.ru</a><br>
  <a class="copyright" href="https://laits.ru" target="_blank" title="Мой сайт">™ Mod Domino</a></center>');
  session_write_close(); // закрываем сессию
 }  
?>

</head>
<body onload=readtxt()>
<div class="mclose">
<a href="javascript:void(0)" onclick="hide()" title="Закрыть">&times;</a></div>
<span class="text">
Адрес страницы :
</span>
<br> 
<form name="mistake" method="post">
<input class="m" type="text" name="url" size="35" readonly>
<span class="text">
Ошибка :
</span><br>

<div class="m" style="line-height:normal;height: 75px;width: 294px;">

<script type="text/JavaScript"> 
document.write(p.mis); 
</script>

</div>

<input type="hidden" name="mis">

<span class="text">
Комментарий :
</span><br> 
<textarea class="m" rows="5" name="comment" cols="30"></textarea><br>

<span class="text">
E-mail для связи :
</span><br>

<input type="email" class="m" name="Email" size="35">

<div style="margin-top: 7px">
<input type="submit" value="Отправить" name="submit">
<input onclick="hide()" type="button" value="Отмена" id="close" name="close"> 
</div>
</form> 

</body></html>