欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【保护代码安全,PHP如何进行注入】,下面是详细的分享!
保护代码安全,PHP如何进行注入
我们主要是从两点出发,因为我们的获取的变量一般都是通过GET或者POST方式提交过来的,那么我们只要对GET和POST过来的变量进行过滤,那么就能够达到防止注入的效果。而且我们的PHP真是非常好,已经内置了$_GET和$_POST两个数组来存储所有变量,我们要做的工作就是过滤每个变量就可以了。
下面看具体的代码:
foreach ($_GET as $get_key=%26gt;$get_var)
{
if (is_numeric($get_var))
if (is_numeric($get_var)) {
$get[strtolower($get_key)]=get_int($get_var);
} else {
$get[strtolower($get_key)]=get_str($get_var);
}
}
foreach ($_POST as $post_key=%26gt;$post_var)
{
if (is_numeric($post_var)) {
$post[strtolower($post_key)]=get_int($post_var);
} else {
$post[strtolower($post_key)]=get_str($post_var);
}
}
//整型过滤函数
function get_int($number)
{
return intval($number);
}
//字符串型过滤函数
function get_str($string)
{
if (!get_magic_quotes_gpc()) {
return addslashes($string);
}
return $string;
}
那么我们把以上代码放到一个公共的文件里,比如security.inc.php里面,每个文件里都include一下这个文件,那么就能够给任何一个程序进行提交的所有变量进行过滤了,就达到了我们一劳永逸的效果。
另外,还有一些其他的过滤方法,比如采用我以前使用的关键字过滤的方法:http://dev.csdn.net/article/71/71475.shtm
还可以参考三尺寒冰写的方法:http://www.fanghei.com/html/2005-06/20050607114008.htm
方法是不同的,但是核心就是为了我们的代码更加安全。
以上所分享的是关于保护代码安全,PHP如何进行注入,下面是编辑为你推荐的有价值的用户互动:
相关问题:php如何防止sql注入
答:额,这是我老师给的答案 过滤一些常见的数据库操作关键字, select ,insert,update,delete,and,*等或通过系统函数addslashes对内容进行过滤 php配置文件中register_globals=off;设置为关闭状态.(作用将注册全局变量关闭);如接收POST表单的值... >>详细
相关问题:PHP防注入通用代码
答:判断传递的变量中是否含有非法字符如$_POST、$_GET功能:防注入**************************/ >>详细
相关问题:PHP网站怎么sql注入?有没有破解防御的方法?
答:网站的运行安全肯定是每个站长必须考虑的问题,大家知道,大多数黑客攻击网站都是采用sql注入,这就是我们常说的为什么最原始的静态的网站反而是最安全的。 今天我们讲讲PHP注入的安全规范,防止自己的网站被sql注入。 如今主流的网站开发语言还... >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
