#TITLE=Syntaxe et fonctions communes ASP
#INFO
Certaines syntaxes et fonctions personnalisées couramment utilisées dans ASP
#Trier=n
#T= ===Syntaxe ASP commune===
#T===============================
#T=lié à la base de données
#T= Se connecter à la base de données ACCESS
<%
Dim NomDB,Conn
DBName^! 'Définir le chemin et le nom de la base de données
SET Conn = Serveur.CreateObject (ADODB.Connection)
Conn.Open Provider=Microsoft.Jet.OLEDB.4.0;Source de données= & Server.MapPath(DBName)
%>
#T= Se connecter à la base de données MS SQL
<%
Dim Conn
SET Conn=Serveur.CreateObject(ADODB.connection)
Conn.Open PROVIDER=SQLOLEDB;DATA SOURCE=nom du serveur SQL ou adresse IP;UID=compte de connexion à la base de données;PWD=mot de passe de la base de données;DATABASE=nom de la base de données
%>
#T= Créer un jeu d'enregistrements
SET ^!=Serveur.CreateObject(ADODB.recordset)
#T= Exécuter la commande SQL
RS.Open SQL,conn,1,1
#T= Exécuter la commande SQL
Conn.Execute(^!)
#T= RS exécute directement les commandes SQL
SET RS = Conn.Execute(^!)
#T= Fermer le jeu d'enregistrements
RS.FERMER
SET RS = RIEN
#T= Fermer la base de données
Conn.Fermer
SETConn=Rien
#T===============================
#T=ServeurVariables liées
#T= Récupère l'adresse de la page précédente
Requête.ServerVariables(HTTP_REFERER)
#T= Récupère le nom du serveur 1
Requête.ServerVariables (SERVER_NAME)
#T= Récupère le nom du serveur 2
Requête.ServerVariables (HTTP_HOST)
#T= Obtenir l'IP du serveur
Requête.ServerVariables(LOCAL_ADDR)
#T= Obtenir l'adresse IP de l'utilisateur
Request.ServerVariables (Remote_Host)
#T= Obtenez la véritable IP1 de l'utilisateur
Requête.serverVariables (REMOTE_ADDR)
#T= Obtenir la véritable fonction IP de l'utilisateur
Fonction GetRealIP()
GetRealIP = Request.ServerVariables (HTTP_X_FORWARDED_FOR)
SI (GetRealIP = ) ALORS GetRealIP = Request.ServerVariables (REMOTE_ADDR)
Fonction de fin
#T= Récupérer le port du serveur
Requête.ServerVariables(SERVER_PORT)
#T= Obtenir le système d'exploitation du serveur
Requête.ServerVariables (OS)
#T= Récupère le chemin absolu du serveur
Requête.ServerVariables(APPL_PHYSICAL_PATH)
#T= Récupère le chemin absolu de ce fichier 1
Requet.ServerVariables(PATH_TRANSLATED)
#T= Récupère le chemin absolu de ce fichier 2
Serveur.mappath(Request.ServerVariables(SCRIPT_NAME))
#T= Récupère le chemin relatif de ce fichier 1
Requête.ServerVariables (URL)
#T= Récupère le chemin relatif de ce fichier 2
Requête.ServerVariables (SCRIPT_NAME)
#T= Récupère le chemin relatif de ce fichier 3
Requête.ServerVariables(PATH_INFO)
#T= Récupère les paramètres après la barre d'adresse
Requête.ServerVariables (QUERY_STRING)
#T= Obtenir les informations sur le système du serveur
Requête.ServerVariables(HTTP_USER_AGENT)
#T= Détection des composants du serveur
<%
Fonction IsObjInstalled(strClassString)
En cas d'erreur, reprendre ensuite
IsObjInstalled = Faux
Erreur = 0
DimxTestObj
SET xTestObj = Server.CreateObject(strClassString)
SI (0 = Err) ALORS IsObjInstalled = True
SET xTestObj = Rien
Erreur = 0
Fonction de fin
'IF(IsObjInstalled(Persits.Upload)=True)ALORS
' Response.Write prend en charge le composant AspUpload
'AUTRE
' Response.Write ne prend pas en charge le composant AspUpload
'FIN SI
%>
#T= Récupère les paramètres régionaux du client
^!Request.ServerVariables(HTTP_ACCEPT_LANGUAGE)
#T= Obtenir des informations sur le client : HTTP_USER_AGENT
^!Request.ServerVariables(HTTP_USER_AGENT)
#T= Obtenir la valeur de l'élément de valeur du formulaire (Form)
Demande.Formulaire(^!)
#T= Récupère la valeur transmise par l'URL
Requête.QueryString(^!)
#T= Obtenir l'adresse URL complète
Fonction GetUrl()
GetUrl=http://&Request.ServerVariables(SERVER_N ... .ServerVariables(URL)
IF(Request.ServerVariables(QUERY_STRING)<>)THEN GetURL=GetUrl&?& Request.ServerVariables(QUERY_STRING)
Fonction de fin
#T===============================
#T=fonction personnalisée
#T= Filtrer les caractères HTML
<%
'Fonction de filtre de caractères HTML
Fonction HTMLEncode(str)
SI(str <> )ALORS
str = Remplacer (str, &, &)
str = Remplacer (str, >, >)
str = Remplacer (str, <, <)
str = Remplacer (str, Chr (32), )
str = Remplacer (str, Chr (9), )
str = Remplacer (str, Chr (34), )
str = Remplacer(str, Chr(39), ')
str = Remplacer (str, Chr (13), )
str = Remplacer(str, Chr(10) & Chr(10), </P><P>)
str = Remplacer(str, Chr(10), <BR>)
str = Remplacer (str, Chr (255), )
FIN SI
HTMLEncode = chaîne
Fonction de fin
%>
#T= Vérifiez si la page précédente a été soumise à partir de ce site
<%
'Vérifiez si la page précédente a été soumise à partir de ce site
'Retour : Vrai, Faux
'================================================== = ==============
Fonction IsSelfRefer()
Faible sHttp_Referer, sServer_Name
sHttp_Referer = CStr(Request.ServerVariables(HTTP_REFERER))
sServer_Name = CStr(Request.ServerVariables(SERVER_NAME))
SI (Mid (sHttp_Referer, 8, Len (sServer_Name)) = sServer_Name) ALORS
IsSelfRefer = Vrai
AUTRE
IsSelfRefer = Faux
FIN SI
Fonction de fin
%>
#T= Effacer toutes les balises HTML
<%
'Effacer les balises HTML
Fonction stripHTML(htmlStr)
Dim regEx
SETregEx = Nouvelleexpression régulière
regEx.IgnoreCase = Vrai
regEx.Global = Vrai
regEx.Pattern = <.+?>
htmlStr = regEx.Replace(htmlStr,)
htmlStr = Remplacer(htmlStr, <,<)
htmlStr = Remplacer(htmlStr, >,>)
htmlStr = Remplacer(htmlStr,chr(10),)
htmlStr = Remplacer(htmlStr,chr(13),)
stripHTML = htmlStr
SET regEx = Rien
Fonction de fin
%>
#T= Récupère la longueur de la chaîne
<%
'Fonction pour trouver la longueur d'une chaîne
Fonction GetLength(str)
Dim Longueur
Pour i=1 à Len(str)
SI(Asc(Mid(str,i,1))<0 ou Asc(Mid(str,i,1))>256)ALORS
Longueur=Longueur+2
AUTRE
Longueur=Longueur+1
FIN SI
Suivant
ObtenirLongueur=Longueur
Fonction de fin
%>
#T= intercepte la chaîne de longueur spécifiée
<%
'Intercepter une chaîne de longueur spécifiée, remplacer l'excédent par...
Fonction StrLeft(str,strlen)
SI(str = )ALORS
StrGauche =
Fonction de sortie
FIN SI
Dim l, t, c, je
str = Remplacer(Remplacer(Remplacer(Remplacer(str, , ),,chr(34)),>,>),<,<)
l=len(chaîne)
t=0
Pour i=1 à l
c=Abs(Asc(Mid(str,i,1)))
SI(c>255)ALORS
t=t+2
AUTRE
t=t+1
FIN SI
SI(t>strlen)ALORS
StrLeft = gauche(str,i) & ...
Quitter pour
AUTRE
StrGauche = str
FIN SI
Suivant
StrLeft = Remplacer(Remplacer(Remplacer(Remplacer(StrLeft, , ),chr(34),),>,>),<,<)
Fonction de fin
%>
#T= Obtenez les paramètres de soumission sécurisés
<%
'================================================== = ==============
'Vérification des injections SQL
'Fonction de fonction : filtrer les guillemets simples dans les paramètres de caractères, juger les paramètres numériques et attribuer une valeur de 0 s'il ne s'agit pas d'un type numérique
'Signification du paramètre : str ---- paramètres à filtrer
'strType ---- type de paramètre, divisé en type de caractère et type numérique, le type de caractère est s, le type numérique est i
'================================================== = ==============
Fonction CheckStr(str,strType)
Dim strTmp
strTmp =
SI(strType =s)ALORS
strTmp = Remplacer(Trim(str),','')
AUTREIF(strType=i)ALORS
SI(IsNumeric(str)=False)ALORS str=False
strTmp = str
AUTRE
strTmp = str
Fin SI
CheckStr= strTmp
Fonction de fin
%>
#T= Filtrer les mauvais caractères (BadWord)
<%
'Filtrer les mauvais caractères (BadWords)
Fonction ChkBadWords(fString)
Dim BadWords, bwords, je
BadWords = Putain | va te faire foutre | va le baiser | va te faire foutre | baise | chien | bâtard | chatte | bite | bâtard | viol | faire l'amour | vierge | zemin | falun | falun | hongzhi | falun
SI (Not (IsNull (BadWords) ou IsNull (fString))) ALORS
bwords = Split (Mauvais mots, |)
Pour i = 0 à UBound(bwords)
fString = Remplacer(fString, bwords(i), string(Len(bwords(i)),*))
Suivant
ChkBadWords = fString
FIN SI
Fonction de fin
%>
#T= Générer un mot de passe de longueur personnalisée aléatoire
<%
'Générer un mot de passe aléatoire de longueur personnalisée
Fonction makePassword(maxLen)
Dim strNewPass
Dim whatsNext, supérieur, inférieur, intCounter
Randomiser
Pour intCounter = 1 À maxLen
quoiSuivant = Int((1 - 0 + 1) * Rnd + 0)
SI(quoiSuivant = 0)ALORS
'personnage
supérieur = 90
inférieur=65
AUTRE
supérieur = 57
inférieur = 48
FIN SI
strNewPass = strNewPass & Chr(Int((supérieur - inférieur + 1) * Rnd + inférieur))
Suivant
makePassword = strNewPass
Fonction de fin
'Réponse.Écrivez makepassword(8)
%>
#T= Conserver le format HTML lors du remplissage de la zone de texte
<%
'================================================== = ==============
'Supprimer le format HTML, utilisé lors de la récupération des valeurs de la base de données et du remplissage de la zone de saisie
'Remarque : value=? doit utiliser des guillemets doubles ici
'================================================== = ==============
Fonction enHTML(str)
Dim sTemp
sTemp = chaîne
enHTML =
Si IsNull(sTemp) = True Alors
Fonction de sortie
Fin si
sTemp = Remplacer(sTemp, &, &)
sTemp = Remplacer(sTemp, <br>,chr(13))
sTemp = Remplacer(sTemp, <, <)
sTemp = Remplacer(sTemp, >, >)
sTemp = Remplacer(sTemp, , Chr(34))
dansHTML = sTemp
Fonction de fin
%>
#T= Fonction de vérification des expressions de table régulière
<%
'Fonction de vérification d'expression régulière modèle-chaîne d'expression régulière qui doit être vérifiée
'================================================== = ==============
Fonction RegExpTest(patrn, strng)
Dim regEx, retVal 'Créer des variables.
SET regEx = New RegExp ' Crée une expression régulière.
regEx.Pattern = patrn 'Définir le modèle.
regEx.IgnoreCase = False 'Définissez si la casse doit être respectée.
retVal = regEx.Test(strng) 'Exécuter le test de recherche.
RegExpTest = retVal 'Valeur de retour, si elle ne correspond pas, elle renvoie faux, si elle correspond, elle renvoie vrai
FIXER regEx = RIEN
Fonction de fin
%>
#T= Générer une chaîne aléatoire
<%
'Générer une chaîne aléatoire
FonctionRndCode()
Dim CodeSet,MontantSet
CodeSet = 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
AmountSet = 62 'Quantité du texte
Randomiser
Dim vCode(10), vCodes,je
Pour i = 0 à 9
vCode(i) = Int(Rnd * MontantSet)
vCodes = vCodes & Mid(CodeSet, vCode(i) + 1, 1)
Suivant
RndCode=vCodes
Fonction de fin
%>
#T===============================
#T=Opérations liées au FSO
#T= Déterminer si le répertoire existe
<%
Fonction IsFloderExist(strFolderName)
SET FSO = Serveur.CreateObject (Scripting.FileSystemObject)
SI(FSO.FolderExists(strFolderName))ALORS
IsFloderExist = Vrai
AUTRE
IsFloderExist = Faux
FIN SI
DÉFINIR FSO = RIEN
Fonction de fin
%>
#T= Créer un répertoire
<%
Fonction CreateFolder(strFolderName)
SET FSO = Serveur.CreateObject (Scripting.FileSystemObject)
SI(FSO.FolderExists(strFolderName) = False)ALORS
FSO.CreateFolder(strFolderName)
FIN SI
FSO = RIEN
Fonction FIN
%>
#T= Supprimer le répertoire
<%
Fonction Supprimer le dossier (strFolderName)
SET FSO = Serveur.CreateObject (Scripting.FileSystemObject)
SI(FSO.FolderExists(strFolderName))ALORS
FSO.DeleteFolder(strFolderName)
FIN SI
DÉFINIR FSO = RIEN
Fonction FIN
%>
#T= Déterminer si le fichier existe
<%
Fonction IsFileExist(strFileName)
SET FSO = Serveur.CreateObject (Scripting.FileSystemObject)
SI(FSO.FileExists(strFileName))ALORS
IsFileExist = Vrai
AUTRE
IsFileExist = Faux
FIN SI
FSO = RIEN
Fonction de fin
%>
#T= supprimer le fichier
<%
Fonction SupprimerFichier(strFileName)
SET FSO = Serveur.CreateObject (Scripting.FileSystemObject)
SI(FSO.FileExists(strFileName))ALORS
FSO.DeleteFile(strFileName)
FIN SI
DÉFINIR FSO = RIEN
Fonction FIN
%>
#T===============================
#T= Plusieurs fonctions couramment utilisées par les voleurs ASP
<%
Fonction ByteToStr(vIn)
Dim strReturn,i,ThisCharCode,innerCode,Hight8,Low8,NextCharCode
strRetour =
Pour i = 1 À LenB(vIn)
ThisCharCode = AscB(MidB(vIn,i,1))
SI(ThisCharCode < &H80)ALORS
strReturn = strReturn & Chr(ThisCharCode)
AUTRE
NextCharCode = AscB(MidB(vIn,i+1,1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
je = je + 1
FIN SI
Suivant
OctetVersStr = strReturn
Fonction de fin
Fonction GetHttpPageContent(url,Method,SendStr)
Récupération de faible luminosité
SET Récupération = Server.CreateObject (Microsoft.XMLHTTP)
Avec récupération
.Méthode Open, URL, False , ,
.setRequestHeader Content-Type,application/x-www-form-urlencoded
.Envoyer(EnvoyerStr)
GetHttpPageContent = .ResponseBody
Terminer par
Récupération SET = Rien
GetHttpPageContent=ByteToStr(GetHttpPageContent)
Fonction de fin
Fonction RegExpText(strng,regStr)
Dim regEx, Match, Correspondances, RetStr
SET regEx = Nouvelle RegExp
regEx.Pattern = regStr
regEx.IgnoreCase = Vrai
regEx.Global = Vrai
SET Correspondances = regEx.Execute(strng)
Pour chaque match dans les matchs
RetStr = RetStr & regEx.Replace(Match.Value,$1) & ,
Suivant
RegExpText = RetStr
définir regEx = rien
Fonction de fin
Fonction StreamBytesToBstr(strBody, CodeBase)
Dim objStream
SET objStream = Serveur.CreateObject(Adodb.Stream)
Avec objStream
.Type = 1
.Mode = 3
.Ouvrir
.Écrire strBody
.Position = 0
.Type = 2
.Charset = CodeBase
StreamBytesToBstr = .ReadText
.Fermer
Terminer par
SET objStream = Rien
Fonction de fin
%>