php
Centos+PHP5.3.6+Freetds0.9.1安装并配制mssql(2008)支持
chen 发表于2021-07-27 浏览1089 评论0
一
php
PHP中nusoap和soap.so兼容怎么实现
chen 发表于2021-07-27 浏览1041 评论0
使用PHP调用Web Service的时候,我们会用到nusoap或者soap,但我们在同一台服务器上,如果PHP支持了soap扩展,则nusoap不能正常使用
php
php 通过身份证号算年龄
chen 发表于2021-07-27 浏览1049 评论0
function getAgeByID($id){
if(empty($id)) return '';
php
php +H5 上传头像
chen 发表于2021-07-27 浏览1094 评论0
<!doctype html>
<html>
php
php钉钉发送消息上传附件
chen 发表于2021-07-27 浏览1052 评论0
<?php
error_reporting(E_ALL);
php
php xml 转 array
chen 发表于2021-07-27 浏览1019 评论0
$ndata = json_decode(json_encode((array) simplexml_load_string($xml)),1);
print_r($ndata);
php
php微信红包生成算法
chen 发表于2021-07-27 浏览1049 评论0
/**
* 微信红包生成算法
*
* @param int $total 红包金额
* @param int $num 拆分数量
* @param int $min 拆分的红包最小金额数目
*/
function set_red_packet($total,$num,$min=0.01){
for ($i=1;$i<$num;$i++){
//随机安全上限
$safe_total=($total-($num-$i)*$min)/($num-$i);
//红包金额
$money=mt_rand($min*100,$safe_total*100)/100;
//余额
$total=bcsub($total,$money,2);
echo '第'.$i.'个红包:'.$money.' 元,余额:'.$total.'元';
}
echo '第'.$num.'个红包:'.$total.' 元,余额:0 元';
}
set_red_packet(10,8);
php
php开启pathinfo 模式
chen 发表于2021-07-27 浏览1039 评论0
pathinfo 模式 需要 php.ini 开启下面这个参数
php
php防sql注入 引入文件就可以
chen 发表于2021-07-27 浏览1046 评论0
<?php
//Code By Safe3
function customError($errno, $errstr, $errfile, $errline)
{
echo "<b>Error number:</b> [$errno],error on line $errline in $errfile<br />";
die();
}
set_error_handler("customError",E_ERROR);
$getfilter="'|select|from|(and|or)\\b.+?(>|<|=|in|like)|\\/\\*.+?\\*\\/|<\\s*script\\b|\\bEXEC\\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\\s+(TABLE|DATABASE)";
$postfilter="\\b(and|or)\\b.{1,6}?(=|>|<|\\bin\\b|\\blike\\b)|\\/\\*.+?\\*\\/|<\\s*script\\b|\\bEXEC\\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\\s+(TABLE|DATABASE)";
$cookiefilter="\\b(and|or)\\b.{1,6}?(=|>|<|\\bin\\b|\\blike\\b)|\\/\\*.+?\\*\\/|<\\s*script\\b|\\bEXEC\\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\\s+(TABLE|DATABASE)";
function StopAttack($StrFiltKey,$StrFiltValue,$ArrFiltReq){
if(is_array($StrFiltValue))
{
$StrFiltValue=implode($StrFiltValue);
}
if (preg_match("/".$ArrFiltReq."/is",$StrFiltValue)==1){
//slog("<br><br>操作IP: ".$_SERVER["REMOTE_ADDR"]."<br>操作时间: ".strftime("%Y-%m-%d %H:%M:%S")."<br>操作页面:".$_SERVER["PHP_SELF"]."<br>提交方式: ".$_SERVER["REQUEST_METHOD"]."<br>提交参数: ".$StrFiltKey."<br>提交数据: ".$StrFiltValue);
@header("http/1.1 404 not found");
print "<html><title>404: Not Found</title>";
//slog("<br><br>操作IP: ".$_SERVER["REMOTE_ADDR"]."<br>操作时间: ".strftime("%Y-%m-%d %H:%M:%S")."<br>操作页面:".$_SERVER["PHP_SELF"]."<br>提交方式: ".$_SERVER["REQUEST_METHOD"]."<br>提交参数: ".$StrFiltKey."<br>提交数据: ".$StrFiltValue);
print "<body>Url里含有非法字符串,属于有误操作!... <a href='/'>您还可以返回首页</a></body></html>";
;exit();
}
}
//$ArrPGC=array_merge($_GET,$_POST,$_COOKIE);
foreach($_GET as $key=>$value){
StopAttack($key,$value,$getfilter);
}
foreach($_POST as $key=>$value){
StopAttack($key,$value,$postfilter);
}
foreach($_COOKIE as $key=>$value){
StopAttack($key,$value,$cookiefilter);
}
function slog($logs)
{
$toppath=$_SERVER["DOCUMENT_ROOT"]."/log.htm";
$Ts=fopen($toppath,"a+");
fputs($Ts,$logs."\r\n");
fclose($Ts);
}
?>
