Я пытаюсь собрать данные, если электронное письмо открыто. Я активно пытался решить эту проблему самостоятельно, но на данный момент я застрял и ищу любую помощь, которая предлагается.
У меня два локальных PHP файла на моем сервере Apache2. Тот, который отправляет электронное письмо на учетную запись Gmail от себя:
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;
require '/home/kali/PHPMailer-master/src/Exception.php';
require '/home/kali/PHPMailer-master/src/PHPMailer.php';
require '/home/kali/PHPMailer-master/src/SMTP.php';
$base_url = 'http://192.168.1.3/isproject/';
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Host = "smtp.gmail.com";
$mail->SMTPDebug = 1;
$mail->SMTPAuth = TRUE;
$mail->Port = 587; // Enable SMTP authentication
$mail->Username = 'XXXXXXXXX'; // SMTP username
$mail->Password = 'xxxxxxxx'; // SMTP password
$mail->SMTPSecure = 'tls'; // Enable encryption, 'ssl' also accepted
$mail->From = 'blablabla@gmail.com';
$mail->FromName = 'PhisherTester';
$mail->addAddress('blablabla@gmail.com', 'Phish Phisher');
$track_code = md5(rand());
$message_body .= '<img src="'.$base_url.'openedphishing.php?code='.$track_code.'"
width="100" height="100" alt="Logo" title="Logo" style="display:block"/>';
$mail->IsHTML(true);
if(!$mail->send()) {
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
exit;
}
echo 'Message has been sent';
?>
Приведенный выше код работает как брелок, он входит в учетную запись gmail и отправляет себе электронное письмо.
Второй PHP файл, который предназначен для передачи данных в базу данных:
<?php
if(!empty($_SERVER["HTTP_CLIENT_IP"])){
$ip = $_SERVER["HTTP_CLIENT_IP"];
}else if(!empty($_SERVER["HTTP_X_FORWARDED_FOR"])){
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
}else{
$ip = $_SERVER["REMOTE_ADDR"];
}
if(isset($_GET["code"]))
{
$db = new Mysqli("localhost", "test", "123", "ISProjectDB");
$query = "INSERT INTO Phishing SET ip_addr='$ip', check_opened='Yes'";
$db->query($query);
}
?>
Электронная почта получена учетной записью Gmail, и она обновляет базу данных, если я вхожу в URL для PHP файла вручную , но он НЕ отправляет данные при открытии файла через gmail!
это из-за настроек безопасности Googles или из-за того, что Google пытается загрузить его, прежде чем показать, что он недоступен, или просто потому, что я отправляю его себе?
Любая помощь с благодарностью.