Giải pháp này không bao gồm tất cả các trường hợp.
Thay thế bất kỳ số hoặc dấu chấm nào trong URL IP bằng% ## của nó, ví dụ 1 bằng% 31 ... 8 bằng% 38 và bạn sẽ đến IP, không phải trên url tên miền.
Giả sử IP xấu này, được sử dụng để giảm bớt lời giải thích: 123,45.6.789
Bạn phải sử dụng 2 lựa chọn thay thế cho tất cả các chữ số và dấu chấm: dấu chấm là% 2E và 0..9 là% 30 ..% 39
RewriteEngine on
RewriteCond %{HTTP_HOST} (1|%31)(2|%32)(3|%33)(\.|%2E)(4|%34)(5%35)(\.|%2E)(6|%36)(\.|%2E)(7|%37)(8|%38)(9|%39)
RewriteRule . - [F]
Xấu xí, nó có thể được giảm với {1,3} và bị hạn chế thành IP hợp lệ nhưng vì nó là dành cho IP của bạn, không cần phải làm như vậy.
Đừng quên các cổng như ": 80". HTTP_HOST chứa nó và SERVER_NAME không đáng tin cậy.