
获取访问客户端来源IP,有则返回IP ,无则返回.NULL.
Define Class ctl_IPService As Session
Procedure getClientIP
Local cResult,lcReturn
cResult=getRequestHeader("HTTP_X_FORWARDED_FOR")
&&可能有代理
lcReturn=""
If (At(".",cResult)<=0) &&沒有".",非 IPv4 格式
lcReturn= ""
Else
If At(",",cResult) > 0
Alines(myarray,cResult,",")
For lni=1 To Alen(myarray)
lctmp = Substr(myarray[lni],1, 8)
If !This.isip(lctmp)
lcReturn=""
Exit
Endif
If Left(lctmp,3)=="10." Or Inlist(lctmp,"192.168","172.16.")
lcReturn= ""
Exit
Endif
lcReturn = lctmp
Exit
Endfor
Endif
Endif
If Empty(lcReturn)
lcReturn=getRequestHeader("REMOTE_ADDR")
oFrmMain.log("我获取:"+lcReturn)
Endif
Return IIF(EMPTY(lcReturn),.null.,lcReturn)
Endproc
Procedure IsIP
Lpar cip,lni
Alines(myarray2,cip,".")
If Alen(myarray2)!=4
Return .F.
Endif
For lni=1 To Alen(myarray2)
lntmp=Val(myarray2[lni])
If lntmp>255
Return .F.
Endif
Endfor
Endproc
Enddefine访问http://ip/ctl_IPService.fsp?proc=getclientip就可以获取你的公网IP了,
把以上代码发布到云,VFP做一个定时器监视IP变化然后上报,不是梦。以后内网数据服务器IP变化也轻易搞定。
丢掉花生壳。
猫猫的心里话
加菲猫的VFP|狐友会社群接收投稿啦
加菲猫的VFP,用VFP不局限VFP,用VFP混合一切。无论是VFP,还是JS,还是C,只要能混合起来,都可以发表。
商业模式,销售技巧、需求规划、产品设计的知识通通可以发表。
暂定千字50元红包,,优秀的文章红包更大,一经发表,红包到手。
如何帮助使用VFP的人?
用VFP的人,有专业的,有非专业了,很多人其实是小白,问出的问题是小白,如果问题不对,我们引导他们问正确的问题。无论如何请不要嘲笑他们说帮助都不看,这么简单的问题都不会,嘲笑别人不行,而无法提出建设性答案,是很low的。
我们无论工作需要,还是有自己的软件,都是是需要真正的知识,如何让更多人学习真正的VFP知识呢,只需要点赞,在看,能转发朋友圈就更好了。
加菲猫的vfp倡导用"VFP极简混合开发,少写代码、快速出活,用VFP,但不局限于VFP,各种语言混合开发"。
我已经带领一百多名会员成功掌到VFP的黑科技,进入了移动互联网时代,接下来我们要进入物联网领域。
2023年狐友会社群会员继续招募中
社群会员获取的权益有:
祺佑三层开发框架商业版(猫框),终身免费升级,终身技术支持。
开放的录播课程有:
微信小程序,微信公众号开发,H5 APP开发,Extjs BS开发,VFP面向对象进阶,VFP中间层开发。
源码类资源有:
支付组件源码,短信源码,权限组件源码,一些完整系统的源码。这个可以单独出售的,需要的可以联系我。
会员也可以实现群内资源对接,可以接分包,合作等各项商业或技术业务





被折叠的 条评论
为什么被折叠?



