9core.com - 九核技术交流网

九百链
为了更好的解决实际工作中遇到的问题,本站开设了QQ群 ASP+PHP+JSP+.NET①:9793624
ASP+PHP+JSP+.NET②:17775294
网站通告: 新开设QQ群,群号:17775294 九核WEB技术专业论坛 官方QQ群 9793624
搜索: 您的位置主页> 程序开发 > Php技术 >
  • 2008-07-17使用.htaccess来防盗链
  • 先解释一下图片防盗链和转向:qZLzyjXm9aJocnn74t7nmnxfi8XjBBT3ezxfcJpI图片防盗链有什么用?qZLzyjXm9aJocnn74t7nmnxfi8XjBBT3ezxfcJpI防止其它网站盗用你的图片,浪费你宝贵的流量。 qZLzyjXm9aJocnn74t7nmnxfi8XjBBT3ezxfcJpI图片转向有什么用?qZLzyjXm9aJocnn74t7nmnxfi8XjBBT3ezxfcJpI如果你的网站以图片为主,哪天发现月底没到流量就快用光了,那就可以利用图片转向,在不修改网页的前提下,把图片下载请求转向到其它空间(比如试用主机),临时过渡。qZLzyjXm9aJocnn74t7nmnxfi8XjBBT3ezxfcJpI下面开始讲解,比如你的图片都在img目录下,那就在该目录下放一个名为 .htaccess 的文件,内容如下:qZLzyjXm9aJocnn74t7nmnxfi8XjBBT3ezxfcJpIRewriteEngine onRewriteCond %{HTTP_REFERER} !^$ [NC]RewriteCond %{HTTP_R .... [阅读全文]
  • 来源:DayGood作者:
  • 2008-07-17PHP设置COOKIE保留时间为浏览器进程
  • 例如:O8KGuSlgZXfrvoJHGAqCVIt6FiOhzji89eXxoJbB 以下为引用的内容:<?php$USERID="PHPer";$CookieTime=0;setcookie("USERID", "$USERID", time()+$CookieTime,"/","pcpchina.com");?> O8KGuSlgZXfrvoJHGAqCVIt6FiOhzji89eXxoJbB你会发现这个语句执行过后,Cookie里什么也没有,到下一个页面就显示没有$USERID这个COOKIE变量值。问题分析如下:O8KGuSlgZXfrvoJHGAqCVIt6FiOhzji89eXxoJbB首先,设置浏览器进程的“Cookie 过期的时间”这个值并不是当前Unix时间戳+0,如果设置为浏览器进程的话,直接将过期时间设置为0即可。其次,不清楚你测试这个页面时候使用的域名是什么, .... [阅读全文]
  • 来源:Daygood作者:
  • 2008-07-14PHP程序的常见漏洞攻击分析
  • 综述:PHP程序也不是固若金汤,随着PHP的广泛运用,一些黑客们也在无时不想找PHP的麻烦,通过PHP程序漏洞进行攻击就是其中一种。在节,我们将从全局变量,远程文件,文件上载,库文件,Session文件,数据类型和容易出错的函数这几个方面分析了PHP的安全性。 tKfOSv0XAsqglQaEcWUQoqa2uVH8OobL98Vj5RRD如何通过全局变量进行攻击? tKfOSv0XAsqglQaEcWUQoqa2uVH8OobL98Vj5RRDPHP中的变量不需要事先声明,它们会在第一次使用时自动创建,它们的类型根据上下文环境自动确定。从程序员的角度来看,这无疑是一种极其方便的处理方法。一旦一个变量被创建了,就可以在程序中的任何地方使用。这个特点导致的结果就是程序员很少初始化变量。 tKfOSv0XAsqglQaEcWUQoqa2uVH8OobL98Vj5RRD很显然,基于PHP的应用程序的主函数一般都是接受用户的输入(主要是表单变量,上载文件和Cookie等),然后对输入数据进行处理,然后把结果返回到客户端浏览器。为了使PHP代码访问用户的输入尽可能容易,实际上PHP是把这些输入数 .... [阅读全文]
  • 来源:互联网作者:
  • 2008-07-14PHP5+UTF8多文件上传类
  • 根据需要写了个PHP5+UTF8环境的文件上传类,支持多文件上传,并对常用文件的类型进行MIME检测.1Hv8MtDDc3fw0vbV90pTiCo5MPcMfj0dJVstHy4B还有些功能没有加上去,如自动更名,图片处理等.可根据需要自己添加.1Hv8MtDDc3fw0vbV90pTiCo5MPcMfj0dJVstHy4BUSE:1Hv8MtDDc3fw0vbV90pTiCo5MPcMfj0dJVstHy4B $up = new upfile(ROOT_PATH.'data/'.date("Ym",time()),array('gif','jpg','jpeg'),true);$fileimg = $up->upload($_FILES['img']);//返回上传后文件名数组,$_FILES['img']为上传的文件 1Hv8MtDDc3fw0vbV90pTiCo5MPcMfj0dJVstHy4B可使用$up->log查看上传时信息.1Hv8MtDDc3fw0vbV90pTiCo5 .... [阅读全文]
  • 来源:互联网作者:
  • 2008-07-10PHP5 OOP编程中的代理与异常
  • 异常处理是PHP 5中的另外一个新特征,当与OOP联用时,它能够实现良好地控制错误处理和报告。mPvK5I8z3Jx6t74ic1uYsaDucRB8nOWRYBGZF22x一、 DBQuery对象现在,我们的DBQuery对象简单地模仿一个存储过程—一旦被执行,即返回一个必须进行保存的结果资源;并且如果你想使用该结果集上的函数(例如num_rows()或fetch_row())的话,你必须传递MySqlDB对象。那么,如果由DBQuery对象来实现MySqlDB对象(其设计目的是对一个执行查询的结果进行操作)实现的函数,效果如何呢?让我们继续使用上一篇示例中的代码;并且让我们假定,现在由DBQuery对象管理我们的结果资源。DBQuery类的源码如列表1所示。mPvK5I8z3Jx6t74ic1uYsaDucRB8nOWRYBGZF22x列表1.使用DBQuery类。mPvK5I8z3Jx6t74ic1uYsaDucRB8nOWRYBGZF22x require 'mysql_db.php'; require_once 'qu .... [阅读全文]
  • 来源:互联网作者:
  • 2008-07-10详细介绍php5编程中的异常处理
  • 1 首先是try,catch <?php $path = "D:\\\\in.txt"; try //检测异常 { file_open($path); } catch(Exception $e) //捕获异常 { echo $e->getMessage(); } function file_open($path) { if(!file_exists($path)) //如果文件无法找到,抛出异常对象 { throw new Exception("文件无法找到", 1); } if(!fopen($path, "r")) //如果文件无法打开,抛出异常对象 { throw new Exception("文件无法打开", 2); } } ?> 注意用$e->getMessage()输出异常信息. 9LOHb8uC1W25xBWZN5EJCQgfOyYTjuv9j36fHwmi2 输出异常完整信息 <?php $path = "D:\\\\in.txt" .... [阅读全文]
  • 来源:互联网作者:
  • 2008-07-09Zend Framework 入门——页面布局
  • Zend Framework 的页面布局模块——Zend_Layout——既可以跟 MVC 一起使用,也可以单独使用。本文只讨论与 MVC 一起使用的情况。LgKcpcSpfCUxha1r9Z0PK8ZCO3atzaXzpzUc838D1. 布局脚本LgKcpcSpfCUxha1r9Z0PK8ZCO3atzaXzpzUc838D在 application/views 下创建一个 layouts 的文件夹。主布局脚本 layout.phtml 代码如下:LgKcpcSpfCUxha1r9Z0PK8ZCO3atzaXzpzUc838D <?php echo $this->doctype('XHTML1_STRICT') ?><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><?php ec .... [阅读全文]
  • 来源:互联网作者:
  • 2008-07-09Zend Framework 入门——错误处理
  • 使用 Zend Framework 的 MVC 结构,如果不做特殊的处理,所有的异常都会被前端控制器捕获,并累积起来。v1jI2IzpMVDtUjsbaggsgpq3QOkQonCduLC3HdiqZend Framework 提供了若干种方法来处理异常。这里介绍最简单的一种。v1jI2IzpMVDtUjsbaggsgpq3QOkQonCduLC3Hdiq在第一部分《快速上手》中,我们已经有了一个很简单的错误处理机制,即通过 applicatoin/controllers/ErrorController.php 以及其中定义的 errorAction 方法来处理异常。不过,只是给出了一个很简陋的报错信息。现在,我们把它再完善一下,达到两个基本要求:v1jI2IzpMVDtUjsbaggsgpq3QOkQonCduLC3Hdiq 用户请求了不存在的控制器或动作(404 错误),在用户的浏览器中给出报错信息; 其他的系统错误,则在日志文件中记录下来。 1. 创建日志v1jI2IzpMVDtUjsbaggsgpq3QOkQonCduLC3Hdiq创建一个与 applicatio .... [阅读全文]
  • 来源:互联网作者:
  • 2008-07-09Zend Framework 入门——多国语言支持
  •  如果你的项目想要支持多语言版本,那么就需要用到 Zend_Translate。Zend_Translate 的详细文档在这里,不过如果想偷懒的话,也很简单,在 View Helpers 文档中介绍了如何用 Translate Helper 轻松实现多语言支持。mxKMIwE19PUhtPQJcvBplcQJNVIj7Iwcd24C34pZ1. 准备翻译文件mxKMIwE19PUhtPQJcvBplcQJNVIj7Iwcd24C34pZZend_Translate 支持多种格式的翻译文件。选用何种格式可以参考这里。如果条目不是很多(5000条以下),那么可以考虑用最直观的数组格式,而且可以写到一个 php 文件里。假设,我们需要一个中文版支持,翻译文件命名为 zh_cn.php,放在与 application 平行的 languages 文件夹里。该文件内容如下:mxKMIwE19PUhtPQJcvBplcQJNVIj7Iwcd24C34pZ <?phpreturn array('hello_world' => '你好 .... [阅读全文]
  • 来源:互联网作者:
  • 2008-07-09Zend Framework 入门——快速上手
  • 1. 安装fZYSQSQ2KmE0DA3PzXlsHsLpILOdMSJOZUEh3vm0从 Zend Framework 的网页上下载最新版本。解压后,把整个目录拷贝到一个理想的地方,比如:/php/library/Zend。fZYSQSQ2KmE0DA3PzXlsHsLpILOdMSJOZUEh3vm0打开 php.ini 文件,确认包含 Zend 目录的路径在 include_path 里定义了。以上面的配置为例,php.ini 中应有类似下面的条目:fZYSQSQ2KmE0DA3PzXlsHsLpILOdMSJOZUEh3vm0include_path = ".:/php/library"fZYSQSQ2KmE0DA3PzXlsHsLpILOdMSJOZUEh3vm0注意:Windows 下的写法略有不同,应该类似于 include_path = ".;C:\php\library"fZYSQSQ2KmE0DA3PzXlsHsLpILOdMSJOZUEh3vm0初始的安装就这么简单。Zend Framework 的一些组件会用到 php .... [阅读全文]
  • 来源:互联网作者:
  • 2008-07-02你或许尚未了解PHP的那10件事情
  • 1.使用 ip2long() 和 long2ip() 函数来把 IP 地址转化成整型存储到数据库里。这种方法把存储空间降到了接近四分之一(char(15) 的 15 个字节对整形的 4 个字节),计算一个特定的地址是不是在一个区段内页更简单了,而且加快了搜索和排序的速度(虽然有时仅仅是快了一点)。PS0wKCYFH9k7jCA2ovGXXdsi0rnzGi3KezygmB572.在验证 email 地址的时候使用 checkdnsrr() 函数验证域名是否存在。这个内置函数能够确认指定的域名能够解析成 IP 地址。该函数的PHP 文档的用户评论部分有一个简单的用户自定义函数,这个函数基于 checkdnsrr(),用来验证 email 地址的合法性。对于那些认为自己的 email 地址是 “joeuser@wwwphp.net” 而不是 “joeuser@php.net” 的家伙们,这个方法可以很方便的抓住他们。PS0wKCYFH9k7jCA2ovGXXdsi0rnzGi3KezygmB573.如果你使用的是 PHP 5 和 MySQL .... [阅读全文]
  • 来源:互联网作者:
  • 2008-07-02如何用PHP和mysql创建一个ShoutBox
  • 作为一个PHP开发人员,我有时被要求作个shoutbox 。 如果同样的事情也发生在你身上,这里有一个快速指南。显然,您要为它添加您自己的CSS在上面,但这里是基本思路。我们需要一个MySQL数据库表和三个PHP文件。 dCIGly0U4CwCQzxsBBU8opMbonxxg75gYv7OzD4e首先,我们需要一个文件保存数据库信息 dCIGly0U4CwCQzxsBBU8opMbonxxg75gYv7OzD4e--- 文件 #1: mysql.inc.php ---dCIGly0U4CwCQzxsBBU8opMbonxxg75gYv7OzD4e <?php # Simply Shouting - a shoutbox example # File name: mysql.inc.php # Description: A file to hold database info. $host    = 'localhost'; $user    = 'database_user .... [阅读全文]
  • 来源:互联网作者:
  • 2008-07-01评论:PHP程序不适用大型系统的九大原因
  • PHP确实十分容易编写。但是PHP也有一些十分严重的缺陷。下面我会给出我的理由,为什么PHP不适合于比小型业余网站更大的网站。 C8gJlOt3vy2TLdVS3gHKPoyypgE7YmNAXza5YaJ71、对递归的不良支持C8gJlOt3vy2TLdVS3gHKPoyypgE7YmNAXza5YaJ7递归是一种函数调用自身的机制。这是一种强大的特性可以把某些复杂的东西变得很简单。有一个使用递归的例子是快速排序(quicksort)。不幸的是,PHP并不擅长递归。Zeev,一个PHP开发人员,说道:“PHP 4.0(Zend)对密集数据使用了栈方式,而不是使用堆方式。也就是说它能容忍的递归函数的数量限制和其他语言比起来明显少。”见bug 1901。这是一个很不好的借口。每一个编程语言都应该提供良好的递归支持。C8gJlOt3vy2TLdVS3gHKPoyypgE7YmNAXza5YaJ72、许多PHP模块都不是线程安全的C8gJlOt3vy2TLdVS3gHKPoyypgE7YmNAXza5YaJ7在几年前,Apache发布了Web服务器的2.0版。这个版本 .... [阅读全文]
  • 来源:互联网作者:
  • 2008-07-01关于PHP在linux下面获取GOOGLE的PR值
  • 关于PHP在linux下面获取GOOGLE的PR值哪位大侠知道,用PHP查询指定网址的pagerank对环境有什么要求啊,我在windows系统下面任何一台机器能行,在linux下面有的服务器能行,有的不能行!下面是我获取GOOGLE PR值的源码(非原创,只有一点修改)Ghf78mKc1vnHgkwOTdvSIUTfHXsl4IFdeI1aVqfY define('GOOGLE_MAGIC', 0xE6359A60); class pageRank{var $pr; function zeroFill($a, $b){   $z = hexdec(80000000);  if ($z & $a){    $a = ($a>>1);    $a &= (~$z);    $a |= 0x40000000;    $a = ($a>>($b-1));   }else{ & .... [阅读全文]
  • 来源:互联网作者:
  • 2008-06-20UCenter HOME 数据调用小技巧
  • UCenter HOME发布以来收到广大站长和SNS爱好者的欢迎,在发布不到2个月的时间内已经有超过15000家网站采用了UCenter HOME。但是,很多用户在使用UCenter HOME 数据调用,把自己想要的内容按自己的要求显示出来方面存在问题,不太会写数据调用SQL语句,所以下面为大家简单列出几个平时常用到的数据调用SQL语句。1、        调用含有图片的日志代码:SELECT * FROM `uchome_blog` WHERE `picflag` =1;2、        调用最近更新的10条日志代码:SELECT * FROM uchome_blog FORCE INDEX(dateline) ORDER BY dateline DESC LIMIT 0,10;3、        调用最近更新的10个相册代码:SELECT * FROM uchome_album FORCE INDEX( .... [阅读全文]
  • 来源:中国站长站作者:
  • 2008-06-19PHP面向对象编程快速入门
  • 面向对象编程(OOP)是我们编程的一项基本技能,PHP4对OOP提供了良好的支持。如何使用OOP的思想来进行PHP的高级编程,对于提高PHP编程能力和规划好Web开发构架都是非常有意义的。下面我们就通过实例来说明使用PHP的OOP进行编程的实际意义和应用方法。   我们通常在做一个有数据库后台的网站的时候,都会考虑到程序需要适用于不同的应用环境。和其他编程语言有所不同的是,在PHP中,操作数据库的是一系列的具体功能函数(如果你不使用ODBC接口的话)。这样做虽然效率很高,但是封装却不够。如果有一个统一的数据库接口,那么我们就可以不对程序做任何修改而适用于多种数据库,从而使程序的移植性和跨平台能力都大大提高。 在PHP中要完成OOP,需要进行对象封装,也就是编写类。我们可以通过生成一个新的SQL类实现对数据库的简单封装。例如: < ? class SQL { var $Driver; //实际操作的数据库驱动子类 var $connection; //共用的数据库连接变量 function DriverRegister($d) { i .... [阅读全文]
  • 来源:中国站长站作者:
  • 2008-06-19创建XML Http Request对象两个的方法
  • 方法一:推荐 // 创建一个布尔型变量 var xmlhttp = false; // 检查使用的是否为IE浏览器 try{     // 如果JS的版本大于5     xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");     alert("You are using Microsoft Internet Explorer."); }catch(e){     // 如果不是,则使用老版本的ActiveX对象     try{    &nbs .... [阅读全文]
  • 来源:互联网作者:
  • 2008-06-17通过PHP+MYSQL实现 网站在线人数统计
  • 网站在线人数的程序代码,后台有MySQL(和PHP搭配之最佳组合)数据库支持。可以直接统计出网站当前的在线人数。首先是创建MySQL(和PHP搭配之最佳组合)数据库表。 CREATE TABLE tablename ( field type(max_length) DEFAULT 'default_value' (NOT) NULL } 可以使用的SQL语句。 CREATE TABLE useronline ( timestamp int(15) DEFAULT '0' NOT NULL, ip varchar(40) NOT NULL, file varchar(100) NOT NULL, Prima(最完善的虚拟主机管理系统)RY KEY (timestamp), KEY ip (ip), KEY file (file) );       下面我 .... [阅读全文]
  • 来源:作者:
  • 2008-06-14《PHP设计模式介绍》关于本书说明
  • 中国站长站关于《PHP设计模式介绍》的说明《PHP设计模式介绍》一书的英文原名是“ Guide.to.PHP.Design.Patterns ”,此书由Marco Tabini & Associates, Inc.出版,原作者是Jason E. Sweat。此书的英文版版权由Jason E. Sweat和Marco Tabini & Associates, Inc.公司拥有。本书部分章节是由PHPCHINA翻译和校验并负责整个项目的管理和推进。中国站长站取得PHPCHINA授权刊发并制作专题供广大站长阅读学习。责任编辑谷汶锴,由于水平有限,有所疏漏在所难免,希望大家指正。关于本书的翻译工作 关于本书的翻译成果属于参与本次项目的所有PHPer共同所有,PHPchina.cn负责为大家维护大家的版权。PHPchina和各位参与项目的PHPer共同拥有此书的中文版权。第一章      飞凤(feifengxlq)第二章       f .... [阅读全文]
  • 来源:中国站长站作者:
  • 2008-06-14《PHP设计模式介绍》第十八章 结论
  • 我们已经一起进行到这次讨论旅程的最后一个部分了。希望我们一起完成了对你有用的东西,包括了通过PHP的一些例子来介绍设计模式的概念和更有用的成果,比如测试驱动开发这样的更好的开发技术。设计模式是你的便成工具包里面一个很有用的工具,用来处理一个复杂的设计问题。设计模式提供固定的,证明是正确的技术来帮助你使你的设计更灵活。使用设计模式还让你可以轻松地与其他的工程师进行轻松地沟通,因为设计模式的名字现在已经代表一个只是整体的一部分。同样,使用OOP或者设计模式也会出现意外的情况。这个在一些特殊的简单的应用里显得很重要。如果手里的应用并不需要设计模式具备的灵活性和复杂性,请不要使用它。设计模式是用来解决特殊问题的,而不是用来制造麻烦的。测试你的代码的作用是非常强大的。这个在我们整本书里面都可以看到,每一个章节都重点强调了设计模式的测试,并且设计模式的代码自身都在进行测试。我还没有遇到过比测试方法更好的方法,尤其是在设计,稳定性和可持续性上面。这本书里面的代码的形成过程是,最开始我先写unit test cases 和代码本身,然后它们都通过测试的时候,我才把它们加到书里面去。我建议你们重新分析下 .... [阅读全文]
  • 来源:PHPchina作者:
共有338条记录,17页,当前第 31 2 3 4 5 6 7 8 9 10 >>
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助