Два дня назад я работал над версией поисковой системы Enterprise и обнаружил, что некоторые сайты могут ссылаться на содержание сайта. Полем
Я смотрел на это странно, и оказалось, что он был связан в соответствии с правилами автоматической нумерации идентификатора базы данных ~~
Я сделал следующее в свободное время, надеясь, что это будет полезно для всех в будущем в программах ASP!
<%
'// Сгенерировать случайное количество указанных цифр
'// Вы также можете использовать функцию ixuer_rnd_str, написанную в Guidy, которая поставляется с 15 стилями, и вы можете Pseudo MD5 !!
Functionrndstr (strlong)
Dimtempstr
Рандомизировать
Dowhilelen (rndstr) <strlong
tempstr = cstr (chr ((57-48)*rnd+48))
rndstr = rndstr & tempstr
Петля
rndstr = rndstr
Конечная функция
%>
Ниже приведен параметр, представленный в форме в качестве примера для запроса. Форма. Исходное значение параметра DOAction, которое необходимо пройти, - это идентификатор считывается из базы данных.
<formname = iformaction = "abc.asp" method = "post">
<inputName = doActionType = "hidden" value = "<%= rndstr (10)%> <%= rs (" id ")%> <%= rndstr (10)%>">
</form>
Уведомление:
Значение приведенного выше изменилось, и значение, полученное каждый раз, когда обновляется страница, отличается ~~
Ниже приведена страница ABC.ASP
Сначала получите ценность DOAction
doAction = trim (request.form ("doAction"))
Ниже вы можете добавить некоторые проверки самостоятельно, например, ISNUMERIC и т. Д.
Тогда давайте разберем значение DOAction
Dimlastid
DoAction = Mid (DoAction, 11)
Astid = mid (doaction, 1, len (doaction) -10)
Если вы знакомы с средними функциями, приведенный выше контент легко догадаться, разве это не просто?
Вот фактические примеры:
Значение идентификатора, которое должно быть передано исходным DOAction в базе данных (тип поля автоматически пронумеровано): 34
иллюстрировать:
11 В середине (DoAction 11) генерирует ряд случайных символов + 1
10 в astid = mid (doaction, 1, len (doaction) -10)-это количество случайных цифр символов, сгенерированных указанным номером!
Dimlastid
DoAction = 3614354944348151287527 - значение ID после замаскированного (можно проверить как число)
DoAction = Mid (DoAction, 11)
Astid = mid (doaction, 1, len (doaction) -10)
Astid = 34
Я экспериментировал и при использовании с случайно сгенерированными буквами и числами, он может быть полностью подделка как значение, аналогичное MD5!
Есть только одно условие, и вы должны указать количество битов случайных символов!
Ха -ха, теперь каждый может вывести сточное значение ответа. Запишите, является ли это идентификатором в базе данных?