Php SQL格式的垃圾邮件IP列表
我的MySQL数据库中有下表:Php SQL格式的垃圾邮件IP列表,php,sql,spam-prevention,Php,Sql,Spam Prevention,我的MySQL数据库中有下表: CREATE TABLE IF NOT EXISTS `virt100706_wie`.`banned_ips` ( `idbanned_ips` INT NOT NULL AUTO_INCREMENT , `ip` TEXT NOT NULL , `date` DATE NOT NULL , `reason` TEXT NULL , PRIMARY KEY (`idbanned_ips`) ) ENGINE = InnoDB 我想添加到它
CREATE TABLE IF NOT EXISTS `virt100706_wie`.`banned_ips` (
`idbanned_ips` INT NOT NULL AUTO_INCREMENT ,
`ip` TEXT NOT NULL ,
`date` DATE NOT NULL ,
`reason` TEXT NULL ,
PRIMARY KEY (`idbanned_ips`) )
ENGINE = InnoDB
我想添加到它的IP列表,这是发送垃圾邮件,属于黑客,僵尸网络等,并永久阻止它访问我的网站
我找到了一个很好的列表,但它是以CSV格式发布的,我需要SQL格式(INSERT
statements)
我的问题是:是否有以SQL格式发布的垃圾邮件IP列表?或是否有任何工具可以将CSV转换为SQLINSERT
格式?
提前谢谢 我有时不得不做这种事。这是一项值得为之编写脚本的任务。通常我不会编写脚本-我会使用emacs键盘宏,但如果您的编辑器不支持键盘宏,以下是另一种方法:
- 在电子表格程序中打开CSV
- 编写一个公式列,将值替换到正确的位置
(假设IP地址在A列中)
=“插入到virt100706.ips(ip,日期)值(“&A1&”,NOW());”
- 填写公式
然后将结果复制并粘贴到编辑器中,并保存为
.sql
文件。我有时不得不做这种事情。这是一项值得为之编写脚本的任务。通常我不会编写脚本-我会使用emacs键盘宏,但如果您的编辑器不支持键盘宏,以下是另一种方法:
- 在电子表格程序中打开CSV
- 编写一个公式列,将值替换到正确的位置
(假设IP地址在A列中)
=“插入到virt100706.ips(ip,日期)值(“&A1&”,NOW());”
- 填写公式
然后将结果复制并粘贴到编辑器中,并另存为
.sql
文件。您可以从下载的csv文件中自己创建sql INSERT语句。
通过适当的“awk”命令导入文件,并将输出写入一个文件-请参见下文。
然后将该文件用作SQL插入源
此命令将创建所需的SQL:
$ tail -n+2 spam-ip.com_10-28-2013.csv | awk 'BEGIN { FS = ", " } ; {print "INSERT INTO virt100706_wie.banned_ips (ip,date) VALUES (\"" $2 "\",now());"}' > spam-ip.com_10-28-2013.sql
管道输出示例:
$ tail spam-ip.com_10-28-2013.sql
INSERT INTO virt100706_wie.banned_ips (ip,date) VALUES ("61.191.191.154",now());
INSERT INTO virt100706_wie.banned_ips (ip,date) VALUES ("95.79.195.2",now());
INSERT INTO virt100706_wie.banned_ips (ip,date) VALUES ("194.8.75.54",now());
INSERT INTO virt100706_wie.banned_ips (ip,date) VALUES ("218.247.161.37",now());
INSERT INTO virt100706_wie.banned_ips (ip,date) VALUES ("94.75.193.168",now());
INSERT INTO virt100706_wie.banned_ips (ip,date) VALUES ("94.142.128.220",now());
INSERT INTO virt100706_wie.banned_ips (ip,date) VALUES ("212.157.248.198",now());
INSERT INTO virt100706_wie.banned_ips (ip,date) VALUES ("99.228.96.58",now());
INSERT INTO virt100706_wie.banned_ips (ip,date) VALUES ("92.112.40.145",now());
INSERT INTO virt100706_wie.banned_ips (ip,date) VALUES ("118.35.46.144",now());
$
而不是像:
$ mysql -u XXX -p virt100706_wie < spam-ip.com_10-28-2013.sql
$mysql-u XXX-p virt100706\u wie
您可以从下载的csv文件中自己创建SQL INSERT语句。
通过适当的“awk”命令导入文件,并将输出写入一个文件-请参见下文。
然后将该文件用作SQL插入源
此命令将创建所需的SQL:
$ tail -n+2 spam-ip.com_10-28-2013.csv | awk 'BEGIN { FS = ", " } ; {print "INSERT INTO virt100706_wie.banned_ips (ip,date) VALUES (\"" $2 "\",now());"}' > spam-ip.com_10-28-2013.sql
管道输出示例:
$ tail spam-ip.com_10-28-2013.sql
INSERT INTO virt100706_wie.banned_ips (ip,date) VALUES ("61.191.191.154",now());
INSERT INTO virt100706_wie.banned_ips (ip,date) VALUES ("95.79.195.2",now());
INSERT INTO virt100706_wie.banned_ips (ip,date) VALUES ("194.8.75.54",now());
INSERT INTO virt100706_wie.banned_ips (ip,date) VALUES ("218.247.161.37",now());
INSERT INTO virt100706_wie.banned_ips (ip,date) VALUES ("94.75.193.168",now());
INSERT INTO virt100706_wie.banned_ips (ip,date) VALUES ("94.142.128.220",now());
INSERT INTO virt100706_wie.banned_ips (ip,date) VALUES ("212.157.248.198",now());
INSERT INTO virt100706_wie.banned_ips (ip,date) VALUES ("99.228.96.58",now());
INSERT INTO virt100706_wie.banned_ips (ip,date) VALUES ("92.112.40.145",now());
INSERT INTO virt100706_wie.banned_ips (ip,date) VALUES ("118.35.46.144",now());
$
而不是像:
$ mysql -u XXX -p virt100706_wie < spam-ip.com_10-28-2013.sql
$mysql-u XXX-p virt100706\u wie
你——程序员——是它的工具。但是,使用phpmyadmin可以将csv文件作为well@hek2mgl我认为手动将892875行输入数据库是不愉快的。。。PhpMyAdmin可以导入CSV文件吗?当然我的意思是你应该编写一个脚本。(我说程序员)!!!:)是的,phpmyadmin可以为您做到这一点,您——程序员——就是它的工具。但是,使用phpmyadmin可以将csv文件作为well@hek2mgl我认为手动将892875行输入数据库是不愉快的。。。PhpMyAdmin可以导入CSV文件吗?当然我的意思是你应该编写一个脚本。(我说程序员)!!!:)是的,phpmyadmin可以为您这样做在LibreOffice中我看到“Err:522”IP地址在B列中ok,现在ok,thanksOK,太好了-我在想连接的语法可能略有不同,这是基于Excel…不,这是逻辑错误。刚刚在LibreOffice中修复我看到“Err:522”IP地址在B列中ok,现在可以了,谢谢,太好了-我在想连接的语法可能略有不同,这是基于Excel…不,这是逻辑错误。刚刚修好