PHP基本安全防范,初学者必看
1、一般页面通过GET接收的参数都是INT型(整型)居多,但是要防范一些不规范的输入,接收时用整型函数转换一下
$id=intval($_GET["id"]);
2、有上传功能时,一定要检查文件类型。不能任意由访客上载所有文件。(特别要注意一些HTML编辑器的漏洞)
3、网站正式推出后,前面加上一句:error_reporting(0); 不要将错误显示出来
4、凡保存密码的字段都用MD5加密再保存。并且限制密码的复杂度,这样即使受到SQL注入攻击,获取的也是不能解密的密文。虽然现在有些工具可以反破解MD5加密,一般都是用穷举法,对于复杂的密码还是无法破解的。
5、编写搜索引擎机器人规则即(robots.txt,具体规则可以百度下,或者参考百度爬虫规则http://www.baidu.com/search/robots.html),不要让搜索引擎收录敏感的文件。
6、使用查询时尽量不要使用 select * from table_name ,即使是需要查询全部的字段,而应该使用 select 字段1,字段2,字段3 from table_name这种形式,避免别人利用注入攻击查询了其它的字段甚至其它的表字段。
7、不能只用javascript对用户输入进行安全性检查,提交之后仍要再检查一次
http://www.zhengbin.org/
相关文档:
在javascript代码中用encodeURIComponent()函数处理中文字符串,
JS代码:
<mce:script type=”text/javascript”><!--
string = encodeURIComponent(string);
location.href = index.php?keyword=’+string;
// --></mce:script>
PHP代码:
<?php
$keyword = (isset($_GET ......
$_SERVER['PHP_SELF'] #当前正在执行脚本的文件名,与 document root相关。
$_SERVER['argv'] #传递给该脚本的参数。
$_SERVER['argc'] #包含传递给程序的命令行参数的个数(如果运行在命令行模式)。
$_SERVER['GATEWAY_INTERFACE'] #服务器使用的 CGI 规范的版本。例如,“CGI/1.1”。
$_SERVER['SERVER_ ......
this,self,parent三个关键字之间的区别。从字面上比较好理解,分别是指这、自己、父亲。我们先建立几个概念,这三个关键字分别是用在什么地方呢?我们初步解释一下,this是指向当前对象的指针(姑且用C里面的指针来看吧),self是指向当前类的指针,parent是指向父类的指针。我们这里频繁使用指针来描述,是因为没有更好的语 ......
不知从什么时候迷恋上了php,在朦胧之中开始了我的编程之路.......
听说csdn高手如云,很想结识志同道合的朋友,无兄弟不编程,希望大家一起开拓我们的前程,编程之路,不再孤单前行!
成功之路弯曲而漫长,相信不屈不挠的努力,相信年轻,胜利一定属于我们,加 ......
先说下在做的过程中遇到的一些问题,以及解决的方法吧
1.关于书写错误
最开始做的是一个登陆模块,在登陆验证的时候,使用$_POST接收的参数,然后在验证的时候,却怎么也接收不到这两个值,后来才发现$_POST写错了,写成$POST 少个下划线,结果无法正确的验证,很是郁闷。花了好长时间,才找到原因,而且还是一个低 ......