พารามิเตอร์ pseudo- (pseudo-) ที่กระชับและใช้งานได้จริง
สองวันที่ผ่านมาฉันกำลังทำงานกับเครื่องมือค้นหาขององค์กรในสถานที่และพบว่าบางไซต์สามารถเชื่อมโยงไปยังเนื้อหาของไซต์ได้ -
ฉันดูมันแปลก ๆ และกลับกลายเป็นว่ามันเชื่อมโยงตามกฎการกำหนดหมายเลขอัตโนมัติของ ID ฐานข้อมูล ~~
ฉันได้ทำสิ่งต่อไปนี้ในเวลาว่างหวังว่ามันจะเป็นประโยชน์กับทุกคนในการเขียนโปรแกรม 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
endfunction
-
ต่อไปนี้เป็นพารามิเตอร์ที่ส่งในแบบฟอร์มเป็นตัวอย่างสำหรับ request.form ค่าดั้งเดิมของพารามิเตอร์ doaction ที่ต้องส่งผ่านคือ ID อ่านจากฐานข้อมูล
<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"))
ด้านล่างคุณสามารถเพิ่มการตรวจสอบด้วยตัวเองเช่น isnumeric ฯลฯ
จากนั้นเรามาทำลายค่าของการทำปฏิกิริยากันเถอะ
การคัดลอกรหัสมีดังนี้:
หรี่
doaction = mid (doaction, 11)
LastId = mid (doaction, 1, len (doaction) -10)
หากคุณคุ้นเคยกับฟังก์ชั่นกลางเนื้อหาข้างต้นนั้นง่ายต่อการคาดเดามันไม่ง่ายเลยเหรอ?
นี่คือตัวอย่างที่แท้จริง:
ค่าของ ID ที่จะส่งผ่านโดย doaction ดั้งเดิมในฐานข้อมูล (ประเภทของฟิลด์มีหมายเลขโดยอัตโนมัติ) คือ: 34
ภาพประกอบ:
11 ในกลาง (doaction, 11) สร้างอักขระสุ่มจำนวนหนึ่ง + 1
10 ใน LastId = mid (doaction, 1, len (doaction) -10) คือจำนวนตัวเลขอักขระแบบสุ่มที่สร้างขึ้นตามจำนวนที่ระบุ!
หรี่
Doaction = 3614354944348151287527 - ค่า ID หลังจากปลอมตัว (สามารถตรวจสอบเป็นตัวเลขได้)
doaction = mid (doaction, 11)
LastId = mid (doaction, 1, len (doaction) -10)
LastId = 34
ฉันทดลองและหากใช้กับตัวอักษรและตัวเลขที่สร้างแบบสุ่มมันสามารถปลอมได้อย่างสมบูรณ์เป็นค่าที่คล้ายกับ MD5!
มีเพียงเงื่อนไขเดียวและคุณต้องระบุจำนวนบิตของอักขระสุ่ม!
ฮ่าฮ่าตอนนี้ทุกคนสามารถส่งออกค่าสุดท้ายของการตอบสนองเขียนเพื่อดูว่าเป็น ID ในฐานข้อมูลอีกครั้งหรือไม่?
วิธีนี้สามารถใช้ในการเข้ารหัสและดาวน์โหลดพารามิเตอร์วิดีโอ ตัวอย่างเช่นหากคุณได้สร้างระบบการไหลเวียนของเอกสารอย่างเป็นทางการของรัฐบาลคุณสามารถใช้ไฟล์ได้!
สิ่งเดียวกันสำหรับการร้องขอคำถาม! มาคัดลอกกันเถอะ ...
ข้างต้นเป็นประสบการณ์เล็ก ๆ น้อย ๆ ของฉันในการเขียนโปรแกรม ASP โปรดแก้ไขฉันหากมีข้อบกพร่องใด ๆ !
คุณสามารถใช้ตัวเลขกลางได้ตามต้องการหรือคุณทำได้