分类 PHP 下的文章
分享:php目录列表
最详细、最简单Thinkphp链接数据库
学习到 thinkphp 建立一个小实例,就从网上找了一篇文章,本身 thinkphp 是有官网实例的,但老是出错,下面这篇文章还不错,算是最基础的了,从配置文件到连接数据库,然后再到制作模板,读取模板,还有新建 mysql 数据库,都比较详细,thinkphp 底层核心文件不变,如果刚学习可以参照着学习一下。
雅黑探针显示不全,不支持PHP7?
PHP相关参数
PHP信息(phpinfo):
复制代码
下面就没有了,是因为不支持PHP7的缘故吗?
替换$_SERVER[PHP_SELF]为$_SERVER['PHP_SELF']
替换eregi为preg_match
修改后的中文版 && 英文版 不怕就用吧,哈哈
注意,这是雅黑探针官方网:http://www.yahei.net/,安全考虑,切勿从第三方获取!
PHP防注入,全局调用即可
<?php
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="'|(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){
error_log("IP: ".$_SERVER["REMOTE_ADDR"].": ".strftime("%Y-%m-%d %H:%M:%S").":".$_SERVER["PHP_SELF"].": ".$_SERVER["REQUEST_METHOD"].": ".$StrFiltKey.": ".$StrFiltValue."\n",3, "XundaslSqlSafe-".date("Y-m-d", time()).".log");
echo "警告:非法操作!";
exit();
}
}
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);
?>
h5ai
使用PHP方式切换CSS样式
来自老赵茶馆:使用PHP方式切换CSS样式
CSS-Style-Switcher地址:Github
效果就是我网站的右上角的皮肤切换按钮,网上切换CSS样式的教程其实很多,但都是以js的方式切换的,就是说虽然有cookie效果,但每次都要加载这段js,甚至有时出现延迟闪烁的问题,我的Teahouse就是使用js的ajax方式的。我后来谷歌了一下,找到了使用PHP方式切换CSS样式,效果更理想些,可惜每次都要刷新。
先看看作者的概述:
一个简单的切换CSS样式的PHP脚本,支持一次多个CSS文件,具有默认的CSS文件的支持,更多等等,一个漂亮整洁的脚本而且比JavaScript更稳定的解决方案。
功能
无须PHP知识,不用安装,只需把这个脚本拖放到你的CSS文件夹,并且确保你的服务器支持PHP
只有一个HTML文件的情况下,通过多个CSS文件来理想的展示你工作。
比JavaScript模式更快,而且就算浏览器没开启js支持也没问题
自动定义以下顺序的一个或多个默认的CSS文件:
自动寻找default_1.css和default_2.css作为默认样式
假如寻找不到默认样式,即按字母寻找第一个CSS文件
使用链接来改变CSS样式,设置Cookie为1小时,然后重定向到最后一页。如果上次访问页面无法找到(HTTP_REFERER)PHP脚本将重定向到网站的索引。
使用
在头部引入脚本
<link rel="stylesheet" type="text/css" href="css/switch.php">
把你的css样式文件都放到PHP脚本的同一目录下
通过链接改变CSS样式
<a href=”css/switcher.php?style=another_1.css”>其它样式</a>
php定位当前用户城市
from php定位当前用户城市
今天上网浏览,看到了淘宝有个ip库,可供查询ip对应的地理位置,于是就想测试下。下面是代码。
<?php
$user_IP = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];
$user_IP = ($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"];
$URL='http://ip.taobao.com/service/getIpInfo.php?ip='.$user_IP;
$fcontents = file_get_contents("$URL");
$contents=json_decode($fcontents);
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>pr查询</title>
</head>
<body style="text-align:center;margin:200px auto;font-size:25px">
<?php
echo '您来自: '.$contents->data->country.$contents->data->area.$contents->data->region.$contents->data->city.' ip为'.$contents->data->ip;
?>
</body>
</html>
欢迎测试:php定位当前用户城市