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 !!
Functionrndstr (strlong)
Diable
Randomiser
Dowhilelen (Rndstr) <StrLong
Temptr = CSTR (Chr ((57-48) * RND + 48))
rndStr = rndStr & Temptr
Boucle
rndstr = rndstr
Finition de fin
%>
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.
<formName = iformaction = "ABC.asp" méthode = "post">
<putName = doActionType = "Hidden" value = "<% = rndtr (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
Dimlastide
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
10 dans Lastid = mid (doaction, 1, len (doaction) -10) est le nombre de chiffres de caractères aléatoires générés par le nombre spécifié!
Dimlastide
DIACTION = 3614354944348151287527 - La valeur d'identification 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?