Ben sadece PHP'nin IMAP kitaplığı ile bugün başladı ve imap_fetchbody veya imap_body denir iken, bu benim Kaspersky antivirüs tetikliyor. Bu virüsler ve Trojan.Win32.Agent.dmyq Trojan.Win32.FraudPack.aoda bulunmaktadır. Ben XAMPP ve Kaspersky AV ile bir yerel kalkınma makineyi bu kapalı çalıştırıyorum.
Şimdi, spam kutusuna olduğundan virüsler (a bazı viagra ihtiyacı veya bu gün vicodin değil kim?) Orada vardır eminim. Ve ben çiğ vücut ekleri ve farklı mim türleri içeren bu yana, kötü şeyler vücutta olabilir biliyorum.
Yani benim soru: bu kütüphaneleri kullanarak herhangi bir risk var mı?
Ben disk / bellek ve verileri görür AV tarama için önbelleğe, IMAP fonksiyonları vücut almak olduğunu varsayarak yaşıyorum.
Bu doğru mudur? (Ben bulamadım) Bu kütüphaneyi kullanan, bilinen herhangi bir güvenlik kaygıları var mı? Mükemmel önbelleğe mesaj parçalarını temizlemek mı veya viral dosyaları bir yere oturuyor olabilir?
Bu daha vücuttan düz metin almak için daha iyi bir yolu var mı? Şu anda aşağıdaki kodu (Kevin Steffer kredi) kullanıyorum:
function get_mime_type(&$structure) {
$primary_mime_type = array("TEXT", "MULTIPART","MESSAGE", "APPLICATION", "AUDIO","IMAGE", "VIDEO", "OTHER");
if($structure->subtype) {
return $primary_mime_type[(int) $structure->type] . '/' .$structure->subtype;
}
return "TEXT/PLAIN";
}
function get_part($stream, $msg_number, $mime_type, $structure = false, $part_number = false) {
if(!$structure) {
$structure = imap_fetchstructure($stream, $msg_number);
}
if($structure) {
if($mime_type == get_mime_type($structure)) {
if(!$part_number) {
$part_number = "1";
}
$text = imap_fetchbody($stream, $msg_number, $part_number);
if($structure->encoding == 3) {
return imap_base64($text);
} else if($structure->encoding == 4) {
return imap_qprint($text);
} else {
return $text;
}
}
if($structure->type == 1) /* multipart */ {
while(list($index, $sub_structure) = each($structure->parts)) {
if($part_number) {
$prefix = $part_number . '.';
}
$data = get_part($stream, $msg_number, $mime_type, $sub_structure,$prefix . ($index + 1));
if($data) {
return $data;
}
} // END OF WHILE
} // END OF MULTIPART
} // END OF STRUTURE
return false;
} // END OF FUNCTION
$connection = imap_open($server, $login, $password);
$count = imap_num_msg($connection);
for($i = 1; $i <= $count; $i++) {
$header = imap_headerinfo($connection, $i);
$from = $header->fromaddress;
$to = $header->toaddress;
$subject = $header->subject;
$date = $header->date;
$body = get_part($connection, $i, "TEXT/PLAIN");
}