Остановка мошеннического сценария PHP, отправляющего электронную почту - PullRequest
1 голос
/ 04 марта 2012

Пожалуйста, не смейтесь надо мной, но я считаю, что я сделал что-то чрезвычайно глупое. Я работал над созданием бюллетеня для сайта, над которым я работаю, но сначала я попробовал его, когда произошла опечатка. При сканировании всей базы данных и отправке электронных писем я облажался с той частью, которая останавливает ее. Я исправил код, но электронные письма все еще отправляются (моей маме: O), и они, похоже, не останавливаются.

Это скрипт, когда я его выполнил:

$message = $_POST['emailmessage'];
$subject = $_POST['subject'];
$query = mysql_query("SELECT `email` FROM `members` WHERE `active`='1'");
//This line underneath should not be there
$rows = mysql_fetch_assoc($query);
$headers = array(
    "From: contact@thestopitcampaign.com",
    "Content-Type: text/html"
);
//should be '$rows = mysql_fetch_assoc($query)' instead of '$rows'
while($rows)
{
    mail($rows['email'],$subject,$message,implode("\r\n",$headers));
    echo "<p>Sent to: " . $rows['email'] . "</p>";
}

Я связался с FatCow, чтобы узнать, смогут ли они остановить сценарий, но они сказали, что не могут этого сделать, и им придется удалить всю мою учетную запись и поместить меня на другой сервер. Я не могу сделать это. Есть ли способ генерировать ошибку или что-то, что остановит мошеннический скрипт? К вашему сведению, у меня нет доступа по SSH.

- Я посмотрел в своем файле конфигурации php, и время ожидания для скрипта составляет 300 секунд. Похоже, много писем для отправки. Есть ли способ остановить эти письма?

Ответы [ 2 ]

1 голос
/ 04 марта 2012

Я предполагаю, что электронные письма просто помещаются в очередь и должны в конечном итоге остановиться, так как скрипт php не будет продолжать работать после того, как страница перестанет загружаться.

Я бы посоветовал вам использовать поставщика новостной рассылки, например mailchimp , поскольку они более надежны, безопасны и легко интегрируются в ваш сайт.

Надеемсяэто помогает!

1 голос
/ 04 марта 2012

То, что было отправлено, больше не может быть остановлено. Но он не будет работать вечно и, вероятно, уже остановился.

Если сервер не слишком неправильно настроен провайдером, ваш сценарий не выполнялся дольше определенного времени, например 60 секунд Даже если сообщения продолжают поступать, возможно, он больше не работает, но почтовый сервер не торопится обрабатывать все созданные сообщения.

Я бы подождал и увидел - наводнение, скорее всего, скоро закончится.

То, что провайдер говорит о переносе учетной записи на другой сервер, кажется, не имеет никакого смысла вообще - если существует мошеннический процесс, который отправляет электронную почту, он должен иметь возможность легко ее убить. Но все равно ... я бы подождал.

...