Điểm:1

hạn chế quyền truy cập vào một URL cụ thể với .htaccess

lá cờ vn

Xin chào, tôi đang chạy máy chủ với xenforo. tôi muốn biết làm cách nào để hạn chế url khỏi .htaccess.

url là: https://mywebiste.com/index.php?members/find&q=oi%5Bp%5C&_xfRequestUri=%2Findex.php%3Fmembers%2F&_xfWithData=1&_xfToken=1648216864%2C89d40e7bf50a91b8a62f9fe448c5d1f3&_xfResponseType=json

có sql injection nên nó nghĩ chỉ cần chặn nó là sẽ sửa được.

tôi đã thử làm một cái gì đó như thế này:

Viết LạiEngine Trên
RewriteRule ^index.php?members/find&q=oi%5Bp%5C&_xfRequestUri=%2Findex.php%3Fmembers%2F&_xfWithData=1&_xfTo
ken=1648216864%2C89d40e7bf50a91b8a62f9fe448c5d1f3&_xfResponseType=json - [F]

và với $ ở cuối:

Viết LạiEngine Trên
RewriteRule ^index.php?members/find&q=oi%5Bp%5C&_xfRequestUri=%2Findex.php%3Fmembers%2F&_xfWithData=1&_xfTo
ken=1648216864%2C89d40e7bf50a91b8a62f9fe448c5d1f3&_xfResponseType=json$ - [F]

Tôi đang làm gì sai?

Điểm:0
lá cờ kz

Các viết lại quy tắc lệnh chỉ khớp với đường dẫn URL. Để khớp với chuỗi truy vấn, bạn sẽ cần thêm Viết lạiĐiều kiện (điều kiện) chỉ thị phù hợp với CHUỖI TRUY VẤN biến máy chủ.

Ví dụ: để chặn URL cụ thể đó:

RewriteCond %{QUERY_STRING} =members/find&q=oi%5Bp%5C&_xfRequestUri=%2Findex.php%3Fmembers%2F&_xfWithData=1&_xfToken=1648216864%2C89d40e7bf50a91b8a62f9fe448c5d1f3&_xfResponseType=json
RewriteRule ^index\.php$ - [F]

Các = tiền tố trên CondPattern (đối số thứ 2 với Viết lạiĐiều kiện chỉ thị) làm cho nó trở thành một so sánh chuỗi từ điển (khớp chính xác), không phải là một biểu thức chính quy, vì vậy không cần phải thoát các ký tự meta biểu thức chính quy đặc biệt.

Tuy nhiên, URL này rất cụ thể, sẽ không tốt hơn nếu chặn các URL (không) khớp với một số mẫu? Mặc dù nếu bạn đã xác thực đầy đủ các giá trị tham số URL trong tập lệnh phía máy chủ của mình thì việc chặn các URL cụ thể như thế này là không cần thiết.

mikef0x avatar
lá cờ vn
Cảm ơn câu trả lời, làm cách nào tôi có thể chặn các url không tính theo một mẫu nhất định?
lá cờ kz
@ mikef0x Sử dụng biểu thức chính quy. Nó phụ thuộc vào "mẫu nhất định" mà bạn làm/không muốn khớp.
Điểm:0
lá cờ in

Giải pháp bạn đang cố triển khai sẽ chỉ chặn URL bạn đã nhập.Thay đổi URL này theo bất kỳ cách nào, ví dụ: hoán đổi hai trong số các tham số GET hoặc thêm các tham số GET bổ sung (thậm chí là các tham số không liên quan) hoặc thêm các tham số thẻ băm sẽ khiến yêu cầu khác với Apache và vượt qua sự bảo vệ của bạn.

Thay vào đó, hãy sửa đổi index.php của bạn để xử lý đúng yêu cầu và hoạt động an toàn với đầu vào của người dùng (chẳng hạn như yêu cầu GET), cung cấp HTTP403 Unauthorized trong trường hợp có bất kỳ điều gì đáng ngờ xuất hiện.

mikef0x avatar
lá cờ vn
cảm ơn vì câu trả lời, nhưng tôi đang sử dụng xenforo và tôi không có kinh nghiệm về php nên rất khó để tôi thực hiệ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.