Score:0

แทนที่สตริงลงในการประทับเวลา

ธง cn

ฉันต้องการใช้ mod_substitute หรือ mod_ext_filter เพื่อแทนที่สตริงด้วยการประทับเวลาปัจจุบันในหน่วยมิลลิวินาที

ฉันพยายามจนถึงตอนนี้ แต่มันไม่ทำงาน

แทนที่ "1s/myString/&$(วันที่ +"%T.%3N")/"

ExtFilterDefine testfilter mode=output intype=text/html cmd=/bin/echo "$(sed -E "1s/myString/&$(date +"%T.%3N")/")"

มีคนมีความคิดที่จะดำเนินการนี้หรือไม่? ฉันกำลังคิดที่จะรวมเข้ากับ ssi แต่ก็ไม่ได้ผลเช่นกัน

Score:0
ธง cn

จากการอ่าน เดอะ mod_substitute เอกสารฉันไม่สามารถหาข้อมูลอ้างอิงเดียวว่าทำไมคุณถึงคิดว่ามันจะใช้งานได้กับการดำเนินการกระบวนการภายนอก (หรือการฟอร์กเชลล์หรืออะไรก็ตามในประเภทนั้น) ดังนั้นฉันจะไม่ถือว่าเส้นทางนี้เป็นทางรอด

mod_ext_filterในทางกลับกัน ดูเหมือนว่าจะปรับให้เข้ากับสิ่งที่คุณต้องการจะทำ อย่างไรก็ตามเพื่ออ้าง เอกสารของมัน:

กลไกการกรองนี้ช้ากว่าการใช้ตัวกรองซึ่งเขียนขึ้นเป็นพิเศษสำหรับ Apache API และทำงานภายในกระบวนการเซิร์ฟเวอร์ Apache

ดังนั้น ถ้าฉันเป็นคุณ ฉันจะพิจารณาใช้ภาษาไดนามิกเช่น PHP (ซึ่งเดิมเขียนขึ้นสำหรับกรณีการใช้งานนี้) หรือท้ายที่สุดก็เขียนโปรแกรม C ขนาดเล็กมากเพื่อทำสิ่งที่คุณต้องการ เพราะมันจะจบลงมาก เร็วขึ้นและไม่ยากเกินไป


ตอนนี้ ถ้าคุณต้องการยืนหยัดกับความคิดของคุณ อย่าใช้ /bin/เสียงสะท้อน. การแทนที่ที่คุณเขียน "$(sed -E "1s/myString/&$(date +"%T.%3N")/")" ต้องใช้เปลือกและ /bin/เสียงสะท้อน จะไม่วางไข่ ดังนั้นคุณต้องเขียนสคริปต์ (โซลูชันที่ฉันอยากแนะนำ) หรืออย่างน้อยก็โทร /ถัง/sh (หรือ /ถัง/ทุบตี ถ้าคุณโน้มเอียงมาก) ด้วยข้อโต้แย้งที่เหมาะสม: -c 'var="$(วันที่ +"%T.%3N")"; sed -E "1s/myString/&$var/"'.

มันแฮ็คจริงๆ และฉันก็รักษาสคริปต์ PHP หรือโปรแกรม C จะง่ายกว่าในระยะยาว แต่สำหรับแต่ละคน

the_floor avatar
cn flag
@7heo.tk: ขอบคุณมาก ป้อนข้อมูลเพิ่มเติมว่าทำไมฉันถึงต้องการทำ เป้าหมายของฉันคือป้องกันไม่ให้เครื่องมือแฮ็กเกอร์อย่าง WPSCAN ตรวจพบหมายเลขเวอร์ชันและข้อมูลเพิ่มเติมของฉัน เครื่องมือนี้สแกนไฟล์ css และ js จำนวนมาก ดังนั้นฉันต้องการใช้ตัวกรองนี้ เพื่อเพิ่มการประทับเวลาอย่างง่ายในหน่วยมิลลิวินาที ก่อนที่อินพุตไฟล์จะถูกส่งไปยังเบราว์เซอร์ เป็นต้น ด้วยวิธีนี้ ฉันสามารถเปลี่ยนแฮช md5 และ WPSCAN ไม่สามารถรับรายละเอียดของฉันได้ คุณช่วยบอกรายละเอียดเพิ่มเติมให้ฉันทำใน php ได้ไหม ฉันไม่ต้องการเปลี่ยนไฟล์อย่างถาวร ฉันต้องการเพียงเพิ่มเอาต์พุตพิเศษ ถ้ามีคนหรือบางสิ่งส่งคำขอไปยังไฟล์นี้
the_floor avatar
cn flag
ฉันพยายามทำตามคำแนะนำของคุณ: แต่หลังจากเพิ่มโค้ดของคุณแล้ว ฉันรีสตาร์ทเซิร์ฟเวอร์ apache ไม่ได้ - ฉันได้รับข้อผิดพลาด ```ExtFilterDefine testfilter mode=output intype=text/html cmd="/bin/bash -c 'var="$(date +"%T.%3N")"; sed -E "1s/Ninja/&$ var/""``` ``` ตัวกรองทดสอบ SetOutputFilter ``` ฉันตั้งคำพูดผิดหรือเปล่า?
cn flag
ใช่ ฉันเชื่อว่าคำพูดเหล่านั้นผิด ด้วยจำนวนการอ้างอิง ฉันจะใส่ทั้งหมดนั้นลงในสคริปต์เป็นการส่วนตัว และเพียงแค่ตั้งค่าสคริปต์ให้เรียกใช้งานได้สำหรับทุกคน (`chmod a+x`) จากนั้นจึงใส่พาธแบบเต็ม (เช่น [`/usr/local/ bin/myapachefilter`](http://paste.debian.net/hidden/b381a2c0/)) ในฟิลด์ "cmd" อีกประการหนึ่ง เราควรหลีกเลี่ยงการพูดคุยกันในความคิดเห็น ดังนั้นบางทีเราควรเริ่มเซสชันการสนทนา

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา