บางครั้งโทรจันจะถูกอัพโหลดผ่านโปรแกรม ซึ่งมักจะปลอมตัวเป็นรูปภาพ ต่อไปนี้เป็นโค้ดสำหรับตรวจจับโทรจันรูปภาพที่อยู่ภายใต้ asp การป้องกันโทรจัน ASP:
คัดลอกรหัสรหัสดังต่อไปนี้:
const adTypeBinary=1
สลัว jpg(1):jpg(0)=CByte(&HFF):jpg(1)=CByte(&HD8)
สลัว bmp(1):bmp(0)=CByte(&H42):bmp(1)=CByte(&H4D)
png(3):png(0)=CByte(&H89):png(1)=CByte(&H50):png(2)=CByte(&H4E):png(3)=CByte(&H47) สลัว
หรี่ gif(5):gif(0)=CByte(&H47):gif(1)=CByte(&H49):gif(2)=CByte(&H46):gif(3)=CByte(&H39):gif(4) =CByte(&H38):gif(5)=CByte(&H61)
Response.Write CheckFileType (Server.MapPath (2.gif))
ฟังก์ชั่น CheckFileType (ชื่อไฟล์)
เมื่อเกิดข้อผิดพลาดดำเนินการต่อต่อไป
CheckFileType=false
fstream สลัว, fileExt, แสตมป์, i
fileExt=mid(ชื่อไฟล์,InStrRev(ชื่อไฟล์,.)+1)
ตั้งค่า fstream=Server.createobject(ADODB.Stream)
fstream.เปิด
fstream.Type=adTypeBinary
ชื่อไฟล์ fstream.LoadFromFile
fstream.position=0
เลือก case fileExt
กรณีjpg,jpeg
แสตมป์=fstream.read(2)
สำหรับ i=0 ถึง 1
ถ้า ascB(MidB(stamp,i+1,1))=jpg(i) ดังนั้น CheckFileType=true อย่างอื่น CheckFileType=false
ต่อไป
เคสกิ๊ฟ
แสตมป์=fstream.read(6)
สำหรับ i=0 ถึง 5
ถ้า ascB(MidB(stamp,i+1,1))=gif(i) ดังนั้น CheckFileType=true อย่างอื่น CheckFileType=false
ต่อไป
กรณี PNG
แสตมป์=fstream.read(4)
สำหรับ i=0 ถึง 3
ถ้า ascB(MidB(stamp,i+1,1))=png(i) ดังนั้น CheckFileType=true อย่างอื่น CheckFileType=false
ต่อไป
กรณี bmp
แสตมป์=fstream.read(2)
สำหรับ i=0 ถึง 1
ถ้า ascB(MidB(stamp,i+1,1))=bmp(i) ดังนั้น CheckFileType=true อย่างอื่น CheckFileType=false
ต่อไป
สิ้นสุดการเลือก
fstream.ปิด
ตั้งค่า fseteam=ไม่มีอะไร
ถ้า err.number<>0 ให้ CheckFileType=false
ฟังก์ชั่นสิ้นสุด
-