소스 검색

Add `R_SUSPICIOUS_IMAGES` rule.

tags/1.0.5
Vsevolod Stakhov 8 년 전
부모
커밋
0ea784ef25
1개의 변경된 파일44개의 추가작업 그리고 0개의 파일을 삭제
  1. 44
    0
      rules/html.lua

+ 44
- 0
rules/html.lua 파일 보기

@@ -96,4 +96,48 @@ rspamd_config.R_EMPTY_IMAGE = {
score = 2.0,
group = 'html',
description = 'Message contains empty parts and image'
}

rspamd_config.R_SUSPICIOUS_IMAGES = {
callback = function(task)
local tp = task:get_text_parts() -- get text parts in a message

for _, p in ipairs(tp) do
local h = p:get_html()

if h then
local l = p:get_words_count()
local img = h:get_images()
local pic_words = 0

if img then
for _, i in ipairs(img) do
if i['embedded'] then
local dim = i['width'] + i['height']

-- do not trigger on small and large images
if dim > 100 and dim < 3000 then
-- We assume that a single picture 100x200 contains approx 3 words of text
pic_words = pic_words + dim / 100
end
end
end
end

if l + pic_words > 0 then
local rel = pic_words / (l + pic_words)

if rel > 0.5 then
return true, (rel - 0.5) * 2
end
end
end
end

return false
end,

score = 5.0,
group = 'html',
description = 'Message contains many suspicious messages'
}

Loading…
취소
저장