<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="PHP变量可用字符 - 神盾加密解密教程（一）" id="card1">
<p> 游客</p><p>
标题:PHP变量可用字符 - 神盾加密解密教程（一）<br/>
正文:<br/>
我们都知道php变量的命名规则，如下：<br/>(1) PHP的变量名区分大小写;<br/>(2) 变量名必须以美元符号$开始;<br/>(3) 变量名开头可以以下划线开始;<br/>(4) 变量名不能以数字字符开头.其实所有编程都类似的命名规范就是：<br/>1. 变量第一个字符最好是 字母或_，不能以数字开头<br/>2. 第二个字符开始允许 数字，字母，_好了，差不多就是这样了，但是这不是我们要说的重点。<br/>今天我们说说 PHP 变量的可用字符，不仅仅是 数字，字母，_ 哦。前几天QQ上一朋友发我一个shell，是加密过的，通篇乱码，不过上面有注释，叫做 “神盾加密” 好霸气的样子。<br/>里面用了一些比较生僻的知识点，其中最明显的就是变量名，所以今天我们先从变量开始讲。当然网上我也没找到权威的资料强有力的说明PHP的变量名可用字符的信息，所以我只能自己测试了。(英文不好，没办法谷歌到有利的证据)<br/>先来看下我所用的方法，（如果你有更好的方法，希望分享下。）代码如下:&amp;lt;?php<br/>if ($_POST) {<br/>    $chr = chr($_POST['chr']);<br/>    eval('$'.$chr.&quot;=1;&quot;);<br/>    echo 'ok';<br/>    exit;<br/>}<br/>?&amp;gt;<br/>&amp;lt;!doctype html&amp;gt;<br/>&amp;lt;html lang=&quot;en&quot;&amp;gt;<br/>&amp;lt;head&amp;gt;<br/>    &amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt;<br/>    &amp;lt;title&amp;gt;test&amp;lt;/title&amp;gt;<br/>    &amp;lt;script src=&quot;http://libs.baidu.com/jquery/1.8.2/jquery.js&quot;&amp;gt;&amp;lt;/script&amp;gt;<br/>&amp;lt;/head&amp;gt;<br/>&amp;lt;body&amp;gt;<br/>    &amp;lt;script<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1668&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1668&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1668&amp;Page=2">[2]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1668&amp;Page=3">[3]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1668&amp;Page=6">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=1668">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=1668">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>