vBulletin HACK----关于排版的两个HACK


Posted in PHP onOctober 09, 2006

《以vB代码实现的简单文字排版》
原因:1.1.4版本中没有这些,而国内的比较著名的UBB HACK之家就增加了很多对于文字排版的UBB代码(vB代码)。
优点:只需要几行,就可以实现,很简单。
缺点:因为需要嵌套,所以如果用户写得不好的话,会影响帖子其它内容的样式,甚至殃及整个话题。
自评:其实,这只是将更多的HTML代码以vB代码的形式来实现,为的让人从另一个角度去学习如何进行Web的文字排版而不用去学HTML,也为了安全。

步骤:打开 global.php ,查找“
function bbcodeparse2($bbcode,$forumid=0,$allowsmilie=1) {
”,在[code]和其它HACK之前的适当位置,例如“
      // 执行引用回复
      $bbcode=eregi_replace("quote\]","quote]",$bbcode);  // 小写化
      $bbcode=str_replace("[quote]rn","<blockquote><smallfont>引用:</smallfont><hr>",$bbcode);
      $bbcode=str_replace("[quote]","<blockquote><smallfont>引用:</smallfont><hr>",$bbcode);
      $bbcode=str_replace("[/quote]rn","<hr></blockquote>",$bbcode);
      $bbcode=str_replace("[/quote]","<hr></blockquote>",$bbcode);
”,在后面加入“
      // Hack color,font,size,style,center
      $bbcode=eregi_replace("\[color=["]{0,1}(#[a-z0-9-]{6})["]{0,1}\]","<font color=\1>",$bbcode);  // [color=]
      $bbcode=eregi_replace("\[/color\]","</font>",$bbcode);  // [/color];
      $bbcode=eregi_replace("\[size=["]{0,1}([0-9]{1})["]{0,1}\]","<font size=\1>",$bbcode);  // [size=]
      $bbcode=eregi_replace("\[/size\]","</font>",$bbcode);  //  [/size]
      $bbcode=eregi_replace("\[font=["]{0,1}([^\[]*)["]{0,1}\]","<font face="\1">",$bbcode);  // [font=]
      $bbcode=eregi_replace("\[/font\]","</font>",$bbcode);  //  // [/font]
      $bbcode=eregi_replace("\[style=["]{0,1}([^\[]*)["]{0,1}\]","<span style="\1">",$bbcode);  // [style=]
      $bbcode=eregi_replace("\[/style\]","</span>",$bbcode);  //  [/style]
      $bbcode=eregi_replace("\[center\]","<p align=center>",$bbcode);  // [center=]
      $bbcode=eregi_replace("\[/center\]","</p>",$bbcode);  //  [/center]
      // End Hack color size style
”,完成。
范例可以参考:

《禁止JavaScript》
原因:vBulletin没有对Javascript脚本做任何的特别对待处理,所以如果论坛开放了HTML代码的话,就有可能受到alert或window.open的袭击而沦陷。

步骤:打开 global.php ,查找“
    if ($dohtml==0) {
      // 删除HTML代码
      $bbcode=str_replace("&","&",$bbcode);
      $bbcode=str_replace("<","<",$bbcode);
      $bbcode=str_replace(">",">",$bbcode);
    }
”,在最后一个花括号前,加入“
    } else {
      $bbcode=eregi_replace("<([/]{0,1}script[^<]*)>","<\1>",$bbcode);
”,完成!

【本文版权归作者与奥索网共同拥有,如需转载,请注明作者及出处】    

PHP 相关文章推荐
Oracle 常见问题解答
Oct 09 PHP
PHP has encountered an Access Violation at 7C94BD02解决方法
Aug 24 PHP
PHP 危险函数全解析
Sep 09 PHP
php排序算法(冒泡排序,快速排序)
Oct 09 PHP
获取URL文件名后缀
Oct 24 PHP
PHP数组遍历知识汇总(包含遍历方法、数组指针操作函数、数组遍历测速)
Jul 05 PHP
实例讲解PHP面向对象之多态
Aug 20 PHP
phpnow php探针环境检测代码
Nov 04 PHP
PHP+MySQL实现无极限分类栏目的方法
Dec 23 PHP
PHP生成可点击刷新的验证码简单示例
May 13 PHP
php实现通过soap调用.Net的WebService asmx文件
Feb 27 PHP
THINKPHP-Apache服务器中使用Alias虚拟目录URL重写 隐藏index.php
Mar 09 PHP
PHP+APACHE实现用户论证的方法
Oct 09 #PHP
从C/C++迁移到PHP——判断字符类型的函数
Oct 09 #PHP
PHP实现图片简单上传
Oct 09 #PHP
在线增减.htpasswd内的用户
Oct 09 #PHP
将OICQ数据转成MYSQL数据
Oct 09 #PHP
PHP中一个控制字符串输出的函数
Oct 09 #PHP
PHP用户指南-cookies部分
Oct 09 #PHP
You might like
搜索引擎技术核心揭密
2006/10/09 PHP
Mysql和网页显示乱码解决方法集锦
2008/03/27 PHP
PHP实现图片不变型裁剪及图片按比例裁剪的方法
2016/01/14 PHP
PHP实现单例模式建立数据库连接的方法分析
2020/02/11 PHP
彻底搞懂JS无缝滚动代码
2007/01/03 Javascript
IE与FF下javascript获取网页及窗口大小的区别详解
2014/01/14 Javascript
详细解密jsonp跨域请求
2015/04/15 Javascript
jQuery.trim() 函数及trim()用法详解
2015/10/26 Javascript
AngularJs基本特性解析(一)
2016/07/21 Javascript
jquery checkbox的相关操作总结
2016/10/17 Javascript
seajs实现强制刷新本地缓存的方法分析
2017/10/16 Javascript
详解babel升级到7.X采坑总结
2019/05/12 Javascript
JavaScript提升机制Hoisting详解
2019/10/23 Javascript
es6 super关键字的理解与应用实例分析
2020/02/15 Javascript
原生js无缝轮播插件使用详解
2020/03/09 Javascript
微信小程序自定义联系人弹窗
2020/05/26 Javascript
python读取html中指定元素生成excle文件示例
2014/04/03 Python
Windows8下安装Python的BeautifulSoup
2015/01/22 Python
python实现文件快照加密保护的方法
2015/06/30 Python
python 截取 取出一部分的字符串方法
2017/03/01 Python
Python之自动获取公网IP的实例讲解
2017/10/01 Python
人工智能最火编程语言 Python大战Java!
2017/11/13 Python
selenium + python 获取table数据的示例讲解
2018/10/13 Python
python 哈希表实现简单python字典代码实例
2019/09/27 Python
Python递归调用实现数字累加的代码
2020/02/25 Python
解决pymysql cursor.fetchall() 获取不到数据的问题
2020/05/15 Python
Python中flatten( ),matrix.A用法说明
2020/07/05 Python
PyQt中使用QtSql连接MySql数据库的方法
2020/07/28 Python
什么是会话Bean
2015/05/14 面试题
汽修专业学生自我鉴定
2013/11/16 职场文书
教学质量评估实施方案
2014/03/17 职场文书
心理咨询承诺书
2014/05/20 职场文书
建筑安全标语
2014/06/07 职场文书
幼儿教师2014年度工作总结
2014/12/16 职场文书
辞职信标准格式
2015/02/27 职场文书
铁人纪念馆观后感
2015/06/16 职场文书