php过滤非法字符函数

 更新时间:2016年11月25日 15:11  点击:2242

$str ="<a >fdafsa''&#x</a>";
echo htmlspecialchars( $str );
/*
& (和) 转成 &amp;
" (双引号) 转成 &quot;
< (小于) 转成 &lt;
> (大于) 转成 &gt;
此函式只转换上面的特殊字元,并不会全部转换成 html 所定的 ascii 转换

*/

//输出

html_entity_decode($str);

/*
于html_entity_decode在大多数情况下是与htmlspecialchars htmlentities配合使用的

*/

这是一款很简单的php入门级用户登录代码,如果用户登录成功了就会自动跳到指定的页面,否则就会返回登录页面,登录原是是判断用户输入的用户名与密码在数据库中是否在存了,如果是就保存信息存在session否提示登录出错。

#
# 表的结构 `admin`
#

 代码如下 复制代码
create table `admin` (
  `id` mediumint(4) not null auto_increment,
  `us` varchar(50) not null default '',
  `pas` varchar(250) not null default '',
  unique key `id` (`id`)
) type=myisam comment='登录' auto_increment=2 ;

#
# 导出表中的数据 `admin`
#

insert into `admin` (`id`, `us`, `pas`) values (1, 'admin', 'admin');
*/?>

登录html页面代码

 代码如下 复制代码

<html>
<head>
<title>登录</title>
<meta http-equiv="content" content="text/html; charset=gb2312">
<link href="css教程.css" rel="stylesheet" type="text/css">
</head>
<body>
<?php
if ($http_cookie_vars["admin"]) {
 header("location:admin.php");
}
?>
<form method="post" action="admin_logins.php">
<table width="40%" border="1" align="center" cellpadding="2" cellspacing="0" bordercolorlight="#cccccc" bordercolordark="#f7f7f7" class="css">
<tr>
<td bgcolor="#f7f7f7" colspan="2" align="center"><b>管理员登录</b></td>
<tr>
<tr>
<td>用户名</td>
<td><input type="text" name="us" size="30" maxlength="30" class="inputt"></td>
<tr>
<tr>
<td>密码</td>
<td><input type="password" name="pas" size="34" class="inputt" maxlength="40"></td>
</tr>
<tr>
<td bgcolor="#f7f7f7" colspan="2"><div align="center">
  <input type="submit" name="submit" class="inputt" value="进入">
</div></td>
</tr>
</table>
</form>
</body>
</html>

php代码

 代码如下 复制代码

<?php
$db=@mysql_connect("localhost","root","micronsky.net") or die("数据库连接也错");
mysql_select_db("vote",$db);
$submit=$_post["submit"];
$us=$_post["us"];
$pas=$_post["pas"];
if ($submit) {
 $result=mysql_query("select us,pas from admin where us='$us'",$db);
 if ($myrow=mysql_fetch_array($result)) {
  if ($pas==$myrow["pas"]) {
   setcookie("admin",$us,time()+3600);
   header("location:admin.php");
  }
  else {
   echo "<script>alert('密码不正确');history.back();</script>";
  }
 }
  else {
   echo "<script>alert('用户名不存在');history.back();</script>";
  }

 }
?>

匹配首尾空白字符的正则表达式:^\\s*|\\s*$ 评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式

匹配首尾空白字符的正则表达式:^s*|s*$
评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式


$action = trim($_get['action']);
if($action == "sub")
{
    $str = $_post['dir'];   
    //if(!preg_match("/^[".chr(0xa1)."-".chr(0xff)."a-za-z0-9_]+$/",$str)) //gb2312汉字字母数字下划线正则表达式
    if(!preg_match("/^[x{4e00}-x{9fa5}a-za-z0-9_]+$/u",$str))   //utf-8汉字字母数字下划线正则表达式
    {  
        echo "<font color=red>您输入的[".$str."]含有违法字符</font>";  
    }
    else
    {
        echo "<font color=green>您输入的[".$str."]完全合法,通过!</font>";  
    }
}
?>
<form method="post" action="">
输入字符(数字,字母,汉字,下划线):
    <input type="text" name="dir" value="">
    <input type="submit" value="提交">
</form>


匹配网址url的正则表达式:[a-za-z]+://[^s]*
评注:网上流传的版本功能很有限,上面这个基本可以满足需求
匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-za-z][a-za-z0-9_]{4,15}$
评注:表单验证时很实用
匹配国内电话号码:d{3}-d{8}|d{4}-d{7}
评注:匹配形式如 0511-4405222 或 021-87888822
匹配腾讯qq号:[1-9][0-9]{4,}
评注:腾讯qq号从10000开始
匹配中国邮政编码:[1-9]d{5}(?!d)
评注:中国邮政编码为6位数字
匹配身份证:d{15}|d{18}
评注:中国的身份证为15位或18位
匹配ip地址:d+.d+.d+.d+
评注:提取ip地址时有用

 代码如下 复制代码
  function mathweek( $date )
  {
    $first_day_week = date( "n" , mktime ( 0 , 0 , 0 , 1 , 1 , date( 'y' , $date ) ) );
    $first_week_days = 7 - $first_day_week + 1;
    $day_index = date( "z" , $date ) + 1 - $first_week_days ;
    $day_index = $day_index ? $day_index : 0 ;
    return ceil($day_index/7) + 1;
  }
       
       $date = strtotime('2010-08-12');
       echo mathweek($date);
?>

asp教程.net计算方法

 代码如下 复制代码
system.globalization.gregoriancalendar   gc   =   new   system.globalization.gregoriancalendar();
int   weekofyear   =   gc.getweekofyear(datetime.now,   system.globalization.calendarweekrule.firstday,   dayofweek.monday);

 

在php中有修改文件名的函数,rename($o,$n),$o是旧文件名,$n要被修改成的新文件名哦。下面我们来看一款关于重名命文件名的实例
 代码如下 复制代码
<?php session_start();
if($submit=="提交"){
if (file_exists( $old_name)){
if (rename($old_name,$new_name )) //把原文件重新命名
{echo "修改成功!";}
}else{ print $old_name."文件不存在!<br>" ; }
}
?>

 

[!--infotagslink--]

相关文章

  • php正确禁用eval函数与误区介绍

    eval函数在php中是一个函数并不是系统组件函数,我们在php.ini中的disable_functions是无法禁止它的,因这他不是一个php_function哦。 eval()针对php安全来说具有很...2016-11-25
  • php中eval()函数操作数组的方法

    在php中eval是一个函数并且不能直接禁用了,但eval函数又相当的危险了经常会出现一些问题了,今天我们就一起来看看eval函数对数组的操作 例子, <?php $data="array...2016-11-25
  • Python astype(np.float)函数使用方法解析

    这篇文章主要介绍了Python astype(np.float)函数使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-06-08
  • Python中的imread()函数用法说明

    这篇文章主要介绍了Python中的imread()函数用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-16
  • C# 中如何取绝对值函数

    本文主要介绍了C# 中取绝对值的函数。具有很好的参考价值。下面跟着小编一起来看下吧...2020-06-25
  • C#学习笔记- 随机函数Random()的用法详解

    下面小编就为大家带来一篇C#学习笔记- 随机函数Random()的用法详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • cmd下过滤文件名称的两种方法

    这篇文章主要介绍了cmd下过滤文件名称的两种方法,需要的朋友可以参考下...2020-06-30
  • 运行vbs脚本报错无效字符、中文乱码的解决方法(编码问题)

    今天在写一个vbs的时候,发现中文乱码,后来写好代码正常运行的代码压缩一下给了同事,发现报无效字符,经过验证后发现原来是编码的问题导致,这里就为大家分享一下...2020-06-30
  • 金额阿拉伯数字转换为中文的自定义函数

    CREATE FUNCTION ChangeBigSmall (@ChangeMoney money) RETURNS VarChar(100) AS BEGIN Declare @String1 char(20) Declare @String2 char...2016-11-25
  • Android开发中findViewById()函数用法与简化

    findViewById方法在android开发中是获取页面控件的值了,有没有发现我们一个页面控件多了会反复研究写findViewById呢,下面我们一起来看它的简化方法。 Android中Fin...2016-09-20
  • C++中 Sort函数详细解析

    这篇文章主要介绍了C++中Sort函数详细解析,sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变...2022-08-18
  • PHP用strstr()函数阻止垃圾评论(通过判断a标记)

    strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。语法:strstr(string,search)参数string,必需。规定被搜索的字符串。 参数sea...2013-10-04
  • PHP函数分享之curl方式取得数据、模拟登陆、POST数据

    废话不多说直接上代码复制代码 代码如下:/********************** curl 系列 ***********************///直接通过curl方式取得数据(包含POST、HEADER等)/* * $url: 如果非数组,则为http;如是数组,则为https * $header:...2014-06-07
  • php中的foreach函数的2种用法

    Foreach 函数(PHP4/PHP5)foreach 语法结构提供了遍历数组的简单方式。foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。...2013-09-28
  • C语言中free函数的使用详解

    free函数是释放之前某一次malloc函数申请的空间,而且只是释放空间,并不改变指针的值。下面我们就来详细探讨下...2020-04-25
  • PHP函数strip_tags的一个bug浅析

    PHP 函数 strip_tags 提供了从字符串中去除 HTML 和 PHP 标记的功能,该函数尝试返回给定的字符串 str 去除空字符、HTML 和 PHP 标记后的结果。由于 strip_tags() 无法实际验证 HTML,不完整或者破损标签将导致更多的数...2014-05-31
  • SQL Server中row_number函数的常见用法示例详解

    这篇文章主要给大家介绍了关于SQL Server中row_number函数的常见用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-12-08
  • PHP加密解密函数详解

    分享一个PHP加密解密的函数,此函数实现了对部分变量值的加密的功能。 加密代码如下: /* *功能:对字符串进行加密处理 *参数一:需要加密的内容 *参数二:密钥 */ function passport_encrypt($str,$key){ //加密函数 srand(...2015-10-30
  • php的mail函数发送UTF-8编码中文邮件时标题乱码的解决办法

    最近遇到一个问题,就是在使用php的mail函数发送utf-8编码的中文邮件时标题出现乱码现象,而邮件正文却是正确的。最初以为是页面编码的问题,发现页面编码utf-8没有问题啊,找了半天原因,最后找到了问题所在。 1.使用 PEAR 的...2015-10-21
  • C#中加载dll并调用其函数的实现方法

    下面小编就为大家带来一篇C#中加载dll并调用其函数的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25