首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何防止站点被SQL注入

如何防止站点被SQL注入
EN

Stack Overflow用户
提问于 2010-12-13 11:12:14
回答 8查看 495关注 0票数 2

我的想法是从零开始使用PHP&Mysql使用MVC架构创建一个站点。但是根据客户端的要求,站点必须防止SQL注入和代码注入。

我需要做什么必要的步骤。

是启动站点的最佳框架,可以防止SQL注入和代码注入.

我要求这样做并不是为了让大家记住这一点。我只想知道哪一个更好,这样我就可以从专业人士的指导开始。

谢谢我提前..。

EN

回答 8

Stack Overflow用户

发布于 2010-12-13 11:19:16

到目前为止,防止SQL注入的最可靠方法是独占地使用米斯里参数化查询,而不是手动构建SQL语句。

它比mysql_real_escape_string()要好得多,因为意外忘记使用它的风险较低。

为了防止服务器端代码注入,永远不要在任何情况下使用eval()

为了防止Javascript注入,在显示所有用户生成的内容或将其存储在DB中之前,使用strip_tags()来处理它。

票数 5
EN

Stack Overflow用户

发布于 2010-12-13 11:14:46

立即用$_GET[]$_POST[]等从mysql_real_escape_string()转义所有输入。

票数 3
EN

Stack Overflow用户

发布于 2010-12-13 11:23:25

这两个功能将帮助您:

代码语言:javascript
复制
function escape($escape)
{
    $escape = mysql_real_escape_string($escape) ;
    return $escape ;
}

function _INPUT($name)
{
    if ($_SERVER['REQUEST_METHOD'] == 'GET') {
        return strip_tags($_GET[$name]);
        }
    if ($_SERVER['REQUEST_METHOD'] == 'POST') {
        return strip_tags($_POST[$name]);
        }
}

将带转义()函数的所有内容发送到db,并使用_INPUT()获取所有表单。除了对空( $_POST‘’name)或isset($_POST‘’name‘)等布尔函数之外,您可以对每个$_POST或$_GET使用$_GET函数。

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

https://stackoverflow.com/questions/4428202

复制
相关文章

相似问题

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