很多站长朋友们都不太清楚php判断安全字符,今天小编就来给大家整理php判断安全字符,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 PHP判断输入字符是否符合限制条件 2、 求教PHP验证用户名或密码包含非法字符 3、 php 判断一个字符串里是否有某个字符 4、 php过滤非法字符 5、 php $_GET 安全 PHP判断输入字符是否符合限制条件<?php
class Fun{
function isEmpty($val)
{
if (!is_string($val)) return false; //是否是字符串类型
if (empty($val)) return false; //是否已设定
if ($val=='') return false; //是否为空
return true;
}
/*
-----------------------------------------------------------
函数名称:isNumber
简要描述:检查输入的是否为数字
输入:string
输出:boolean
修改日志:------
-----------------------------------------------------------
*/
function isNumber($val)
{
if(ereg("^[0-9]+$", $val))
return true;
return false;
}
/*
-----------------------------------------------------------
函数名称:isPhone
简要描述:检查输入的是否为电话
输入:string
输出:boolean
修改日志:------
-----------------------------------------------------------
*/
function isPhone($val)
{
//eg: xxx-xxxxxxxx-xxx | xxxx-xxxxxxx-xxx ...
if(ereg("^((0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$",$val))
return true;
return false;
}
/*
-----------------------------------------------------------
函数名称:isPostcode
简要描述:检查输入的是否为邮编
输入:string
输出:boolean
修改日志:------
-----------------------------------------------------------
*/
function isPostcode($val)
{
if(ereg("^[0-9]{4,6}$",$val))
return true;
return false;
}
/*
-----------------------------------------------------------
函数名称:isEmail
简要描述:邮箱地址合法性检查
输入:string
输出:boolean
修改日志:------
-----------------------------------------------------------
*/
function isEmail($val,$domain="")
{
if(!$domain)
{
if( preg_match("/^[a-z0-9-_ .]+@[\da-z][\.\w-]+\.[a-z]{2,4}$/i", $val) )
{
return true;
}
else
return false;
}
else
{
if( preg_match("/^[a-z0-9-_.]+@".$domain."$/i", $val) )
{
return true;
}
else
return false;
}
}//end func
/*
-----------------------------------------------------------
函数名称:isName
简要描述:姓名昵称合法性检查,只能输入中文英文
输入:string
输出:boolean
修改日志:------
-----------------------------------------------------------
*/
function isName($val)
{
if( preg_match("/^[\x80-\xffa-zA-Z0-9]{3,60}$/", $val) )//2008-7-24
{
return true;
}
return false;
}//end func
/*
-----------------------------------------------------------
函数名称:isStrLength($theelement, $min, $max)
简要描述:检查字符串长度是否符合要求
输入:mixed (字符串,最小长度,最大长度)
输出:boolean
修改日志:------
-----------------------------------------------------------
*/
function isStrLength($val, $min, $max)
{
$theelement= trim($val);
if(ereg("^[a-zA-Z0-9]{".$min.",".$max."}$",$val))
return true;
return false;
}
/*
-----------------------------------------------------------
函数名称:isNumberLength($theelement, $min, $max)
简要描述:检查字符串长度是否符合要求
输入:mixed (字符串,最小长度,最大长度)
输出:boolean
修改日志:------
-----------------------------------------------------------
*/
function isNumLength($val, $min, $max)
{
$theelement= trim($val);
if(ereg("^[0-9]{".$min.",".$max."}$",$val))
return true;
return false;
}
/*
-----------------------------------------------------------
求教PHP验证用户名或密码包含非法字符例子代码:
$user="sdafdsg";
if(preg_match("/^[0-9a-zA-Z]{4,21}$/",$user)){
?echo?"OK";
?}
下面是PHP官方对?preg_match函数的介绍
preg_match
(PHP 4, PHP 5)
preg_match?—?执行一个正则表达式匹配
说明
int?preg_match?(?string?$pattern?,?string?$subject?[,?array?$matches?[,?int?$flags?= 0?[,?int?$offset?= 0?]]] )
搜索subject与pattern给定的正则表达式的一个匹配.
参数
pattern
要搜索的模式,字符串类型。
subject
输入字符串。
matches
如果提供了参数matches,它将被填充为搜索结果。?$matches[0]将包含完整模式匹配到的文本,?$matches[1]?将包含第一个捕获子组匹配到的文本,以此类推。
flags
flags可以被设置为以下标记值:
PREG_OFFSET_CAPTURE
如果传递了这个标记,对于每一个出现的匹配返回时会附加字符串偏移量(相对于目标字符串的)。 注意:这会改变填充到matches参数的数组,使其每个元素成为一个由 第0个元素是匹配到的字符串,第1个元素是该匹配字符串 在目标字符串subject中的偏移量。
offset
通常,搜索从目标字符串的开始位置开始。可选参数?offset?用于 指定从目标字符串的某个未知开始搜索(单位是字节)。
Note:
使用offset参数不同于向preg_match()?传递按照位置通过substr($subject, $offset)截取目标字符串结果, 因为pattern可以包含断言比如^,?$?或者(?<=x)。 比较:
<?php
$subject?=?"abcdef";
$pattern?=?'/^def/';
preg_match($pattern,?$subject,?$matches,?PREG_OFFSET_CAPTURE,?3);
print_r($matches);
?>
以上例程会输出:
Array
(
)
当这个示例使用截取后传递时
<?php
$subject?=?"abcdef";
$pattern?=?'/^def/';
preg_match($pattern,?substr($subject,3),?$matches,?PREG_OFFSET_CAPTURE);
print_r($matches);
?>
将会产生匹配
Array
(
? ?[0] => Array
? ? ? ?(
? ? ? ? ? ?[0] => def
? ? ? ? ? ?[1] => 0
? ? ? ?)
)
返回值
preg_match()返回?pattern?的匹配次数。 它的值将是0次(不匹配)或1次,因为preg_match()在第一次匹配后 将会停止搜索。preg_match_all()不同于此,它会一直搜索subject?直到到达结尾。 如果发生错误preg_match()返回?FALSE。
更新日志
版本
说明
5.3.6 ? ?如果?offset?比?subject?的长度还要大则返回?FALSE。 ?
5.2.2 ? ?命名子组可以接受(?<name>),?(?'name')?以及(?P<name>)语法。之前版本仅接受(?P<name>)语法。 ?
4.3.3 ? ?增加了参数offset. ?
4.3.0 ? ?增加了标记PREG_OFFSET_CAPTURE。 ?
4.3.0 ? ?增加了参数flags。 ?
范例
Example #1 查找文本字符串"php"
<?php
//模式分隔符后的"i"标记这是一个大小写不敏感的搜索
if?(preg_match("/php/i",?"PHP?is?the?web?scripting?language?of?choice."))?{
????echo?"A?match?was?found.";
}?else?{
????echo?"A?match?was?not?found.";
}
?>
php 判断一个字符串里是否有某个字符PHP中如何判断一个字符串中是否有某个字符,如下:
PHP语言是一个功能强大的嵌入式HTML脚本语言,它的易用性让许多程序员选择使用。PHP判断字符串的包含,可以使用PHP的内置函数strstr,strpos,stristr直接进行判断.也可以通过explode函数的作用写一个判断函数。
1. strstr: 返回一个从被判断字符开始到结束的字符串,如果没有返回值,则不包含
代码如下:
< ?php
/*如手册上的举例*/
$email = 'user@example测试数据';
$domain = strstr($email, '@');
echo $domain;
// prints @example测试数据
?>
2. stristr: 它和strstr的使用方法完全一样.唯一的区别是stristr不区分大小写.
3. strpos: 返回boolean值.FALSE和TRUE不用多说.用 “===”进行判断.strpos在执行速度上都比以上两个函数快,另外strpos有一个参数指定判断的位置,但是默认为空.意思是判断整个字符串.缺点是对中文的支持不好.
PHP判断字符串的包含代码如下:
$str= 'abc';
$needle= 'a';
$pos = strpos($str, $needle);
4. 用explode进行判断
PHP判断字符串的包含代码如下:
function checkstr($str){
$needle = "a";//判断是否包含a这个字符
$tmparray = explode($needle,$str);
if(count($tmparray)>1){
return true;
} else{
return false;
}
}
php过滤非法字符帮你写了个函数,要用时,调用一下就可以了,希望对你有帮组
function safe_string($str){ //过滤安全字符
$str=str_replace("'","",$str);
$str=str_replace('"',"",$str);
$str=str_replace(" ","$nbsp;",$str);
$str=str_replace("\n;","<br/>",$str);
$str=str_replace("<","<",$str);
$str=str_replace(">",">",$str);
$str=str_replace("\t"," ",$str);
$str=str_replace("\r","",$str);
$str=str_replace("/[\s\v]+/"," ",$str);
return $str;
}
php $_GET 安全试用get方法提交数据肯定是不能避免的,要完成某些功能,必须使用这种方法。一个程序,没有绝对安全的,所以我们只能尽力去弥补一些漏洞和错误。
localhost\abc.php?id=XXX
这种方式的安全处理,一般来说,首先严格过滤id传过来的值,过滤到不安全的字符;其次,对
$_GET['id'] 做严格的判断,不符合规则的值,一律不去执行程序。比如:传过来的是id,那么只有在id是正整数的情况下才允许查询,如果是字符、字符串、负数、小数等等,一律不执行查询……
关于php判断安全字符的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php判断安全字符 php判断是否包含字符串的详细内容...