PHP编程:浅谈 PHP 变量可用字符
因为函数实在是太多了,慢慢的你就会知道,知道有这个函数就可以。先来讲说php变量的定名划定规矩,百度下一抓一年夜把:(1)PHP的变量名辨别巨细写;(2)变量名必需以美圆标记$入手下手;(3)变量名开首能够以下划线入手下手;(4)变量名不克不及以数字字符开首.实在一切编程都相似的定名标准就是:1.变量第一个字符最好是字母或_,不克不及以数字开首2.第二个字符入手下手同意数字,字母,_好了,差未几就是如许了,可是这不是我们要说的重点。明天我们说说PHP变量的可用字符,不单单是数字,字母,_哦。头几天QQ上一伴侣发我一个shell,是加密过的,通篇乱码,不外下面有正文,叫做“神盾加密”好霸气的模样。内里用了一些对照冷僻的常识点,个中最分明的就是变量名,以是明天我们先从变量入手下手讲。固然网上我也没找到威望的原料强无力的申明PHP的变量名可用字符的信息,以是我只能本人测试了。(英文欠好,没举措谷歌到有益的证据)先来看下我所用的办法,(假如你有更好的办法,但愿分享下。)<?phpif($_POST){$chr=chr($_POST);eval($.$chr."=1;");echook;exit;}?><!doctypehtml><htmllang="en"><head><metacharset="UTF-8"><title>test</title><scriptsrc="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.js"></script></head><body><script>for(vari=0x00;i<=0xFF;i++){//0x00-0xFF255个字符$.ajaxSettings.async=false;//同步形式,为了按按次前往数据$.post("?",{chr:i},(function(data){//posti给php剖析data===ok&&console.log("x"+(i).toString(16));//假如只前往ok申明能一般实行,不然会抛出非常});}</script></body></html>代码还算对照复杂,PHP部分只卖力剖析每个字符看成变量名的实行了局是不是会抛出溢出。好比字符a那末会剖析eval($a=1;);如许的了局一定没成绩,以是不会抛出非常,前往了局就是ok字符。假如字符-那末会剖析eval($-=1;);这分明是不合错误的,以是会抛出PHPParseerror:syntaxerror,unexpected-,expectingT_VARIABLEor$和ok字符。而上面的ajax部分者恰是使用前往了局是不是为ok而判别是不是是无效的变量名。看看实行后的了局是甚么吧:"x41,x42,x43,x44,x45,x46,x47,x48,x49,x4a,x4b,x4c,x4d,x4e,x4f,x50,x51,x52,x53,x54,x55,x56,x57,x58,x59,x5a,x5f,x61,x62,x63,x64,x65,x66,x67,x68,x69,x6a,x6b,x6c,x6d,x6e,x6f,x70,x71,x72,x73,x74,x75,x76,x77,x78,x79,x7a,x7f,x80,x81,x82,x83,x84,x85,x86,x87,x88,x89,x8a,x8b,x8c,x8d,x8e,x8f,x90,x91,x92,x93,x94,x95,x96,x97,x98,x99,x9a,x9b,x9c,x9d,x9e,x9f,xa0,xa1,xa2,xa3,xa4,xa5,xa6,xa7,xa8,xa9,xaa,xab,xac,xad,xae,xaf,xb0,xb1,xb2,xb3,xb4,xb5,xb6,xb7,xb8,xb9,xba,xbb,xbc,xbd,xbe,xbf,xc0,xc1,xc2,xc3,xc4,xc5,xc6,xc7,xc8,xc9,xca,xcb,xcc,xcd,xce,xcf,xd0,xd1,xd2,xd3,xd4,xd5,xd6,xd7,xd8,xd9,xda,xdb,xdc,xdd,xde,xdf,xe0,xe1,xe2,xe3,xe4,xe5,xe6,xe7,xe8,xe9,xea,xeb,xec,xed,xee,xef,xf0,xf1,xf2,xf3,xf4,xf5,xf6,xf7,xf8,xf9,xfa,xfb,xfc,xfd,xfe,xff"收拾后发明是如许的16进制数据,固然看不懂不妨,看下本义后的了局:"A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,_,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,, 在我安装pear包的时候老是提示,缺少某某文件,才发现那群extension的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。 我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。 使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的 有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。 有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。 当然这种网站的会员费就几十块钱。 在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。 学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql
页:
[1]