แรงบันดาลใจอย่างฉับพลันในวันนั้นมุ่งเป้าไปที่โซ่ต่อต้านการโจรกรรม
หากใครบางคนถูกขโมยไฟล์จะถูกขโมยไปมันจะเพิ่มภาระบนเซิร์ฟเวอร์ของคุณ ครั้งสุดท้าย 164.cc ถูกแขวนไว้
จากนั้นลองนึกถึงการตอบโต้ ปัจจุบันมีโปรแกรมต่อต้านการโจรกรรมมากมาย แต่พวกเขาไม่ได้ใช้งานง่ายและไม่ฟรี ...
ดังนั้นคุณสามารถนึกถึงวิธีแก้ปัญหาด้วยตัวเองก่อน ดังนั้นตอนนี้ดูที่ชื่อและคิดเกี่ยวกับห่วงโซ่ต่อต้านการโจรกรรมบางทีคุณอาจจะมีเบาะแส
ฉันสามารถแก้ไขชื่อโฟลเดอร์ที่ไฟล์ที่อัปโหลดเป็นครั้งคราวและโปรแกรมของเว็บไซต์นี้ได้รับชื่อโฟลเดอร์แบบไดนามิก ด้วยวิธีนี้ไซต์ที่ถูกขโมยไฟล์บนเว็บไซต์นี้จะไม่พบไฟล์เนื่องจากข้อผิดพลาดของเส้นทางจึงตระหนักถึงลิงก์ต่อต้านการโจรกรรม
ดังนั้นจะใช้ FSO เพื่อแก้ไขชื่อของโฟลเดอร์ได้อย่างไร?
ฟังก์ชั่นง่าย ๆ :
การคัดลอกรหัสมีดังนี้:
-
functionfldrename (Nowfld, newfld)
Nowfld = Server.Mappath (Nowfld)
newfld = server.mappath (newfld)
setfso = createObject ("Scripting.filesystemObject")
ifnotfso.folderexists (Nowfld) แล้ว
Response.write ("เส้นทางโฟลเดอร์ที่ต้องแก้ไขไม่ถูกต้องหรือชื่อโฟลเดอร์ถูกป้อนไม่ถูกต้อง")
อื่น
fso.copyfolderNowfld, newfld
fso.deletefolder (Nowfld)
endif
setfso = ไม่มีอะไร
endfunction
-
โดยทั่วไปคือการคัดลอกเนื้อหาของโฟลเดอร์ปัจจุบันลงในโฟลเดอร์ใหม่จากนั้นลบเนื้อหาของโฟลเดอร์ซึ่งจะบรรลุวัตถุประสงค์ในการเปลี่ยนชื่อโฟลเดอร์ทางอ้อม
นี่เป็นปัญหาหวาดระแวงเพราะเมื่อแก้ไขชื่อโฟลเดอร์โดยเฉพาะอย่างยิ่งเมื่อเนื้อหาโฟลเดอร์ของโฟลเดอร์ได้รับการแก้ไขคือปริมาณ G เวลารอจะไม่ได้ผลเล็กน้อยเมื่อเทียบกับ FTP การปรับเปลี่ยนชื่อจากระยะไกล
บางคนบอกว่า FSO สามารถแก้ไขชื่อโฟลเดอร์ได้โดยตรง? ฉันไม่อยากทำ
ใช้ฟังก์ชั่นนี้
<%callfldrename ("ex01", "ex02")%>
ความหมายพื้นฐานคือการแก้ไขชื่อโฟลเดอร์ EX01 ในไดเรกทอรีเดียวกับไฟล์การดำเนินการโปรแกรมเป็น EX02
นี่คือรายงานการทดสอบในพื้นที่ของฉัน:
1. โปรแกรมนี้ไม่ได้ใช้เวลาดำเนินการโปรแกรม
2. ใช้เวลาประมาณ 50 วินาทีในการเปลี่ยนชื่อทางอ้อมของโฟลเดอร์ 1G ซึ่งเป็นจริงการคัดลอกไฟล์และเวลาถ่ายโอนทางฝั่งเซิร์ฟเวอร์
3. การบริโภค CPU ไม่สูงเกินไปประมาณ 30%
4. หากเครื่องขัดข้องหรือพลังงานหายไปในช่วงกลางของการเปลี่ยนชื่อสถานการณ์สองสถานการณ์จะเกิดขึ้น:
. โฟลเดอร์ใหม่ถูกสร้างขึ้นครั้งแรก (โฟลเดอร์ใหม่ไม่ได้ถูกสร้างขึ้น) และในครั้งต่อไปที่โปรแกรมจะดำเนินการข้อผิดพลาดจะเกิดขึ้น: Microsoft VBScript Runtime Error (0x800a003a) มีอยู่แล้ว ในเวลานี้คุณสามารถลบโฟลเดอร์ใหม่หลังจาก FTP (พยายามใช้ FSO เพื่อลบโฟลเดอร์ใหม่ไม่มีประสิทธิภาพ)
ข. บางไฟล์ถูกคัดลอก ครั้งต่อไปที่โปรแกรมจะดำเนินการเนื้อหาโฟลเดอร์ที่คัดลอกจะถูกเขียนทับโดยอัตโนมัติและเนื้อหาโฟลเดอร์ดั้งเดิมจะยังคงมีอยู่ โฟลเดอร์ดั้งเดิมและไฟล์จะถูกลบหลังจากคัดลอกเท่านั้น
5. ในเวลาเดียวกันคุณต้องใส่ใจกับชื่อของโฟลเดอร์ใหม่เพื่อหลีกเลี่ยงการทำซ้ำชื่อของโฟลเดอร์ที่มีอยู่ แน่นอนคุณสามารถใช้โปรแกรมเพื่อตัดสินได้