Hace dos días, estaba trabajando en una versión en el sitio del motor de búsqueda empresarial y descubrí que algunos sitios pueden vincular al contenido del sitio. .
Lo miré extrañamente y resultó que estaba vinculado de acuerdo con las reglas de numeración automática de la ID de base de datos ~~
¡He hecho lo siguiente en mi tiempo libre, con la esperanza de que sea útil para todos en el futuro escribiendo programas ASP!
<%
'' // Generar un número aleatorio de dígitos especificados
'' // ¡También puede usar la función IXUER_RND_STR escrita en Guidy, que viene con 15 estilos, y puede pseudo MD5!
FunctionRndstr (strlong)
Dimtempstr
Aleatorizar
Dowhilelen (rndstr) <Strlong
tempttr = cstr (chr ((57-48)*rnd+48))
rndStr = rndstr & tempstr
Bucle
rndstr = rndstr
Función final
%>
El siguiente es un parámetro enviado en el formulario Formulario como ejemplo para request.form. El valor original de la Doaction de parámetros que debe aprobarse es la ID que lee desde la base de datos.
<formname = iformaction = "abc.asp" método = "post">
<inputName = doactionType = "Hidden" value = "<%= rndStr (10)%> <%= rs (" id ")%> <%= rndStr (10)%>">
</form>
Aviso:
El valor de la doacción anterior ha cambiado, y el valor obtenido cada vez que se actualiza la página es diferente ~~
A continuación se muestra la página abc.asp
Primero obtenga el valor de Doaction
doaction = trim (request.form ("doaction"))
A continuación puede agregar algunas verificaciones usted mismo, como Isnumérico, etc.
Entonces descompongamos el valor de la doaction
Dimlastid
Doaction = Mid (Doaction, 11)
Lastid = mid (doaction, 1, len (doaction) -10)
Si está familiarizado con las funciones medias, el contenido anterior es fácil de adivinar, ¿no es simple?
Aquí están los ejemplos reales:
El valor de la ID a pasar por la Doaction original en la base de datos (el tipo de campo se numera automáticamente) es: 34
ilustrar:
11 a mediados (Doaction, 11) genera una serie de caracteres aleatorios + 1
10 en lastid = Mid (Doaction, 1, len (Doaction) -10) es el número de dígitos de caracteres aleatorios generados por el número especificado.
Dimlastid
doaction = 3614354944348151287527 - el valor de identificación después de disfrazarse (se puede verificar en un número)
Doaction = Mid (Doaction, 11)
Lastid = mid (doaction, 1, len (doaction) -10)
Lastid = 34
¡Experimenté y si se usa con letras y números generados al azar, puede falsificarse completamente como un valor similar a MD5!
¡Solo hay una condición, y debe especificar el número de bits de caracteres aleatorios!
Jaja, ahora todos pueden generar el valor de Respuesta.