weiphp执行的流程

微信交互 1、用户与微信进行交互,交互的事件包括:回复公众号,扫描与公众号有关的二微码,关注(取消关注)公众号,在公众号里点击自定义菜单等2、微信把用户的交互事件及相关参数传递给weiphp的微信接口(接口地址由weiphp提供并在公众号的微信管理后台里设置)3、weiphp接收微信的请求,并把请求的xml转成数组形式提供后续功能使用,这部分处理代码Application/Home/Controller/WeixinController.class.php,该文件是负责与微信交互的唯一接口。4、weiphp判断请求的数据类型(如关注公众号还是回复公众号)进行相应的处理5、如请求的数据类型是回复公众号,weiphp通过查询关键词表找出相应的插件名及具体的业务数据ID6、通过插件名加载相应的插件,并把微信请求的数据和上一步通过关键词查出来的数据一并传递给到插件里。7、由插件根据上面的请求数据处理具体的业务并组装返回数据8、weiphp根据返回的数据再次封装成微信需要的格式并返回到微信里9、微信根据返回的数据排版好显示给用户,如果返回的数据是带链接可点击的,进入下一步,否则到此为止...
代码星球 代码星球·2020-04-05

PHP获取IP地址

获取客户端IP地址::functiongetIp(){if(!empty($_SERVER['HTTP_CLIENT_IP'])){return$_SERVER['HTTP_CLIENT_IP'];}elseif(!empty($_SERVER['HTTP_X_FORVARDED_FOR'])){return$_SERVER['HTTP_X_FORVARDED_FOR'];}elseif(!empty($_SERVER['REMOTE_ADDR'])){return$_SERVER['REMOTE_ADDR'];}else{return"未知IP";}亲,试试我这段代码,获取IP的三种形式,应该有一款适合你,根据你的系统,上网方式选择不同的获取方式 ...
代码星球 代码星球·2020-04-05

iPhone取消软件更新上边的1

  去除设置的更新+1小红点提示主要分为越狱和非越狱设备两种方法。   越狱状态下方法:  首先将你的设备进行越狱;  越狱后安装ifile(这个自行搜索安装);  用ifile打开/System/Library/CoreServices这个目录,找到“SystemVersion.plist”这个文件用属性表编辑器打开点击第一行,把里边的11D257(系统当前的版本号)改成12A365后重启一下设备;  重启后‘1’就已经消失了,完成后再改回11D257重启即可!     未越狱状态下方法:  打开wifi,让系统自动下载8.0的安装包(920M,占用2.7G);  下载完毕后提示8.0可用,这时点击安装,等到验证成功;  等验证成功以后会出现菊花圆圈开始转,这时候立刻按住power和home键强制开机;  机器重启之后就会发现设置上的红1没有了,占用的内存也回来了;  从此以后机器再也不会自动下载OTA包了,自己进软件更新才可以检测到更新;  (注:手机抹除之后会再次自动下载,用上述方法之后可以保...

什么是Mbps、Kbps、bps、kb、mb及其换算和区别

Mbps即Milionbitprosecond(百万位每秒);Kbps即Kilobitprosecond(千位每秒);bps即bitprosecond(位每秒);速度单位,bit即比特,通常用b(小写)表示,指一位二进制位,Milionbit=1000Kilobit=1000000bit;所以1Mbps=1000000bps;这是通常用来衡量带宽的单位,指每秒钟传输的二进制位数;而通常软件上显示的速度则是指每秒种传输的字节数(Byte)通常用B(大写)表示;MB即百万字节也称兆字节;KB即千字节;B即字节;之间关系为1MB=1024KB=1024*1024B;1B=8b;所以1M带宽即指1Mbps=1000Kbps=1000/8KBps=125KBps;因此1M的带宽下载的速度一般不会超过125KB每秒。2M、3M带宽分别是250KBps、375KBps;2M、3M带宽的下载速度分别不会超过250KB、375KB每秒。 假设要对10kbps进行换算,则有 10kbps=10000bps=0.01Mpbs.     &...
代码星球 代码星球·2020-04-05

FW/IDS/IPS/WAF等安全设备部署方式及优缺点

转自:https://blog.csdn.net/chenyulancn/article/details/78927916现在市场上的主流网络安全产品可以分为以下几个大类:1.基础防火墙FW/NGFW类 主要是可实现基本包过滤策略的防火墙,这类是有硬件处理、软件处理等,其主要功能实现是限制对IP:port的访问。基本上的实现都是默认情况下关闭所有的通过型访问,只开放允许访问的策略。FW可以拦截低层攻击行为,但对应用层的深层攻击行为无能为力。  FW部署位置一般为外联出口或者区域性出口位置,对内外流量进行安全隔离。部署方式常见如下  2.IDS类 此类产品基本上以旁路为主,特点是不阻断任何网络访问,主要以提供报告和事后监督为主,少量的类似产品还提供TCP阻断等功能,但少有使用。3.IPS类 解决了IDS无法阻断的问题,基本上以在线模式为主,系统提供多个端口,以透明模式工作。在一些传统防火墙的新产品中也提供了类似功能,其特点是可以分析到数据包的内容,解决传统防火墙只能工作在4层以下的问题。和IDS一样,IPS也要像防病毒...
代码星球 代码星球·2020-04-05

javascript 一个文本框输入完毕后自动跳转到下一个文本框的方法

<!DOCTYPEhtml><html><head><title>js24.html</title><metahttp-equiv="keywords"content="keyword1,keyword2,keyword3"><metahttp-equiv="description"content="thisismypage"><metahttp-equiv="content-type"content="text/html;charset=UTF-8"><!--<linkrel="stylesheet"type="text/css"href="./styles.css">--><!--输入完毕之后光标自动移动到下一个框的方法--><scripttype="text/javascript">functionmoveNext(object,index){if(object.value.length==4){document.forms[0].ele...

JavaScript 伪造 Referer 来路方法

Javascript是一种由Netscape的LiveScript发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为客户提供更流畅的浏览效果。  因为服务器端脚本可以轻易伪造referer,所以各大统计站点cnzz,百度统计,ga,51la等都是通过js来判断来路,不过现在有个方法js的referer也可以伪造了。WinHttp.WinHttpRequest.5.1是msxml4.0的底层对象,也就是说XMLHTTP/ServerXMLHTTP也是在它的基础上封装而来。用WinHttpRequest发的请求,Fiddler监测不到。Google一下发现它居然用可以成功伪造所有http请求的header信息!下面的代码通过伪造referer的值,假装从百度首页提交一个表单到指定的url去:varurl="http://www.yourtarget.com";varparam="name=david&age=30";varobj=newActiveXObject("WinHttp...

Javascript生成GUID

GUID(全球唯一标识)是微软使用的一个术语,由一个特定的算法,给某一个实体,如Word文档,创建一个唯一的标识,GUID值就是这个唯一的标识码.除了.Net有专门的方法生成外,JS也可以生成GUID,一般有两种方式,分别是方法一://JS生成GUID函数,类似.net中的NewID();functionS4() {     return(((1+Math.random())*0x10000)|0).toString(16).substring(1);   }    functionNewGuid() {     return(S4()+S4()+"-"+S4()+"-"+S4()+"-"+S4()+"-"+S4()+S4()+S4());   }方法二:function newGuid(){    var g...
代码星球 代码星球·2020-04-05

循环ip段 转载 出处不明

public struct IP        {            public byte A;            public byte B;            public byte C;            public byte D;       ...

c# 快速验证代理IP是否有用

 publicvoidyanzhen(stringstr,intport)       {           WebProxyproxyObject=newWebProxy(str,port);//str为IP地址port为端口号           HttpWebRequestReq=(HttpWebRequest)WebRequest.Create("http://www.whatismyip.com.tw/");           Req.Proxy=proxyObject;//设置代理           HttpWebResponseResp=(HttpWebResponse)Req.GetResponse();           stringstr="";           stringOkStr="";           Encodingcode=Encoding.GetEncoding("UTF-8");           using(StreamReadersr=newStreamReader(Resp.GetResponseStream(),code))...

MiniProfiler 兼容 Entity Framework 6

一直以来都是在用MiniProfiler配合ASP.NETMVC做请求的监控。在某项目升级EntityFramework6之后,在执行查询时报错误:--------------无法将类型为“StackExchange.Profiling.Data.EFProfiledDbConnection”的对象强制转换为类型“System.Data.SqlClient.SqlConnection”。---------- 显然是新版本的EntityFramework中增加了EntityFramework.SqlServer所以导致此错误的发生。暂时MiniProfiler还没有发布新的版本,所以以上问题可以使用以下方法解决1.下载MiniProfiler的对EF6支持的EFProfiledSqlClientDbProviderServices下载地址:https://github.com/SamSaffron/MiniProfiler2.下载后用NuGet将项目的EntityFramework升级至6.0版本,编译后将StackExchang...

javactript关闭窗体,刷新父窗体

//关闭,父窗口弹出对话框,子窗口直接关闭this.Response.Write("<scriptlanguage=javascript>window.close();</script>");//关闭,父窗口和子窗口都不弹出对话框,直接关闭this.Response.Write("<script>");this.Response.Write("{top.opener=null;top.close();}");this.Response.Write("</script>");//弹出窗口刷新当前页面width=200height=200菜单。菜单栏,工具条,地址栏,状态栏全没有this.Response.Write("<scriptlanguage=javascript>window.open(''rows.aspx'',''newwindow'',''width=200,height=200'')</script>");//弹出窗口刷新当前页面this.Response.Write("<scriptlangu...

mvc JavaScriptResult的用法

<scriptsrc="<%=Url.Action("jsClick")%>"type="text/javascript"></script>   <%:Ajax.ActionLink("点击","jsClick",newAjaxOptions())%>   <divid="showResult"></div>  JavaScriptResult:ActionResult大家可以看出里面有JavaScriptResult() 构造函数stringScript{get;set;} 脚本字符串属性overridevoidExecuteResult(ControllerContextcontext); 所以下面我们返回一段js的字符串publicActionResultjsClick()       {   &nb...
代码星球 代码星球·2020-04-05

Java初学者:第一个java程序告诉了我们什么

上次我们解释了一下命令行模式下如何编译运行java程序,这次我们来简单解释一下我们那个Hellobaby的小程序,首先我们来看一下源码:publicclassTest,到此为止,翻译过来就是:公有的名为Test的类。这是什么意思呢?这你就先别管了,以后再说。Publicstaticvoidmain(String[]args),这是一个公有的,静态的,没有返回值的,名为main的,参数名为args,参数类型是String[]的一个函数。这是什么意思呢?这你就先别管了,以后再说。System.out.println("Hellobaby");这行别的不说,println这个看着眼熟,像print对吧,对,这行就是打出Hellobaby。   我似乎什么都没解释对吗?因为没法解释,你啥都没学呢,我解释啥啊,但是此文却不是没有用的。我在这里要告诉你的是,通过这个java程序,初学者应该知道以下几点:1.你的java源程序文件名,必须与publicclass后面的那个名字相同。比如在我们的例子中,我们的文件名为Test.java,那么我们程序代码中那个就是publi...

ubuntu下面解压tar.gz包报错:tar命令报错: gzip: stdin: not in gzip format tar: Child returned status 1 tar: Error

  原因:压缩包文件不完整(损坏或者其他原因) 比如今天下载的tomcat8,使用ubuntu的命令下载的curl-Ohttp://apache.mirrors.ionfish.org/tomcat/tomcat-8/v8.0.33/bin/apache-tomcat-8.0.33.tar.gz 结果下载完了之后不能解压,原因就是下载的压缩包不完整。然后在官网重新下了,通过ssh的sz命令传到了linux服务器上面就好了。  再用ssh链接ubuntu的时候还遇到了一直连接不上的问题,原因是ubuntu没有下载ssh-server.需要下载下: sudoapt-getinstallopenssh-server之后再重新链接即可。...
首页上一页...402403404405406...下一页尾页