Discuz中 uc.php文件 uc-key执行漏洞修复方法

Discuz中 uc.php文件 uc-key执行漏洞修复方法

DZ uc.php文件 uc-key漏洞修复方法

主要修复方法参照:

dz3.2 最新版本:

文件:

api/uc.php

1、约241行:


function updatebadwords($get, $post) {
global $_G;

if(!API_UPDATEBADWORDS) {
return API_RETURN_FORBIDDEN;
}

$data = array();
if(is_array($post)) {
foreach($post as $k => $v) {
//dz官网修复方法 uc-key方法。 6.24
if(substr($v['findpattern'], 0, 1) != '/' || substr($v['findpattern'], -3) != '/is') {
$v['findpattern'] = '/' . preg_quote($v['findpattern'], '/') . '/is';
}
//end
$data['findpattern'][$k] = $v['findpattern'];
$data['replace'][$k] = $v['replacement'];
}
}



» 阅读全文

关键词: 漏洞修复 , uc-key漏洞

微信服务器白名单IP列表

微信服务器白名单IP列表,列出以便自己做白名单使用。

[0] => 101.226.62.77
            [1] => 101.226.62.78
            [2] => 101.226.62.79
            [3] => 101.226.62.80
            [4] => 101.226.62.81
            [5] => 101.226.62.82
            [6] => 101.226.62.83
            [7] => 101.226.62.84
            [8] => 101.226.62.85
            [9] => 101.226.62.86

» 阅读全文

微信支付在某些情况下加载请求非常慢的问题分析和解决办法

今天在开发公司的项目过程,在使用微信支付的时候,请求非常慢。

主要请求慢的原因是微信支付需要授权,获取openid,

 $tools = new \JsApiPay();
$openId = $tools->GetOpenid();
了解微信的人都知道,微信的授权获取微信openid 需要进行2各小步骤,第一步先获取code,

第二步拿到code,再去请求第二个接口,获取openid。

由于微信授权,普通的浏览器是看不到效果的,所以可以通过抓包的时候来搞,抓包软件,我mac用的是青花瓷

通过一步步分析发现。原来是在第二部的时候,请求非常慢:主要请求接口域名是:

https://api.weixin.qq.com

但是我其他服务器都是好好的,非常快啊,为何部署支付的服务器这么慢呢?

腾讯不应该出现这么慢的服务器啊。

于是分别在2个服务器上ping了下。最后对比下发现,虽然本地和服务器上ping返回的time差不多的,

但是,明显服务器上返回1个ping,本地都返回6~9个ping了,说明还是服务器问题。

如果同时ping  ip的话,就差不多,进而想到,很可能是服务器设置的DNS的问题,

服务器DNS解析的微信接口的API地址非常慢。

ssh 登录下服务器:

看下,dns是使用安徽的一个老的dns,和谷歌的dns,果断换成腾讯的dns和阿里云的dns

搜嘎。感觉速度非常快了。

如果各位遇到这个问题,记得这么去排查下。

这个主要是由微信支付引起的一个微信授权api的问题。


PHP CURL实现并发多线程的抓取url地址

PHP CURL实现并发多线程,主要就是以:curl_multi_ * 的类库。一个简单的demo

另外感觉curl多线程没有想想那么的好,各位适应php的扩展 pthread

$urls = array(
    'http://localhost/test/time.php',
    'http://localhost/test/time.php',
    'http://localhost/test/time.php',
    'http://localhost/test/time.php',
    'http://localhost/test/time.php',
    'http://localhost/test/time.php',
    'http://localhost/test/time.php',



» 阅读全文

高并发下LNMP的构架考虑及资源分配简单思考 

LNMP中的N是nginx为Web Server

nginx作为内容的分发者,会在文件系统找到相应的文件,就返回给浏览器。如果是静态的文件,就可以直接返回,但是如果是index.php需要解析并执行的脚本文件时,Web Server就无力了,需要将请求转发给相应的脚本语言的解析器来解释并执行,最终将程序的执行结果,返回给Web Server,再返回给浏览器。

LNMP中的P是php充当后端的逻辑处理程序

那么php与nginx的常规协作方式是如何的呢?需要我们明确几个概念

cgi

通用网关接口,是HTTP协议中描述的,Web Server与后端处理程序进程间通信的协议

» 阅读全文

HTML5利用Geolocation API获取地理位置定位功能

定位功能(Geolocation)是html5的新特性,因此只有在支持HTML5的现代浏览器上运行,特别是手持设备如iphone,地理定位更加精确。首先我们要检测用户设备浏览器是否支持地理定位,如果支持则获取地理信息。注意这个特性可能侵犯用户的隐私,除非用户同意,否则用户位置信息是不可用的,所以我们在访问该应用时会提示是否允许地理定位,我们当然选择允许即可。


function getLocation(){ 
    if (navigator.geolocation){ 
        navigator.geolocation.getCurrentPosition(showPosition,showError); 
    }else{ 
        alert("浏览器不支持地理定位。"); 
    } 
} 


» 阅读全文

关键词: 定位 , 获取地理位置 , html5

砸金蛋:PHP+jQuery实现的砸金蛋中奖功能

砸金蛋:PHP+jQuery实现的砸金蛋中奖功能。当然案例是3个,你也可以改为1个金蛋,进行抽奖

1.png - 大小: 75.65 KB - 尺寸: 1124 x 688 - 点击打开新窗口浏览全图

抽奖算法:



» 阅读全文

关键词: 砸金蛋

刮刮卡:利用HTML5的画布Canvas的实现移动端刮刮卡效果

我们利用HTML5的画布canvas,结合其提供的API,在Canvas元素上绘制一个灰色蒙层,然后通过检测用户鼠标移到和手势来绘制一个透明的图形,这样就能看到Canvas背景下的真实图片,就达到刮刮卡效果。
HTML
我们只需要在页面中加入canvas标签元素,其他的就看javascript的了。注意canvas元素是HTML5才有的元素,运行在支持HTML5的现代浏览器上,特别是移动。

1.png - 大小: 40.87 KB - 尺寸: 966 x 542 - 点击打开新窗口浏览全图

DEMO:


http://www.jincon.com/download/guaguaka/

» 阅读全文

关键词: canvas , 刮刮卡