首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >组建安全系统。PHP MYSQL

问组建安全系统。PHP MYSQL
EN

Stack Overflow用户
提问于 2011-04-11 21:33:08
回答 5查看 1.7K关注 0票数 1

好的,我有一个用户表单,它的值被提交到数据库。

我的价值观如下,

代码语言:javascript
复制
$type = $_POST['type'];
$username = mysql_real_escape_string($_POST['username']);
$gender = $_POST['gender'];
$email = mysql_real_escape_string($_POST['email']);
$password = mysql_real_escape_string($_POST['password']);

然后我插入它们如下,

代码语言:javascript
复制
mysql_query("INSERT INTO accounts (username, email, password, gender, type) VALUES ('$username', '$email', '$password', '$gender', '$type')");

现在我对此非常满意,然后我做了一些研究,一些叫做mysql_real_escape_string的表让我担心安全性,然后我发现也应该用于单选按钮,然后我发现我需要定义一个输入值是否是一个整数并检查它?现在这让我很担心,因为我认为我的网站是安全的,但它显然不是,所以在一些帮助下,你能解释一下巴比表,以及如何比使用标准的真实转义更安全吗?

谢谢

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-04-11 21:38:15

这是消毒你的数据的概念,,特别是不可预测的输入是公开的。

票数 2
EN

Stack Overflow用户

发布于 2011-04-11 21:36:30

网络安全的第一条规则:永远不要相信你的输入。

mysql_real_escape_string通常是足够好的。您可以做其他有趣的事情,比如检查,看看应该是数字的东西是什么(这比调用mysql_real_escape_string容易得多)。

请记住,如果您将输入用于SQL查询以外的其他方面,则需要格外偏执。例如,我有一个脚本,它以名称作为参数,并使用它在磁盘上查找文件。然而,如果有人做了一些棘手的事情,他们可能能够访问一个文件,他们不应该使用我的脚本。因此,通过对照正则表达式检查文件名,确保文件名看起来是正确的。

票数 1
EN

Stack Overflow用户

发布于 2011-04-11 21:37:26

转义您的所有参数将发挥作用,因为这将确保您的所有特殊字符将被转义。所以只要相信你的mysql_real_escape_string :-)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5627826

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档