Recommandé: Tutoriel ASP: Un exemple simple AJAX Tutoriel ASP: un exemple simple sur AJAX index.asp: code de programme HTML Head Meta Http-Equiv = Content-Type Content = Text / HTML; charset = gb2312 / titleajax application simple / title script linguisse = javascript // crée xmlhttprequest objet var request = false; essayez {re
Il y a deux jours, je travaillais sur une version en site du moteur de recherche d'entreprise et j'ai constaté que certains sites peuvent être liés au contenu du site. .
Je l'ai regardé étrangement et il s'est avéré qu'il était lié en fonction des règles de numérotation automatique de l'ID de la base de données ~~
J'ai fait ce qui suit pendant mon temps libre, en espérant que cela sera utile à tout le monde dans le futur programmes ASP!
<%
'' // Générer un nombre aléatoire de chiffres spécifiés
'' // Vous pouvez également utiliser la fonction IXUER_RND_STR écrite en Guidy, qui est livrée avec 15 styles, et vous pouvez pseudo md5 !!
Fonction rndStr (strlong)
TemptR DIM
Randomiser
Faire pendant que Len (rndstr) <strlong
Temptr = CSTR (Chr ((57-48) * RND + 48))
rndStr = rndStr & Temptr
Boucle
rndstr = rndstr
Fonction finale
%>
Ce qui suit est un paramètre soumis dans le formulaire comme exemple de demande.form. La valeur d'origine de la doaction paramètre qui doit être transmise est l'ID lu dans la base de données.
<Form Name = iform Action = ABC.ASP Method = Post>
<entrée name = doaction type = Hidden Value = <% = rndStr (10)%> <% = rs (id)%> <% = rndstr (10)% >>
</ form>
Avis:
La valeur de la doaction ci-dessus a changé, et la valeur obtenue chaque fois que la page est actualisée est différente ~~
Vous trouverez ci-dessous la page ABC.asp
Obtenez d'abord la valeur de la doaction
doaction = trim (request.form (doaction))
Ci-dessous, vous pouvez ajouter quelques vérifications vous-même, telles que ISNUMERIC, etc.
Alors décomposons la valeur de la doaction
Dim Lastid
DOCACHE = MID (DOCKING, 11)
LASTID = MID (DOACTION, 1, LEN (DOACTION) -10)
Si vous connaissez les fonctions MID, le contenu ci-dessus est facile à deviner, n'est-ce pas simple?
Voici les exemples réels:
La valeur de l'ID à transmettre par la doaction d'origine dans la base de données (le type de champ est automatiquement numéroté) est: 34
illustrer:
11 au milieu (doaction, 11) génère un certain nombre de caractères aléatoires + 1
LASTID = 10 au milieu (doaction, 1, len (doaction) -10) est le nombre de caractères aléatoires générés par le nombre spécifié!
Dim Lastid
DIACTION = 3614354944348151287527 - La valeur d'ID après déguisé (peut être vérifiée comme un nombre)
DOCACHE = MID (DOCKING, 11)
LASTID = MID (DOACTION, 1, LEN (DOACTION) -10)
LASTID = 34
J'ai expérimenté et si je suis utilisé avec des lettres et des nombres générés au hasard, il peut être complètement truqué comme une valeur similaire à MD5!
Il n'y a qu'une seule condition, et vous devez spécifier le nombre de bits de caractères aléatoires!
Haha, maintenant tout le monde peut sortir la valeur LASTID de réponse.Write pour voir si c'est à nouveau l'ID dans la base de données?
Cette méthode peut être utilisée pour crypter et télécharger des paramètres vidéo. Par exemple, si vous avez construit un système de circulation de documents officiels du gouvernement, vous pouvez également utiliser des fichiers!
La même chose est pour demande.Querystring! Copie-le ...
Ce qui précède est ma petite expérience dans la rédaction de programmes ASP. Veuillez me corriger s'il y a des lacunes!
Partager: mettre en œuvre une anti-collection des pages ASP J'ai écrit un code pour empêcher les voleurs de collecter et communiquer avec vous! Utilisation: enregistrez un fichier séparément tel que (n ° ASP); Utilisez-le dans la tête de la page ASP correspondante! - # Inclure File = No.asp - Ajoutez-le simplement! % '***************************************************************************************************************************************************************************. *******************************************************************************************************************************************************************************************************************************. ****************************************************************************************************************************************************************************. *******************************************************************************************************************************************************************************************************************************. ****************************************************************************************************************************************************************************. *******************************************************************************************************************************************************************************************************************************. *******************************************************************************************************************************************************************************************************************************. *******************************************************************************************************************************************************************************************************************************.