Net Форумы

 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Генеральный спонсор: www.Net.Ru - серьезный, профессиональный хостинг.

Можно ли взломать скрипт?

 
Начать новую тему   Ответить на тему    Список форумов Net Форумы -> PHP скриптинг
Предыдущая тема :: Следующая тема  
Автор Сообщение
drhellp
Member


Зарегистрирован: 03.12.2005
Сообщения: 7

СообщениеДобавлено: 12.03.2006 22:45    Заголовок сообщения: Можно ли взломать скрипт? Ответить с цитатой

Меня интересует, можно ли через этот скрипт:
Код:

<?
   // Переменные
   // e-mail на который отправляем почту
   $email = "mail@box.ru";
   // тема письма
   $subject = "Контакты";

    $name = isset($_POST['name']) ? htmlspecialchars($_POST['name']) : '';
    $mail = isset($_POST['mail']) ? htmlspecialchars($_POST['mail']) : '';
    $text = isset($_POST['text']) ? htmlspecialchars($_POST['text']) : '';

    if (isset($_POST['name'], $_POST['mail'], $_POST['text'])) {
      if ($_POST['name'] == '' || $_POST['mail'] == '' || $_POST['text'] == '')
     {
        echo 'Заполните все поля!<br>';
     }
     elseif (!eregi("^([_a-z0-9-]+)(\.[_a-z0-9-]+)*@([a-z0-9-]+)(\.[a-z0-9-]+)*(\.[a-z]{2,4})$", $_POST['mail']))
      {
        echo 'Укажите правильный e-mail!<br>';
      }
     else
     {
      $msg = "Письмо от: ".$name." [ ".$mail." ]<br>";
      $msg .= $text;
      
      $mailheaders="From: ".$name."<".$mail.">\r\n";
      $mailheaders.= "MIME-Version: 1.0\r\n";
      $mailheaders .= "Content-Type: text/html; charset=koi8-r\r\n";
      $mailheaders.= "Content-Transfer-Encoding: 8bit\r\n";
      $mailheaders .= "X-Mailer: drMailer 1.0\r\n";
      $mailheaders .= "Reply-To: ".$mail."\r\n";
      
      $email=convert_cyr_string($email,"w","k");
      $subject=convert_cyr_string($subject,"w","k");
      $msg=convert_cyr_string($msg,"w","k");
      $mailheaders=convert_cyr_string($mailheaders,"w","k");

      mail($email, $subject, $msg, $mailheaders);
       echo 'Спасибо за сообщение!<br>';
      }
      echo '<hr>';
    }
?>
   <form method="post" action="<?=$_SERVER['PHP_SELF']?>">
   <p><b>В</b>аше имя:</p>
   <p><input type="text" name="name" size="35" value="<?=$name?>"></p>
   <p><b>В</b>аш email:</p>
   <p><input type="text" name="mail" size="35" value="<?=$mail?>"></p>
   <p><b>Т</b>екст письма:</p>
   <p><textarea rows="10" cols="30" name="text" value="<?=$text?>"></textarea></p>
   <p><input type="submit" value="OK"></p>
   </form>

и форму отсылать спам и какие в нем проблемы с безопастностью?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
vlm
Guest


Зарегистрирован: 30.05.2006
Сообщения: 1
Откуда: web

СообщениеДобавлено: 30.05.2006 06:49    Заголовок сообщения: Ответить с цитатой

Скрипт давольно таки правильный - все переменные проверяются.
В принципе он может быть использован для автоматического захломления письмами, т.к. не проверяется условие получения данных с формы, но большого смысла в этом нет - получатель всегда один и тотже.
Серьезных уязвимостей я не обнаружил кроме
Код:
<form method="post" action="<?=$_SERVER['PHP_SELF']?>">
но и это не столь серьезно. Просто не рекомендуется так поступать, потому что таким образом можно внедрить потенциально опасный код через строку браузера. В вашем случае это тоже не критично
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Net Форумы -> PHP скриптинг Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB
Русская поддержка phpBB