2014-10-18 2 views
1

У меня есть PHP скрипт, который периодически проверяет электронную почту от Google приложений электронной почты, он смотрит на который электронная почта от и выделяет это письмо на свой счет на нашей платформе:PHP IMAP «FROM» подлинности

$inbox = imap_open(gHost,gUser,gPass) or die('Cannot connect to Gmail: ' . imap_last_error()); 

$criteria ="ALL"; 
$emails = imap_search($inbox, $criteria); 

foreach($emails as $email_number) { //loop all emails 
$header = imap_headerinfo($inbox, $email_number); 
$from = $header->from[0]->mailbox . "@" . $header->from[0]->host; 
//sql script here to check against users table and allocate the email 
} 

Проблема в том, что любой может написать сценарий для отправки электронной почты на нашу платформу с ложным «от» и при условии, что электронное письмо является пользователем на нашей платформе, оно будет направлять электронное письмо тому пользователю, который открывает отверстие для безопасности. Мы уже протестировали это, и письмо успешно прошло. Как мы можем проверить, что от пользователя действительно отправлено от этого человека - возможно, это может быть оценка с использованием DKIM, spf и т. Д.

Любая идея, что является лучшим способом проверки подлинности?

ответ

0

Содержание поля электронной почты From настраивается.

Вы можете думать об этом как о поле, похожее на тему.
Я имею в виду, что кто-то с правильным знанием может что-то там положить.

С другой стороны, Gmail, как правило, имеет очень хорошие фильтры СПАМ, поэтому это не должно происходить очень часто.

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

+0

К сожалению, это действительно не помогает - должен быть хороший способ проверить подлинность подлинности электронной почты в заголовках – user3245931

+0

Взгляните на DKIM: http://en.wikipedia.org/wiki/DomainKeys_Identified_Mail –