之前曾经说过,侧边栏项目支持PHP代码,而不仅仅是html。但是为了保险起见,程序要求所有出现在侧边栏项目中的PHP代码全部用base64编码。以侧边模板切换器的代码为例:
<php>Z2xvYmFsICRsYW5nZnJvbnQsICR0ZW1wbGF0ZTsNCiRsYW5nZm
(中间省略)
</php>

这一部分,也就是被 <php></php>包围起来的部分,就是base64_encode后的php代码。

不过这样一来,改写代码和编码就显得比较麻烦。以下是我自己写的一个小程序,非常简陋,用于快速base64_encode与base64_decode。贴出来给需要的插件开发者使用。(顺便测试代码高亮功能)

以下请另存为 decodephp.php,直接打开就能用了。
<?PHP
error_reporting
(E_ERROR E_WARNING E_PARSE);
@
set_magic_quotes_runtime (0);
@
header("Content-Type: text/html; charset=utf-8");
$code=$_POST['code'];
$action=$_REQUEST['action'];
if (
get_magic_quotes_gpc()) $code=stripslashes($code);

if (
$action=='decode') {
    
$code=base64_decode($code);
    
$code=nl2br(htmlspecialchars($code));
}
else 
$code=base64_encode($code);
?>

<html>
<body style="text-align: center;">
<div style="text-align: left; width: 90%; font-family: Verdana; font-size: 14px; margin: auto; background: #EFEFEF; color: #000;"><b>Result: </b><br><br><?php echo ($code);?><br><br></div><br><br>
<form action="decodephp.php" method='post'>
<textarea name='code' cols='100' rows='16'></textarea><br>
<input type='radio' name='action' value='decode' checked>DECODE &nbsp; &nbsp; <input type='radio' name='action' value='encode'>ENCODE<br><br>
<input type='submit'> &nbsp; &nbsp; <input type='reset'>
</form>
</body>
</html>


将侧边栏模板切换器的编码部分(不包含<php>和</php>)拷贝到输入框内,解码后的结果为:
<?
global $langfront$template;
$langforselskin=($langfront=='zh-tw') ? '恢復預設' '恢复默认';
include_once (
"data/cache_skinlist.php");
if (
is_array($skinset)) {
foreach (
$skinset as $skin) {
@list(
$skid$skname$skauthor$skintro$skdir$skthumbnail)=@explode('|'$skin);
if (
$skid==$template['id']) $optionskinlist.="<option value='{$skdir}' selected='selected'>{$skname}</option>";
else 
$optionskinlist.="<option value='{$skdir}'>{$skname}</option>";
}
}
$phpreturn="<form action='index.php' method='post' id='skinselector'><select name='tem' onchange=\"document.getElementById('skinselector').submit();\"><option value='____'>{$langforselskin}</option>{$optionskinlist}</select></form>";
?>
Tags: , , ,
半瓶墨水 Email Homepage
2008年6月30日星期一 17:44
关于代码高亮,可以试试这个:无需代码插件在blog中做代码高亮

代码发芽网:http://www.fayaa.com/code/

支持近百种编程语言的
小麦
2008年2月15日星期五 19:50
反编译没效果
inputx Email Homepage
2006年10月5日星期四 01:18
cry我用了这个之后连首页都打不开了shuai
bob 回复于 2006年10月5日星期四 12:00
如果您插入了自己的php代码,请确保这些代码都是正确的,如果写错了那自然打不开了。
路过的宝马 Email Homepage
2006年7月7日星期五 22:39
<?PHP
error_reporting(E_ERROR | E_WARNING | E_PARSE);
@set_magic_quotes_runtime (0);
@header("Content-Type: text/html; charset=utf-8");
$code=$_POST['code'];
$action=$_REQUEST['action'];
if (get_magic_quotes_gpc()) $code=stripslashes($code);

if ($action=='decode') {
   $code=base64_decode($code);
   $code=htmlspecialchars($code);
}
else $code=base64_encode($code);
?>

<html>
<body style="text-align: center;">
<form action="decodephp.php" method='post'>
<textarea name='code' cols='100' rows='14'></textarea><br>
<input type='radio' name='action' value='encode' checked>ENCODE &nbsp; &nbsp; <input type='radio' name='action'

value='decode'>DECODE<br>
<SCRIPT LANGUAGE="JavaScript">
<!--
// 自动 COPY 代码开始
function MM_findObj(n, d) { //v4.0
 var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
   d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
 if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
 for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
 if(!x && document.getElementById) x=document.getElementById(n); return x;
}
function JM_cc(ob){
  var obj=MM_findObj(ob); if (obj) {
  obj.select();js=obj.createTextRange();js.execCommand("Copy");}
  alert("sucessed copyed!");
}

function JM_pc(ob){
  var obj=MM_findObj(ob); if (obj) {
  obj.select();js=obj.createTextRange();js.execCommand("Paste");}
}
//-->
</SCRIPT>



<INPUT TYPE="button" value="copy" onClick=JM_cc("codeContent")> &nbsp; &nbsp;
<INPUT TYPE="button" value="Paste" onClick=JM_pc("code")> &nbsp; &nbsp;
<input type='submit' value="submit"> &nbsp; &nbsp;
<input type='reset' value="reset">
</form>

Result: <br>
<textarea name="codeContent" id="codeContent" cols='100' rows='14'><?php echo ($code);?></textarea>

</body>
</html>
天涯书库 Email Homepage
2006年3月22日星期三 23:54
跟楼上的同问,希望高手指点

天涯书库
bob 回复于 2006年3月24日星期五 20:10
检查后台路径设置。
阳光游子 Email Homepage
2006年3月13日星期一 00:39
为什么点击我blog的最新日志,无法连接到相关页面,后点击首页,路径变成http:///index.php没有了域名,不知道该如何解决,希望能够尽快获得各位高手的指点,谢谢!
anger
分页: 1/1 第一页 1 最后页


Powered by Bo-Blog 2.1.1 pre RCCode detection by Bug.Center.Team
沪ICP备05032643号

© 2008 博睿智 Marshal Design Bo-blog offcial theme