Dois dias atrás, eu estava trabalhando em uma versão no local do mecanismo de pesquisa corporativo e descobri que alguns sites podem vincular-se ao conteúdo do site. .
Eu olhei estranhamente e acabou que estava ligado de acordo com as regras automáticas de numeração do banco de dados ~~
Eu fiz o seguinte no meu tempo livre, esperando que seja útil para todos no futuro, escrevendo programas ASP!
<%
'' // gerar número aleatório de dígitos especificados
'' // Você também pode usar a função ixuer_rnd_str escrita em Guidy, que vem com 15 estilos, e você pode pseudo -md5 !!
FunctionRndStr (Strlong)
Dimtempstr
Randomizar
Dowhilelen (rndstr) <Strlong
tempstr = cstr (chr ((57-48)*rnd+48))
rndstr = rndstr & tempstr
Laço
rndstr = rndstr
Função final
%>
A seguir, é apresentado um parâmetro enviado no formulário como exemplo para solicitação.form. O valor original da missão de parâmetros que precisa ser passada é o ID lido no banco de dados.
<formName = iformaction = "abc.asp" method = "post">
<inputName = DoactyType = "Hidden" value = "<%= rndstr (10)%> <%= rs (" id ")%> <%= rndstr (10)%>">
</morm>
Perceber:
O valor da brecha acima mudou e o valor obtido toda vez que a página é atualizada é diferente ~~
Abaixo está a página abc.asp
Primeiro, obtenha o valor da doação
doaction = Trim (request.form ("doaction")))
Abaixo, você pode adicionar algumas verificações, como Isnumeric, etc.
Então vamos dividir o valor da doação
Dimlastid
doação = MID (Doação, 11)
LastId = MID (Doação, 1, Len (Doação) -10)
Se você está familiarizado com as funções médias, o conteúdo acima é fácil de adivinhar, não é simples?
Aqui estão os exemplos reais:
O valor do ID a ser aprovado pela doação original no banco de dados (o tipo de campo é numerado automaticamente) é: 34
ilustrar:
11 em Mid (Doaction, 11) gera vários caracteres aleatórios + 1
10 Em LastID = MID (Doação, 1, Len (Doação) -10) é o número de dígitos aleatórios de caracteres gerados pelo número especificado!
Dimlastid
doação = 3614354944348151287527 - o valor de identificação após disfarçado (pode ser verificado como um número)
doação = MID (Doação, 11)
LastId = MID (Doação, 1, Len (Doação) -10)
LastId = 34
Eu experimentei e, se usado com letras e números gerados aleatoriamente, ele pode ser completamente falsificado como um valor semelhante ao MD5!
Existe apenas uma condição e você deve especificar o número de bits de caracteres aleatórios!
Haha, agora todos podem gerar o valor LastID da resposta.Write para ver se é o ID no banco de dados novamente?