我想创建一个用于制作评论框的表格。我被告知我应该警惕sql注入(甚至不知道这意味着什么)。
所以我想我应该在SO处问。我的要求是:
评论表
上表的MySQL查询,不允许SQL注入。我很困惑。任何帮助将受到高度赞赏。非常感谢。
答案 0 :(得分:3)
创建表通常只在安装系统时发生一次。因此,没有SQL injection的风险(当使用用户提供的数据运行查询时会发生这种风险)。
以上描述可能实现为:
CREATE TABLE `comment` (
`comment_id` INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
`comment_text` VARCHAR(400) NOT NULL,
`aid_id` INTEGER NOT NULL REFERENCES `aid`(`aid_id`),
`comment_time` DATETIME NOT NULL,
`user_id` INTEGER NOT NULL REFERENCES `user`(`user_id`)
);
答案 1 :(得分:1)
在mysql中尝试并使用stored procedures。
使用参数将输入传递给存储过程。
答案 2 :(得分:0)
答案 3 :(得分:0)
在Wikipedia和其他地方解释了SQL注入。
使用mysql_real_escape_string()或stored procedures是避免SQL注入的标准技术。