当前位置: 编程技术>php
本页文章导读:
▪PHP过滤post,get敏感数据的实例代码 php过滤post、get传输的敏感数据的方法。
代码:
代码示例:
<?php
//php 批量过滤post,get敏感数据
//by www.
if (get_magic_quotes_gpc()) {
$_GET = stripslashes_array($_GET);
$_POST = stripslashes_array($_POST);.........
▪php上传多文件与多图片的实例代码 使用php进行多文件的上传,要求实现 :
1,在同级目录下建立upload文件夹
2,将下面代码复制到upload.php中
代码:
代码示例:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
&l.........
▪php批量处理POST值的方法 学习php批量处理POST数据的方法,如下图:
需要同时删除多项,或同时修改多项记录
要点:
1,前端表单中name要加[],如:<input type="hidden" name="id[]" value="{$vo.id}">
2,后端接受如:$id = $_POST .........
[1]PHP过滤post,get敏感数据的实例代码
来源: 互联网 发布时间: 2013-12-24
php过滤post、get传输的敏感数据的方法。
代码:
代码示例:
<?php
//php 批量过滤post,get敏感数据
//by www.
if (get_magic_quotes_gpc()) {
$_GET = stripslashes_array($_GET);
$_POST = stripslashes_array($_POST);
}
function stripslashes_array(&$array) {
while(list($key,$var) = each($array)) {
if ($key != 'argc' && $key != 'argv' && (strtoupper($key) != $key || ''.intval($key) == "$key")) {
if (is_string($var)) {
$array[$key] = stripslashes($var);
}
if (is_array($var)) {
$array[$key] = stripslashes_array($var);
}
}
}
return $array;
}
//--------------------------
// 替换HTML尾标签,为过滤服务
//--------------------------
function lib_replace_end_tag($str)
{
if (empty($str)) return false;
$str = htmlspecialchars($str);
$str = str_replace( '/', "", $str);
$str = str_replace("\\", "", $str);
$str = str_replace(">", "", $str);
$str = str_replace("<", "", $str);
$str = str_replace("<SCRIPT>", "", $str);
$str = str_replace("</SCRIPT>", "", $str);
$str = str_replace("<script>", "", $str);
$str = str_replace("</script>", "", $str);
$str=str_replace("select","select",$str);
$str=str_replace("join","join",$str);
$str=str_replace("union","union",$str);
$str=str_replace("where","where",$str);
$str=str_replace("insert","insert",$str);
$str=str_replace("delete","delete",$str);
$str=str_replace("update","update",$str);
$str=str_replace("like","like",$str);
$str=str_replace("drop","drop",$str);
$str=str_replace("create","create",$str);
$str=str_replace("modify","modify",$str);
$str=str_replace("rename","rename",$str);
$str=str_replace("alter","alter",$str);
$str=str_replace("cas","cast",$str);
$str=str_replace("&","&",$str);
$str=str_replace(">",">",$str);
$str=str_replace("<","<",$str);
$str=str_replace(" ",chr(32),$str);
$str=str_replace(" ",chr(9),$str);
$str=str_replace(" ",chr(9),$str);
$str=str_replace("&",chr(34),$str);
$str=str_replace("'",chr(39),$str);
$str=str_replace("<br />",chr(13),$str);
$str=str_replace("''","'",$str);
$str=str_replace("css","'",$str);
$str=str_replace("CSS","'",$str);
return $str;
}
//php 批量过滤post,get敏感数据
//by www.
if (get_magic_quotes_gpc()) {
$_GET = stripslashes_array($_GET);
$_POST = stripslashes_array($_POST);
}
function stripslashes_array(&$array) {
while(list($key,$var) = each($array)) {
if ($key != 'argc' && $key != 'argv' && (strtoupper($key) != $key || ''.intval($key) == "$key")) {
if (is_string($var)) {
$array[$key] = stripslashes($var);
}
if (is_array($var)) {
$array[$key] = stripslashes_array($var);
}
}
}
return $array;
}
//--------------------------
// 替换HTML尾标签,为过滤服务
//--------------------------
function lib_replace_end_tag($str)
{
if (empty($str)) return false;
$str = htmlspecialchars($str);
$str = str_replace( '/', "", $str);
$str = str_replace("\\", "", $str);
$str = str_replace(">", "", $str);
$str = str_replace("<", "", $str);
$str = str_replace("<SCRIPT>", "", $str);
$str = str_replace("</SCRIPT>", "", $str);
$str = str_replace("<script>", "", $str);
$str = str_replace("</script>", "", $str);
$str=str_replace("select","select",$str);
$str=str_replace("join","join",$str);
$str=str_replace("union","union",$str);
$str=str_replace("where","where",$str);
$str=str_replace("insert","insert",$str);
$str=str_replace("delete","delete",$str);
$str=str_replace("update","update",$str);
$str=str_replace("like","like",$str);
$str=str_replace("drop","drop",$str);
$str=str_replace("create","create",$str);
$str=str_replace("modify","modify",$str);
$str=str_replace("rename","rename",$str);
$str=str_replace("alter","alter",$str);
$str=str_replace("cas","cast",$str);
$str=str_replace("&","&",$str);
$str=str_replace(">",">",$str);
$str=str_replace("<","<",$str);
$str=str_replace(" ",chr(32),$str);
$str=str_replace(" ",chr(9),$str);
$str=str_replace(" ",chr(9),$str);
$str=str_replace("&",chr(34),$str);
$str=str_replace("'",chr(39),$str);
$str=str_replace("<br />",chr(13),$str);
$str=str_replace("''","'",$str);
$str=str_replace("css","'",$str);
$str=str_replace("CSS","'",$str);
return $str;
}
您可能感兴趣的文章:
PHP安全过滤代码(360提供 安全系数高)php 过滤非法与特殊字符串的方法
php 防注入的一段代码(过滤参数)
php正则过滤html标签、空格、换行符等的代码示例
php实现过滤IP黑白名单的方法
很好用的php防止sql注入漏洞过滤函数的代码
php防止sql注入正则过滤一例
一段php过滤危险html的代码
[2]php上传多文件与多图片的实例代码
来源: 互联网 发布时间: 2013-12-24
使用php进行多文件的上传,要求实现 :
1,在同级目录下建立upload文件夹
2,将下面代码复制到upload.php中
代码:
代码示例:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
$uptypes=array(
//上传文件的ContentType格式
'image/jpg',
'image/jpeg',
'image/png',
'image/pjpeg',
'image/gif',
'image/bmp',
'image/x-png',
'application/msword',//doc
'application/vnd.openxmlformats-officedocument.wordprocessingml.document',//docx
'application/vnd.openxmlformats-officedocument.presentationml.presentation',//pptx
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',//xlsx
'text/plain'
);
$max_file_size=2000000; //上传文件大小限制, 单位BYTE
$dir="upload/"; //上传文件路径
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
$file = $_FILES['upfile']['name'];
foreach($file as $key=>$item){
if($item != ''){
if (!is_uploaded_file($_FILES['upfile']['tmp_name'][$key]))//是否存在文件
{
echo "图片不存在!";
exit;
}
if($max_file_size < $_FILES['upfile']['size'][$key])//检查文件大小
{
echo "文件太大!";
exit;
}
if(!file_exists($dir))
{
mkdir($dir);
}
$filename=$_FILES['upfile']['tmp_name'][$key];
$image_size = getimagesize($filename);
$pinfo = pathinfo($file[$key]);
$ftype = $pinfo['extension'];
$destination = $dir.time().$file[$key];
if (file_exists($destination) && $overwrite != true)
{
echo "同名文件已经存在了";
exit;
}
if(!move_uploaded_file ($filename, $destination))
{
echo "移动文件出错";
exit;
}
$pinfo=pathinfo($destination);
$fname=$pinfo['basename'];
echo " <font color=red>已经成功上传</font><br>文件名: <font color=blue>".$dir.$fname."</font><br>";
echo " 宽度:".$image_size[0];
echo " 长度:".$image_size[1];
echo "<br> 大小:".$_FILES['upfile']['size']." bytes";
}
echo "<br>图片预览:<br>";
echo "<img src=/index.html"".$destination."\" width=".($image_size[0]*(1/4))." height=".($image_size[1]*(1/4));
echo " alt=\"图片预览:\r文件名:".$destination."\r上传时间:\">";
echo "<br>";
}
}
?>
<form method="post" enctype="multipart/form-data" action="" name="ff" id="ff" >
<input type="file" name="upfile[]" />
<input type="file" name="upfile[]" />
<label>
<input type="submit" name="submit" id="submit" value="按钮"/>
</label>
</form>
<?php
$uptypes=array(
//上传文件的ContentType格式
'image/jpg',
'image/jpeg',
'image/png',
'image/pjpeg',
'image/gif',
'image/bmp',
'image/x-png',
'application/msword',//doc
'application/vnd.openxmlformats-officedocument.wordprocessingml.document',//docx
'application/vnd.openxmlformats-officedocument.presentationml.presentation',//pptx
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',//xlsx
'text/plain'
);
$max_file_size=2000000; //上传文件大小限制, 单位BYTE
$dir="upload/"; //上传文件路径
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
$file = $_FILES['upfile']['name'];
foreach($file as $key=>$item){
if($item != ''){
if (!is_uploaded_file($_FILES['upfile']['tmp_name'][$key]))//是否存在文件
{
echo "图片不存在!";
exit;
}
if($max_file_size < $_FILES['upfile']['size'][$key])//检查文件大小
{
echo "文件太大!";
exit;
}
if(!file_exists($dir))
{
mkdir($dir);
}
$filename=$_FILES['upfile']['tmp_name'][$key];
$image_size = getimagesize($filename);
$pinfo = pathinfo($file[$key]);
$ftype = $pinfo['extension'];
$destination = $dir.time().$file[$key];
if (file_exists($destination) && $overwrite != true)
{
echo "同名文件已经存在了";
exit;
}
if(!move_uploaded_file ($filename, $destination))
{
echo "移动文件出错";
exit;
}
$pinfo=pathinfo($destination);
$fname=$pinfo['basename'];
echo " <font color=red>已经成功上传</font><br>文件名: <font color=blue>".$dir.$fname."</font><br>";
echo " 宽度:".$image_size[0];
echo " 长度:".$image_size[1];
echo "<br> 大小:".$_FILES['upfile']['size']." bytes";
}
echo "<br>图片预览:<br>";
echo "<img src=/index.html"".$destination."\" width=".($image_size[0]*(1/4))." height=".($image_size[1]*(1/4));
echo " alt=\"图片预览:\r文件名:".$destination."\r上传时间:\">";
echo "<br>";
}
}
?>
<form method="post" enctype="multipart/form-data" action="" name="ff" id="ff" >
<input type="file" name="upfile[]" />
<input type="file" name="upfile[]" />
<label>
<input type="submit" name="submit" id="submit" value="按钮"/>
</label>
</form>
说明:
上传时,需要上传两个,不然会报错。
以上代码只为演示php的多文件上传方法,不是很完善,大家可以自行补充。
[3]php批量处理POST值的方法
来源: 互联网 发布时间: 2013-12-24
学习php批量处理POST数据的方法,如下图:
需要同时删除多项,或同时修改多项记录
要点:
1,前端表单中name要加[],如:<input type="hidden" name="id[]" value="{$vo.id}">
2,后端接受如:$id = $_POST [id] [$i]; $i为for中的循环变量,当$i相同时可以使得$_POST [id] [$i]和$_POST [name] [$i]为一一对应;
一,前端表单:
代码示例:
<form name="form1" method="post" action="/blog_article/__GROUP__/Repair/updateList/index.html">
对所选操作:<input type="submit" value="保 存" > <br>
<table id="checkList" >
<tr>
<th scope="col"><input id="check" type="checkbox"
onclick="checkAll()" /> 全选</th>
<th scope="col">主题</th>
<th scope="col">校区</th>
<th scope="col">房间</th>
<th scope="col">报修人</th>
<th scope="col">联系电话</th>
<th scope="col">报修时间</th>
<th scope="col">审核</th>
<th scope="col">报修状态</th>
</tr>
<volist name="list" id="vo">
<tr>
<td><input type="checkbox" name="key" value="{$vo.id}">{$vo.id}<input type="hidden" name="id[]" value="{$vo.id}"></td>
<td>{$vo.topic}</td>
<td>{$vo.xiaoqu}</td>
<td>{$vo.room}</td>
<td>{$vo.pname}</td>
<td>{$vo.phone}</td>
<td>{$vo.create_time|date='Y-m-d H:i:s',###}</td>
<td><select name="check[]"><switch name="vo.check">
<case value="0">
<option value="0" selected="selected">未审核</option>
<option value="1">审核</option>
</case> <default />
<option value="0">未审核</option>
<option value="1" selected="selected">审核</option>
</switch></select></td>
<td><select name="status[]"><switch name="vo.status">
<case value="已修">
<option value="未修">未修</option>
<option value="任务已下">任务已下</option>
<option value="已修" selected="selected">已修</option>
</case> <case value="任务已下">
<option value="未修">未修</option>
<option value="任务已下" selected="selected">任务已下</option>
<option value="已修">已修</option>
</case> <default />
<option value="未修" selected="selected">未修</option>
<option value="任务已下">任务已下</option>
<option value="已修">已修</option>
</switch></select></td>
</tr>
</volist>
</table>
</form>
对所选操作:<input type="submit" value="保 存" > <br>
<table id="checkList" >
<tr>
<th scope="col"><input id="check" type="checkbox"
onclick="checkAll()" /> 全选</th>
<th scope="col">主题</th>
<th scope="col">校区</th>
<th scope="col">房间</th>
<th scope="col">报修人</th>
<th scope="col">联系电话</th>
<th scope="col">报修时间</th>
<th scope="col">审核</th>
<th scope="col">报修状态</th>
</tr>
<volist name="list" id="vo">
<tr>
<td><input type="checkbox" name="key" value="{$vo.id}">{$vo.id}<input type="hidden" name="id[]" value="{$vo.id}"></td>
<td>{$vo.topic}</td>
<td>{$vo.xiaoqu}</td>
<td>{$vo.room}</td>
<td>{$vo.pname}</td>
<td>{$vo.phone}</td>
<td>{$vo.create_time|date='Y-m-d H:i:s',###}</td>
<td><select name="check[]"><switch name="vo.check">
<case value="0">
<option value="0" selected="selected">未审核</option>
<option value="1">审核</option>
</case> <default />
<option value="0">未审核</option>
<option value="1" selected="selected">审核</option>
</switch></select></td>
<td><select name="status[]"><switch name="vo.status">
<case value="已修">
<option value="未修">未修</option>
<option value="任务已下">任务已下</option>
<option value="已修" selected="selected">已修</option>
</case> <case value="任务已下">
<option value="未修">未修</option>
<option value="任务已下" selected="selected">任务已下</option>
<option value="已修">已修</option>
</case> <default />
<option value="未修" selected="selected">未修</option>
<option value="任务已下">任务已下</option>
<option value="已修">已修</option>
</switch></select></td>
</tr>
</volist>
</table>
</form>
二,服务端处理代码
代码示例:
<?php
/**
* 批量修改状态
*/
public function updateList() {
$result = false;
for($i = 0; $i < count ( $_POST [id] ); $i ++) {
$id = $_POST [id] [$i];
$check = $_POST [check] [$i];
$status = $_POST [status] [$i];
// 保存登录信息
$Repair = M ( 'Repair' );
$data ['id'] = $id;
$data ['check'] = $check;
$data ['status'] = $status;
$result = $Repair->save ( $data );
}
if (false !== $result) {
$this->success ( '修改成功!' );
} else {
$this->error ( '修改失败!' );
}
}
/**
* 批量修改状态
*/
public function updateList() {
$result = false;
for($i = 0; $i < count ( $_POST [id] ); $i ++) {
$id = $_POST [id] [$i];
$check = $_POST [check] [$i];
$status = $_POST [status] [$i];
// 保存登录信息
$Repair = M ( 'Repair' );
$data ['id'] = $id;
$data ['check'] = $check;
$data ['status'] = $status;
$result = $Repair->save ( $data );
}
if (false !== $result) {
$this->success ( '修改成功!' );
} else {
$this->error ( '修改失败!' );
}
}
最新技术文章: