PHP字符串过滤需要的函数,安全MYSQL

 更新时间:2016年11月25日 16:12  点击:2137

htmlspecialchars

将特殊字符转成 HTML 格式。

语法: string htmlspecialchars(string string);

返回值: 字符串

函数种类: 资料处理

 

 
内容说明

本函数将特殊字符转成 HTML 的字符串格式 ( &....; )。最常用到的场合可能就是处理客户留言的留言版了。

 

  • & (和) 转成 &
  • " (双引号) 转成 "
  • < (小于) 转成 &lt;
  • > (大于) 转成 &gt;

此函数只转换上面的特殊字符,并不会全部转换成 HTML 所定的 ASCII 转换。

 

 
使用范例

这是 aulbach@unter.franken.de (27-Jan-1999) 所提供的范例

<FORM ACTION=bla>
<H2>Restaurant Description<H2>
Name of restaurant:
<INPUT TYPE=text NAME="restname" VALUE="<?
     
echo HTMLSpecialChars($restname); ?>"> 
<!-- 变量 $restname 是酱子的 $restname=""The Whit


AddSlashes:    字符串加入斜线。
bin2hex:    二进位转成十六进位。
Chop:    去除连续空白。
Chr:    返回序数值的字符。
chunk_split:    将字符串分成小段。
convert_cyr_string:    转换古斯拉夫字符串成其它字符串。
crypt:    将字符串用 DES 编码加密。
echo:    输出字符串。
explode:    切开字符串。
flush:    清出输出缓冲区。
get_meta_tags:    抽出文件所有 meta 标记的资料。
htmlspecialchars:    将特殊字符转成 HTML 格式。
htmlentities:    将所有的字符都转成 HTML 字符串。
implode:    将数组变成字符串。
join:    将数组变成字符串。
ltrim:    去除连续空白。
md5:    计算字符串的 MD5 哈稀。
nl2br:    将换行字符转成 <br>。
Ord:    返回字符的序数值。
parse_str:    解析 query 字符串成变量。
print:    输出字符串。
printf:    输出格式化字符串。
quoted_printable_decode:    将 qp 编码字符串转成 8 位字符串。
QuoteMeta:    加入引用符号。
rawurldecode:    从 URL 专用格式字符串还原成普通字符串。
rawurlencode:    将字符串编码成 URL 专用格式。
setlocale:    配置地域化信息。
similar_text:    计算字符串相似度。
soundex:    计算字符串的读音值
sprintf:    将字符串格式化。
strchr:    寻找第一个出现的字符。
strcmp:    字符串比较。
strcspn:    不同字符串的长度。
strip_tags:    去掉 HTML 及 PHP 的标记。
StripSlashes:    去掉反斜线字符。
strlen:    取得字符串长度。
strrpos:    寻找字符串中某字符最后出现处。
strpos:    寻找字符串中某字符最先出现处。
strrchr:    取得某字符最后出现处起的字符串。
strrev:    颠倒字符串。
strspn:    找出某字符串落在另一字符串遮罩的数目。
strstr:    返回字符串中某字符串开始处至结束的字符串。
strtok:    切开字符串。
strtolower:    字符串全转为小写。
strtoupper:    字符串全转为大写。
str_replace:    字符串取代。
strtr:    转换某些字符。
substr:    取部份字符串。
trim:    截去字符串首尾的空格。
ucfirst:    将字符串第一个字符改大写。
ucwords:    将字符串每个字第一个字母改大写 PHP 尽管提供了大量有用的函数,但是在特殊情况下还可能需要进行扩展编程,比如大量的 PECL(PHP Extension Community Library)就是以扩展的形式提供的(动态链接库dll文件),它们比 PEAR 的运行效率要高很多。
    PHP 扩展是用 C 或 C++ 编写的,需要编译成动态连接库 dll 文件后在 PHP 环境下注册后才能使用。
    编写 PHP 扩展的软件要求:
      VC++6.0 或 VC++.NET 环境。
      PHP 的源代码,需要编译。
    如果不愿意编译 PHP 的源代码,可以再下载 PHP 的已经编译成功的二进制代码(就是我们部署 PHP 运行环境的那些文件包)。注意分别下载的源文件包和已编译包,它们的版本必须一致。

    过程:

    1,安装 VC++6.0,并选择把其可执行文件路径加入环境变量中,使在命令行环境任意路径下可以运行编译器。
    2,安装 PHP 运行环境,并与 IIS 正确集成在一起。假设使用的 PHP 版本为 5.2.5,下载 php-5.2.5-Win32.zip 二进制包和 php-5.2.5.tar.gz 源代码包。安装环境为 C:php-5.2.5-Win32。分别把源代码包和二进制包解压到该文件夹下。从 php.ini-recommended 拷贝生成一个 php.ini 文件。
    3,建立 C:php-5.2.5-Win32Release_TS 文件夹,拷贝 C:php-5.2.5-Win32devphp5ts.lib 文件到这里。
    4,进入 C:php-5.2.5-Win32ext 文件夹,运行命令:
      C:php-5.2.5-Win32ext>..php.exe ext_skel_win32.php --extname=myphpext
      Creating directory myphpext
      Creating basic files: config.m4 config.w32 .cvsignore myphpext.c php_myphpext.h
      CREDITS EXPERIMENTAL tests/001.phpt myphpext.php [done].

      To use your new extension, you will have to execute the following steps:

      1.  $ cd ..
      2.  $ vi ext/myphpext/config.m4
      3.  $ ./buildconf
      4.  $ ./configure --[with|enable]-myphpext
      5.  $ make
      6.  $ ./php -f ext/myphpext/myphpext.php
      7.  $ vi ext/myphpext/myphpext.c
      8.  $ make

      Repeat steps 3-6 until you are satisfied with ext/myphpext/config.m4 and
      step 6 confirms that your module is compiled into PHP. Then, start writing
      code and repeat the last two steps as often as necessary.

目前在PHP中调用带有WS-Security支持的Web Service解决方案还是比较少的,WSF/PHP是一个不错的选择,官方首页为http://wso2.org/projects/wsf/php,下面就介绍下在运用WSF/PHP的时候需要注意的一些地方;
1、WSF/PHP【WSO2 Web Services Framework for PHP】 是WSO2.ORG提供的专门针对PHP调用Web Service的一个优秀框架,使用非常简单;但是WSO2不仅仅提供针对PHP的ws框架,而且还对其他很多中语言提供开发框架,比如基于Spring、Perl、Ruby……,除此之外还提供很多其他框架和培训服务,具体可查询wso2.org和wso2.com;
2、WSF/PHP模块的安装需要很多其他的支持包,在windows下面体现为一些dll文件,主要包括Libxml2、iconv、Openssl、zlib,而不仅仅是Libxml2【GNOME XML Library】;安装过程中需要将这些依赖dll全部都集中到wsf_c/lib/目录中;这些依赖包可以到http://www.zlatkovic.com/pub/libxml/下载,下载完成之后对各压缩包解压,dll文件一般位于/bin/目录中;
3、WSF所依赖的这些dll文件一定需要copy到/windows/system32/中才行,否则加载模块不成功;这点和官方文档中说的直接将wsf_c/lib/加入到path中即可是不一致的;当然这点可能有其他方式可以解决,因为我不精通PHP,但是和一些同事沟通过,但没结果;
4、验证是否正常加载了WSF模块,只用php -m命令查看列表是不够的,即时WSF模块没有加载成功,但是php.ini中设置了WSF模块,那php -m的列表中也会包括WSF;最保险的做法是查看服务器日志比如Apache;
5、在申明WSSecurityToken实例的时候,参数receiverCertificate是用来加密Soap消息的,而不是用来验证服务端返回的签名信息的,所以若只是需要签名,那该参数无需设置;WSF/PHP目前还没有提供验证服务端返回的签名信息功能的;
6、WSF/PHP调用WS时默认使用SOAP 1.2协议,这可能会对某些服务端ws调用时出错,若需要设置使用SOAP版本,则可以在申请WSClient实例时设置参数"useSOAP" => "1.1"实现;


所需软件:
Apache2.2.8    PHP 5.2.5    Mysql 5.0

************************

1. 安装 Apache
(安装包格式)
在 Network Domain 和 Server Name 里填入 127.0.0.1,右下角可以控制 Apache 服务器的启动与关闭。安装好后,在浏览器里输入 http://localhost/,如果出现 It works!" 字样,则说明安装成功了!

2. 安装 PHP
(解压包格式)
解压文件到 C:PHP 下

3. 安装 Mysql
(解压包格式)
解压文件到 C:mysql 下,从命令提示符里进入到 bin 目录下,执行 "mysql-nt -install" 进行安装,安装成功后,会显示 "Service successfully installed." 然后启动服务 "net start mysql",最后更改管理密码 "mysqladmin -u root -p password <new password>",会提示输入旧密码,由于原来没有设置过密码,所以直接回车。
其它相关命令:
mysqld-nt -remove    卸载服务
net stop mysql    停止服务

4. 软件配置
首先停止 Apache 服务,然后用记事本打开 C:pacheconfhttpd.conf 文件,找到 "#LoadModule ssl_module modules/mod_ssl.so",在它下面添加 "LoadModule php5_module c:/php/php5apache2_2.dll"。然后找到 "AddType application/x-gzip .gz .tgz",在下面添加 "AddType application/x-httpd-php .php"。

在 C:php 目录下找到 php.ini-dist 和 php5ts.dll 文件,把 php.ini-dist 复制到 Windows 目录下,并且重命名为 php.ini,用记事本打开找到 "extension=php_mysql.dll",去掉前面的分号。把 php5ts.dll 复制到 system32 目录里,并且把 C:phpext 目录下的 php_mysql.dll 文件复制到 Windows 文件夹下。

5. 配置网站
再次修改 httpd.conf,找到 "DocumentRoot "C:/Apache/htdocs" "、"<Directory "C:/Apache/htdocs">"、"DirectoryIndex Index.hrml",然后做相应修改即可!

6. 搭建完毕
启动 Apache 服务,配置完成!

[!--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
  • C#中截取字符串的的基本方法详解

    这篇文章主要介绍了C#中截取字符串的的基本方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-11-03
  • Python astype(np.float)函数使用方法解析

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

    这篇文章介绍了C#判断字符串是否数字或字母的实例,有需要的朋友可以参考一下...2020-06-25
  • PostgreSQL判断字符串是否包含目标字符串的多种方法

    这篇文章主要介绍了PostgreSQL判断字符串是否包含目标字符串的多种方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-02-23
  • Python中的imread()函数用法说明

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

    这篇文章主要介绍了C++ string常用截取字符串方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-04-25
  • C# 中如何取绝对值函数

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

    下面小编就为大家带来一篇C#学习笔记- 随机函数Random()的用法详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • php字符串按照单词逐个进行反转的方法

    本文实例讲述了php字符串按照单词进行反转的方法。分享给大家供大家参考。具体分析如下:下面的php代码可以将字符串按照单词进行反转输出,实际上是现将字符串按照空格分隔到数组,然后对数组进行反转输出。...2015-03-15
  • 金额阿拉伯数字转换为中文的自定义函数

    CREATE FUNCTION ChangeBigSmall (@ChangeMoney money) RETURNS VarChar(100) AS BEGIN Declare @String1 char(20) Declare @String2 char...2016-11-25
  • 详解前端安全之JavaScript防http劫持与XSS

    作为前端,一直以来都知道HTTP劫持与XSS跨站脚本、CSRF跨站请求伪造。防御这些劫持最好的方法是从后端入手,前端能做的太少。而且由于源码的暴露,攻击者很容易绕过防御手段。但这不代表我们去了解这块的相关知识是没意义的,本文的许多方法,用在其他方面也是大有作用。...2021-05-24
  • Android开发中findViewById()函数用法与简化

    findViewById方法在android开发中是获取页面控件的值了,有没有发现我们一个页面控件多了会反复研究写findViewById呢,下面我们一起来看它的简化方法。 Android中Fin...2016-09-20
  • 使用list stream: 任意对象List拼接字符串

    这篇文章主要介绍了使用list stream:任意对象List拼接字符串操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-09-09
  • C++中 Sort函数详细解析

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

    strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。语法:strstr(string,search)参数string,必需。规定被搜索的字符串。 参数sea...2013-10-04
  • MySQL 字符串拆分操作(含分隔符的字符串截取)

    这篇文章主要介绍了MySQL 字符串拆分操作(含分隔符的字符串截取),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-22
  • C# 16 进制字符串转 int的方法

    这篇文章主要介绍了C# 16 进制字符串转 int的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • 获取中文字符串的实际长度代码

    JS中默认中文字符长度和其它字符长度计算方法是一样的,但某些情况下我们需要获取中文字符串的实际长度,代码如下: 复制代码 代码如下: function strLength(str) { var realLength = 0, len = str.length, charCode = -1;...2014-06-07