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对用户输入进行安全性检查,提交之后仍要再检 ......
根据GyPSii API提供的操作类和方法,发现请求会失败,返回的是一个bed request。原因其实很简单,但一直没有找到,最终原因是对方提供的host是错误的,没天理。
对方提供的host和uri:
host:http://dev3.gypsii.com/gypsii
uri:http://dev3.gypsii.com/gypsii/xmlservice.cgi
这个host就是错的,应该是:dev3.gypsii.com =。=!!
GyPSiiXMLRPC这个方法也是有问题的,只直利用API里写的是不行的,仔细看这个类会发现有一个makeUri,用这个方法处理一下传递的
uri就可以了,也就是GyPSiiXMLRPC方法里加上:
$uri = $this->makeUri( $uri );
请求示例:
include "client.php";
$http = new Net_HTTP_Client();
$uri="http://dev3.gypsii.com/gypsii/xmlservice.cgi";
$host="dev3.gypsii.com";
$body=u();
$http->connect( "$host", 80 ) or die( "connect problem" );
$http->GyPSiiXMLRPC( $uri, $host, $pid, $body);
/*登录信息
username:用户名
password:密码
*/
function u(){
return "<?xml version='1.0' encoding='utf8'?><request service='com:gypsii:ser ......
语法: boolean session_register(string name);
注册新的变量。
返回值: 布尔值
函数种类: 资料处理
内容说明
本函数在全域变量中增加一个变量到目前的 Session 之中。参数 name 即为欲加入的变量名。成功则返回 true 值。
假如在头文件,开启session,即使用session_start()函数后面加上session_register(string name)(比如session_register(‘username’)),那么此变量即成为一全局变量,将影响所有使用调用session_start()的文件。
如:
<?php
session_start();
$username = ‘test’;
session_register(‘username’);
echo $_session['username']; //输出test
?>
......
例子. return() 函数的用法
<?php
function square ($num)
{
return $num * $num;
}
echo square (4); // outputs '16'.
?>
函数不能返回多个值,但为了获得简单的结果,可以返回一个列表。
例子. 返回一个数组以得到多个返回值
<?php
function small_numbers()
{
return array (0, 1, 2);
}
list ($zero, $one, $two) = small_numbers();
?>
从函数返回一个引用,你必须在函数声明和指派返回值给一个变量时都使用引用操作符 & :
例子. 由函数返回一个引用
<?php
function &returns_reference()
{
return $someref;
}
$newref =& returns_reference();
?>
......
方法一:
<?php
function extend_1($file_name)
{
$retval="";
$pt=strrpos($file_name, ".");
if ($pt) $retval=substr($file_name, $pt+1, strlen($file_name) - $pt);
return ($retval);
}
?>
方法二:
function extend_2($file_name)
{
$extend = pathinfo($file_name);
$extend = strtolower($extend["extension"]);
return $extend;
}
方法三:
function extend_3($file_name)
{
$extend =explode("." , $file_name);
$va=count($extend)-1;
return $extend[$va];
}
......
转自:http://www.w3school.com.cn/php/func_string_substr.asp
PHP substr() 函数
PHP String 函数
定义和用法
substr() 函数返回字符串的一部分。
语法
substr(string,start,length)
参数描述
string
必需。规定要返回其中一部分的字符串。
start
必需。规定在字符串的何处开始。
正数 - 在字符串的指定位置开始
负数 - 在从字符串结尾的指定位置开始
0 - 在字符串中的第一个字符处开始
charlist
可选。规定要返回的字符串长度。默认是直到字符串的结尾。
正数 - 从 start 参数所在的位置返回
负数 - 从字符串末端返回
提示和注释
注释:如果 start 是负数且 length 小于等于 start,则 length 为 0。
例子
例子 1
<?php
echo substr("Hello world!",6);
?>
输出:
world!
例子 2
<?php
echo substr("Hello world!",6,5);
?>
输出:
world
PHP String 函数
另外可参考:http://php.freehostingguru.com/function.php-substr.php
......