Điểm:0

Thay thế một chuỗi thành dấu thời gian

lá cờ cn

tôi muốn sử dụng mod_substolarship hoặc mod_ext_filter để thay thế một chuỗi bằng dấu thời gian hiện tại tính bằng mili giây.

Tôi đã cố gắng cho đến nay, nhưng nó không hoạt động.

Thay thế "1s/myString/&$(date +"%T.%3N")/"

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

Có ai đó có ý tưởng để chạy cái này không? Tôi cũng đã nghĩ đến việc kết hợp nó với ssi, nhưng cũng không được.

Điểm:0
lá cờ cn

từ việc đọc các mod_substolarship tài liệu, tôi không thể tìm thấy một tài liệu tham khảo nào về lý do tại sao bạn nghĩ rằng nó sẽ hoạt động với việc thực thi một quy trình bên ngoài (hoặc chuyển đổi trình bao hoặc bất kỳ thứ gì thuộc loại đó). Vì vậy, tôi sẽ không coi con đường này là một con đường khả thi.

mod_ext_filtermặt khác, dường như thích nghi với những gì bạn muốn làm. Tuy nhiên, để trích dẫn tài liệu của nó:

Cơ chế lọc này chậm hơn nhiều so với việc sử dụng bộ lọc được viết riêng cho API Apache và chạy bên trong quy trình máy chủ Apache

Vì vậy, nếu tôi là bạn, tôi sẽ cân nhắc sử dụng một ngôn ngữ động như PHP (ban đầu được viết cho trường hợp sử dụng này) hoặc cuối cùng là viết một chương trình C rất nhỏ để làm những gì bạn muốn, vì nó sẽ kết thúc nhiều nhanh hơn và không quá khó.


Bây giờ, nếu bạn muốn tiếp tục với ý tưởng của mình, đừng sử dụng /bin/tiếng vang. Sự thay thế bạn đã viết trong "$(sed -E "1s/myString/&$(date +"%T.%3N")/")" yêu cầu một vỏ, và /bin/tiếng vang sẽ không sinh ra một. Do đó, bạn cần viết một tập lệnh (giải pháp tôi muốn giới thiệu) hoặc ít nhất là gọi /bin/sh (hoặc /bin/bash nếu bạn có khuynh hướng như vậy) với những lập luận thích hợp: -c 'var="$(date +"%T.%3N")"; sed -E "1s/myString/&$var/"'.

Nó thực sự rất khó và tôi duy trì một tập lệnh PHP hoặc một chương trình C sẽ đơn giản hơn về lâu dài, nhưng đối với mỗi người.

the_floor avatar
lá cờ cn
@7heo.tk: cám ơn nhiều. Một số đầu vào khác, tại sao tôi muốn làm điều đó. Mục tiêu của tôi là ngăn chặn các công cụ tin tặc như WPSCAN phát hiện số phiên bản của tôi và nhiều thông tin khác. Công cụ này quét rất nhiều tệp css và js. Vì vậy, tôi muốn sử dụng bộ lọc này để thêm dấu thời gian đơn giản tính bằng mili giây, ngay trước khi đầu vào tệp sẽ được gửi tới trình duyệt, v.v. Bằng cách này, tôi có thể thay đổi hàm băm md5 và WPSCAN không thể lấy thông tin chi tiết của tôi. Bạn có thể cho tôi biết thêm chi tiết, để làm điều đó trong php? Tôi không muốn thay đổi tệp vĩnh viễn, tôi chỉ muốn thêm một số đầu ra bổ sung, nếu ai đó hoặc thứ gì đó gửi yêu cầu tới tệp này.
the_floor avatar
lá cờ cn
Tôi đã cố gắng làm theo lời khuyên của bạn: Nhưng sau khi thêm mã của bạn, tôi không thể khởi động lại máy chủ apache - tôi gặp lỗi. ```ExtFilterDefine testfilter mode=output intype=text/html cmd="/bin/bash -c 'var="$(date +"%T.%3N")"; sed -E "1s/Ninja/&$ var/""``` ```Bộ lọc kiểm tra SetOutputFilter```. Tôi đã đặt dấu ngoặc kép sai?
lá cờ cn
Vâng, tôi tin rằng những trích dẫn đó là sai. Với số lượng trích dẫn, cá nhân tôi sẽ đặt tất cả những thứ đó vào một tập lệnh và chỉ đặt tập lệnh thành có thể thực thi được cho tất cả (`chmod a+x`), sau đó đặt đường dẫn đầy đủ (đại loại như [`/usr/local/ bin/myapachefilter`](http://paste.debian.net/hidden/b381a2c0/)) trong trường `cmd`. Một lưu ý khác, chúng ta nên tránh thảo luận trong các bình luận, vì vậy có lẽ chúng ta nên bắt đầu một phiên trò chuyện?

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.