浏览模式: 标准 | 列表分类:网站|PHP学习

使用PHP5开发简单MVC系统

使用PHP5开发简单MVC系统 ,网上搜到的。应该是英文译过来的。在这篇文章里我们将使用PHP5的标准类库构建一个简单的MVC系统

» 阅读全文

Tags: mvc

技术活儿还是体力活儿

拓派要改版了,版面的改动不大.就是从asp改动到php去了.

重点就是要把以前在asp上用的皮,扒下安到php的平台上去.

long long ago ,php还没开赛看的时候,觉得给Prim@Hosting VP 做皮肤很不容易.如今,玩php也有一阵了,特别是重点玩了一些模板引擎,所以现在做皮肤也不觉得可怕了.但是还是快累得吐血.最终,淡水觉得这是个体力活儿.

接近4个小时才把首页勉强完成.唉,洗洗睡了.

$_SERVER['PHP_SELF']可能引起的XSS

备忘一下吧,淡水以前对安全方面关注度较低。

解决方法:

PHP代码
  1. $PHP_SELF = $_SERVER['PHP_SELF'] ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME'];  



改为:

PHP代码
  1. $PHP_SELF = htmlspecialchars($_SERVER['PHP_SELF'] ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME']);  

来源:http://www.sebug.net/vulndb/2748

Tags: xss

ChinaUnix.net淘到的PHP中路径问题的解决方案

引言:
关于PERL与PHP中的包含路径一直是一个比较难解的问题,主要是与操作系统和WEB服务器有关,不可能非常智能化的解决这个路径问题。相对于PERL,PHP的路径好得多,解决起来也容易得多,因为PHP的相对路径在PHP程序中的任何场合都可以使用,而不象PERL在某些语句中必须用绝对路径而导致移植的极其复杂。

» 阅读全文

Tags: 路径

使用PHP缩略图和剪切图

先说说缩略图,它用得比较多,代码如下:

 

PHP代码
  1. <?php   
  2. header("Content-type: image/png");   
  3. //原图   
  4. $filename='source.jpg';   
  5. //缩放比例 新图/原图   
  6. $percent = '0.5';   
  7. list($width,$height) = getimagesize($filename);   
  8. $newwidth = $width * $percent;   
  9. $newheight = $height * $percent;   
  10. // Load   
  11. $thumb = imagecreatetruecolor($newwidth$newheight);   
  12. $source = imagecreatefromjpeg($filename);   
  13. // Resize   
  14. imagecopyresized($thumb$source, 0, 0, 0, 0, $newwidth$newheight$width$height);   
  15. // Output   
  16. imagepng($thumb);   
  17. ?>  

 

再说说剪切图,就是不缩放,而是从原图中剪切出一块小图,比较个性。代码如下:

 

PHP代码
  1. <?php   
  2. $maxW=300;   
  3. $maxH=300;   
  4. //图片路径   
  5. $link"big.jpg";   
  6. $img = imagecreatefromjpeg($link);   
  7. list($width$height$type$attr) = getimagesize($link);   
  8. $widthnum=ceil($width/$maxW);   
  9. $heightnum=ceil($height/$maxH);   
  10. $iOut = imagecreatetruecolor ($maxW,$maxH);   
  11. //bool imagecopy ( resource dst_im, resource src_im, int dst_x, int dst_y, int src_x, int src_y, int src_w, int src_h )   
  12. //将 src_im 图像中坐标从 src_x,src_y 开始,宽度为 src_w,高度为 src_h 的一部分拷贝到 dst_im 图像中坐标为 dst_x 和 dst_y 的位置上。   
  13.   
  14. //整图循环切割   
  15. for ($i=0;$i < $heightnum;$i++) {   
  16.  for ($j=0;$j < $widthnum;$j++) {   
  17.  imagecopy($iOut,$img,0,0,($j*$maxW),($i*$maxH),$maxW,$maxH);//复制图片的一部分   
  18.  imagejpeg($iOut,"images/".$i."_".$j.".jpg"); //输出成0_0.jpg,0_1.jpg这样的格式   
  19.  }   
  20. }   
  21.   
  22. //只剪切一个开始部位的小图.复制图片的一部分   
  23.  imagecopy($iOut,$img,0,0,0,0,$maxW,$maxH);   
  24.  imagejpeg($iOut,"images/sm.jpg");   
  25. ?>  

 

注释比较明白,看看就懂了

Tags: 缩略图, 剪切图

基于JQuery框架的AJAX

主要演示了三种jquery处理ajax的函数,$.ajax() 和 $.post 还有 $.get() 。俩个示例,第一个例子是在phpchina淘的。jQuery

» 阅读全文

Tags: jquery, ajax, js

php安全不完全考虑

  1. 不要为 SQL 语句使用 PDO 参数传值,以防止 SQL injection.
  2. 务必使用 htmlspecialchars/htmlentities 和/或者 strip_tags 转义 html 和JavaScript 来防止 XSS(交叉站点脚本) 攻击.
  3. 务必使用 sessions 和安全套接字来防止 session 被劫持,采用 md5 校验和来验证 session ids. 在 session 里存储一个特殊的令牌 md5(uniqueid(rand(),time)) 放到一个隐含的表单提交项里:eg. $_SESSION["token"]===$FORM["token"].
  4. 务必使用 escapeshellarg/escapeshellcmd 调用外部命令防止命令行注入
  5. 务必从进入的http头删除分行符以防止http头提早终止 Do remove linebreaks from incoming headers to prevent early header termination and injection. Fixed >PHP5.1
    采用 md5 校验和来序列化参数值和 sessionid来验证一致性
  6. 使用 === 来验证输入值以保证类型一致
  7. 在任何用户特权提升的应用中,采用 session_regenerate
    在商务交易中采用安全套接字
  8. 设置以下参数来提高安全性:
  • ini_set("display_errors",false);
  • ini_set("log_errors",true);
  • ini_set("error_log","path/to/php.log");
  • ini_set("session.save_path","path/above/www"); 或者session放到数据库
  • php.ini expose_php=off
  • php.ini register_globals=off
  • Apache servertokens=prod

Tags: 安全

WEB项目流程控制

WEB项目流程控制图

» 阅读全文

Tags: 流程

PHP使用zlib扩展实现页面GZIP压缩输出

PHP使用zlib扩展实现页面GZIP压缩输出,作者在BI上的原文说的比较的风趣。淡水已经做个测试了,没有问题,那个压缩机函数,大家可以直接使用了XD. 来自BI.

» 阅读全文

Tags: gzip

使用url传递session

如果你不放心你的用户不启用cookie从而导致session的失效,或者你就是想用url传递session信息。很简单,看代码就知道怎样使用了

page1.php

PHP代码
  1. <?php   
  2. session_start ();    
  3. $_SESSION ['user']='淡水河边';    
  4. $sid = session_id();    
  5. $url = '<a href='.''page2.php?sid='.$sid.''>下一页</a>';    
  6. echo $url;    
  7. ?>  

page2.php

PHP代码
  1. <?php    
  2. session_id($_GET['sid']);    
  3. session_start();    
  4. echo '欢迎你:'.$_SESSION['user'];    
  5. ?>  

Tags: session

Records:25812345678910»