美好的一天。
我遇到了垃圾邮件发送者的问题,他利用我的网站来达到他的肮脏目的。垃圾邮件发送者 IP 类似于 111.111.11.11
- 除了最后两个数字之外,完全静态。我能否以某种方式在单个 SQL 查询中定位 00
- 99
范围?
这就是我知道我可以处理它的方式(示例中没有任何操作):
SELECT * FROM myTable WHERE ip = 111.111.11.00
SELECT * FROM myTable WHERE ip = 111.111.11.01
SELECT * FROM myTable WHERE ip = 111.111.11.02
/* etc. */
我可以以某种方式通配最后两个数字,例如:
SELECT * FROM myTable WHERE ip = 111.111.11.??
或者循环遍历一个范围(最好直接在 phpmyadmin 中)
SELECT * FROM myTable WHERE ip = 111.111.11.00 -> 111.111.11.99
我一直在浏览 MySQL 引用手册,但我不太确定我在寻找什么。非常感谢任何帮助。
亲切的问候, 吉米
编辑: like
运算符就是我正在寻找的。一名 WordPress 插件故障利用者将得到应有的报应。感谢您的所有建议!
最佳答案
这是一个想法。请注意,正如所写,此解决方案不能使用索引...
SELECT * FROM my_table WHERE INET_ATON(ip) BETWEEN 1869548288 AND 1869548387;
关于mysql - 使用语句选择整个 IP 范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40506299/