Parfois, les chevaux de Troie sont téléchargés via des programmes, généralement déguisés en images. Voici le code permettant de détecter les chevaux de Troie avec images sous asp. Les amis dans le besoin peuvent s'y référer. Défense contre les chevaux de Troie ASP :
Copiez le code comme suit :
const adTypeBinary = 1
faible jpg(1):jpg(0)=CByte(&HFF):jpg(1)=CByte(&HD8)
faible bmp(1):bmp(0)=CByte(&H42):bmp(1)=CByte(&H4D)
dim png(3):png(0)=CByte(&H89):png(1)=CByte(&H50):png(2)=CByte(&H4E):png(3)=CByte(&H47)
dim gif(5):gif(0)=CByte(&H47):gif(1)=CByte(&H49):gif(2)=CByte(&H46):gif(3)=CByte(&H39):gif(4) =Coctet(&H38):gif(5)=Coctet(&H61)
Réponse.Write CheckFileType(Server.MapPath(2.gif))
fonction CheckFileType (nom de fichier)
en cas d'erreur, reprendre ensuite
CheckFileType = faux
dim fstream, fileExt, timbre, je
fileExt=mid(nom de fichier,InStrRev(nom de fichier,.)+1)
définir fstream=Serveur.createobject(ADODB.Stream)
fstream.Ouvrir
fstream.Type = adTypeBinary
nom de fichier fstream.LoadFromFile
fstream.position=0
sélectionner le dossierExt
cas jpg,jpeg
timbre=fstream.read(2)
pour i=0 à 1
si ascB(MidB(stamp,i+1,1))=jpg(i) alors CheckFileType=true sinon CheckFileType=false
suivant
cas gif
timbre=fstream.read(6)
pour i=0 à 5
si ascB(MidB(stamp,i+1,1))=gif(i) alors CheckFileType=true sinon CheckFileType=false
suivant
cas png
timbre=fstream.read(4)
pour i=0 à 3
si ascB(MidB(stamp,i+1,1))=png(i) alors CheckFileType=true sinon CheckFileType=false
suivant
cas bmp
timbre=fstream.read(2)
pour i=0 à 1
si ascB(MidB(stamp,i+1,1))=bmp(i) alors CheckFileType=true sinon CheckFileType=false
suivant
fin de la sélection
fstream.Fermer
définir fsetam = rien
si err.number<>0 alors CheckFileType=false
fonction de fin
%>