用php过滤表单提交中的危险html代码
用PHP过滤提交表单的html代码里可能有被利用引入外部危险内容的代码。例如,有些时候用户提交表单中含有html内容,但这可能造成显示页面布局混乱,需要过滤掉。
以下是程序代码:
复制代码
function uhtml($str)
{
$farr = array(
"/\s+/", //过滤多余空白
//过滤 <script>等可能引入恶意内容或恶意改变显示布局的代码,如果不需要插入flash等,还可以加入<object>的过滤
"/<(\/?)(script|i?frame|style|html|body|title|link|meta|\?|\%)([^>]*?)>/isU",
"/(<[^>]*)on[a-zA-Z]+\s*=([^>]*>)/isU",//过滤javascript的on事件
);
$tarr = array(
" ",
"<\1\2\3>",//如果要直接清除不安全的标签,这里可以留空
"\1\2",
);
$str = preg_replace( $farr,$tarr,$str);
return $str;
}
相关文档:
看到IE里面显示“连接成功”的画面时,真的很兴奋。两天的努力没白费。
现在来总结一下,怎么让php与MySQL连接。贴出来,为后来学习的人少点阻力!
我用的是apache+windows+php+MySQL
大体说来有两种方式,一种是旧的面向对过程的方式,需要装载php_mysql.dll;另一种是新的面向对象的方式,需要装载php_mysql ......
MYSQL中只有INNODB和BDB类型的数据表才能支持事务处理!其他的类型是不支持的!
$lnk = mysql_connect("localhost", "root", "");
mysql_select_db("test");
mysql_query("BEGIN");
$query = mysql_query("INSERT INTO test VALUES(1, 'yangjun')&quo ......
可以将数组和对象直接存入数据库中的某一字段。
使serialize()是将数组反序列化再存入数据库,序列化话完的数据就是一个字符串。
提取的时候,用unserialize()反序列化取,取出来的还是个数组。
$arr = array('value1','value2','value3');
$str = serialize($arr); //序列化
$new_str = unserialize($temp); //反序列 ......
<?php
/*
* Created on 2008-10-25
*
* developer by Alex.do QQ:20779512
* PHP 5.0
*/
class mdbClass {
var $dbPath = 'database/#123123#.mdb'; //数据库路径
var $tabName; & ......
快速开发一个PHP扩展
本文通过非常快速的方式讲解了如何制作一个PHP 5.2 环境的扩展(PHP Extension),希望能够在图文的方式下让想快速学习的朋友了解一下制作过程。
需求:比如开发一个叫做 heiyeluren 的扩展,扩展里就一个函数 heiyeluren_test(),输入一个字符串,函数返回:Your input string: ......