ดังที่เราทุกคนรู้ว่าธรรมชาติที่ทรงพลังและทำลายล้างของส่วนประกอบ FileSystemObject คือมันมักจะใช้งานได้ฟรี
ฉันแยกเหตุผลสำหรับการปิดการใช้งานของผู้ให้บริการ (ผู้ที่สนับสนุน ASP) และพบเพียงสองวิธี แต่ในภายหลัง
เมื่อฉันถูกกระตุ้นโดยใครบางคนฉันคิดถึงวิธีที่ไม่รู้จักที่สาม ฮ่าฮ่าฉันไม่รู้ว่าเป็นกรณีนี้หรือไม่
ประเภทแรก: ใช้ regsrv32/u c: /windows/system/scrrun.dll (เส้นทาง win98) เพื่อออกจากระบบกลุ่ม
- วิธีนี้โหดร้ายเกินไปและเป็นของวิธีการตายด้วยกัน ไม่มีใครสามารถใช้งานได้ มันเป็นเคล็ดลับ
ประเภทที่สอง: แก้ไขค่าของ progid วิธีการเรียกส่วนประกอบใน ASP มักจะตั้งชื่อ Object Name = Server
createObject (progid) ในเวลานี้เราสามารถปรับเปลี่ยนค่า progid ในรีจิสทรีเพื่อเข้าถึง
ไปยังวิธีการปิดใช้งานส่วนประกอบ แตะ Regedit ในการเริ่มต้นและค้นหา hkey_classes_roo
t/scripting.filesystemobject จากนั้นเราสามารถเปลี่ยนค่าของ progid เช่น
เพื่อเขียนสคริปต์ filesystemobject8 สิ่งนี้เรียกว่าในหน้า ASP:
<%@ language = vbscript%>
-
ตั้งค่า fs = server.createObject (scripting.filesystemobject8)
-
(หากคุณไม่เคยเรียกองค์ประกอบนี้มาก่อนคุณไม่จำเป็นต้องรีสตาร์ทและคุณสามารถดูเอฟเฟกต์ได้มิฉะนั้นโปรดกลับมาอีกครั้ง
ดูเอฟเฟกต์หลังจากเริ่มต้น -
ในเวลานี้มาดูผลลัพธ์ของการใช้วิธีการโทรดั้งเดิม:
<%@ language = vbscript%>
-
ตั้งค่า fs = server.createObject (scripting.filesystemobject)
-
ผลการดำเนินการในเวลานี้คือ:
ข้อผิดพลาดของวัตถุเซิร์ฟเวอร์ 'ASP 0177: 800401F3'
Server.createObject ล้มเหลว
/aspimage/testfile2.asp, บรรทัดที่ 3
800401F3
(ตกลงตรงตามข้อกำหนดของเรา)
เพราะฉันมาสายสองขั้นตอนคนอื่น ๆ จึงรีบตอบวิธีนี้ซึ่งกระตุ้นฉันอย่างมาก
วิธีที่สามผลิตขึ้น
ประเภทที่สาม: ผู้เชี่ยวชาญอย่างระมัดระวังจะคิดว่าเนื่องจากคุณสามารถปิดการใช้งานส่วนประกอบได้โดยการแก้ไขค่า progid
ฉันสามารถแก้ไขได้หรือไม่? (ตกลงคุณคิดเช่นเดียวกับฉัน) เรารู้ว่ายกเว้นวิธี createBject
นอกจากนี้คุณยังสามารถใช้คำอธิบายประกอบ <BOJICT> ทั่วไปเพื่อสร้างส่วนประกอบ เราสามารถใช้ HTM ใน ASP
แท็ก <Object> ของ l เพื่อเพิ่มส่วนประกอบในหน้าเว็บ วิธีคือ:
<Object runat = Server ID = FS1 SCOPE = PAGE PROGID = SCRIPTING.FILESYSTEMOBJ
ect> </object>
Runat หมายความว่ามันถูกดำเนินการทางฝั่งเซิร์ฟเวอร์ขอบเขตหมายถึงวงจรชีวิตของส่วนประกอบคุณสามารถใช้เซสชันและ Appl
ication หรือ page (หมายถึงหน้าปัจจุบันซึ่งสามารถเริ่มต้นได้)
วิธีการเขียนนี้ไร้ประโยชน์สำหรับเราและอีกวิธีหนึ่งในการเขียนคือ:
<Object runat = Server ID = fs1 scope = page classid = clsid: ค่าของ clsid> </obj
ect>
นอกจากนี้เรายังสามารถปิดการใช้งานส่วนประกอบได้โดยการปรับเปลี่ยนค่าของ CLSID เช่น HKEY_CLASSES_RO ในรีจิสทรี
OT/Scripting.FilesYstemObject/CLSID ค่า 0D43FE01-F093-11CF-8940-00A0C90
54228 เปลี่ยนเป็น 0D43FE01-F093-11CF-8940-00A0C9054229 (เปลี่ยนบิตสุดท้าย) ในเวลานี้
วิธีการเขียนคือ:
<Object Runat = Server ID = FS1 scope = page classid = clsid: 0d43fe01-f093-11
CF-8940-00A0C9054229> </jobch>