المؤلف: انطباع خالص
QQ: 442398600
8 أغسطس 2006
قبل يومين ، كنت أعمل على إصدار في الموقع من Enterprise Search 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
الوظيفية
٪>
فيما يلي عينة من المعلمات المقدمة في نموذج النموذج للطلب.
القيمة الأصلية للمعلمة التي تحتاج إلى تمريرها هي القراءة من قاعدة البيانات
<formName = iformAction = "abc.asp" method = "post">
<inputName = doActionType = "Hidden" value = "<٪ = RNDSTR (10) ٪> <٪ = RS (" ID ") ٪> <٪ = RNDSTR (10) ٪>">
</form>
يلاحظ:
تغيرت قيمة doaction أعلاه ، والقيمة التي تم الحصول عليها في كل مرة يتم تحديث الصفحة مختلفة ~~
فيما يلي صفحة ABC.ASP
احصل أولاً على قيمة doaction
doAction = trim (request.form ("doaction"))
يمكنك أدناه إضافة بعض التحقيقات بنفسك ، مثل isnumber ، إلخ.
ثم دعونا نقوم بتفكيك قيمة doaction
Dimlastid
DoAction = mid (doaction ، 11)
LastId = mid (doaction ، 1 ، len (doaction) -10)
إذا كنت على دراية بالوظائف المتوسطة ، فإن المحتوى أعلاه سهل التخمين ، أليس كذلك؟
فيما يلي الأمثلة الفعلية:
قيمة المعرف المراد تمرير
يوضح:
11 في منتصف (DoAction ، 11) يولد عددًا من الأحرف العشوائية + 1
10 في LastId = mid (doaction ، 1 ، len (doaction) -10) هو عدد أرقام الأحرف العشوائية التي تم إنشاؤها بالرقم المحدد!
Dimlastid
DoAction = 3614354944348151287527 - قيمة الهوية بعد تمويه (يمكن التحقق منها كرقم)
DoAction = mid (doaction ، 11)
LastId = mid (doaction ، 1 ، len (doaction) -10)
LastId = 34
لقد جربت وإذا تم استخدامها بأحرف وأرقام تم إنشاؤها عشوائيًا ، فقد تكون مزيفة تمامًا كقيمة تشبه MD5!
هناك حالة واحدة فقط ، ويجب عليك تحديد عدد أجزاء الأحرف العشوائية!
هاها ، الآن يمكن للجميع إخراج القيمة الأخيرة للاستجابة. الكتابة لمعرفة ما إذا كان المعرّف في قاعدة البيانات مرة أخرى؟
يمكن استخدام هذه الطريقة لتشفير وتنزيل معلمات الفيديو. على سبيل المثال ، إذا قمت ببناء نظام تداول مستند رسمي ، يمكنك أيضًا استخدام الملفات!
نفس الشيء هو للطلب. دعونا نسخها ...
ما سبق هو تجربتي الصغيرة في كتابة برامج ASP. الرجاء تصحيحني إذا كانت هناك أي أوجه قصور!