-
PHP里zlib扩展实现GZIP压缩输出各种方法总结
所属栏目:[PHP教程] 日期:2022-02-13 热度:96
一般情况下我们出现大量数据传输理希望减少服务器的带宽压力,会采取一种方式来压缩文件传输,php中用zlib也可以实现gzip压缩输出,下面我们来看GZIP压缩输出各种方法总结. GZIP(GNU-ZIP)是一种压缩技术,经过GZIP压缩后页面大小可以变为原来的30%甚至更小,[详细]
-
php mysql一个查询优化的简单示例
所属栏目:[PHP教程] 日期:2022-02-13 热度:125
PHP+Mysql是一个最经常使用的黄金搭档,它们俩配合使用,能够发挥出最佳性能,当然,如果配合Apache使用,就更加Perfect了. 因此,需要做好对mysql的查询优化,下面通过一个简单的例子,展现不同的SQL语句对于查询速度的影响. 存在这样的一张表test,它有一个自增[详细]
-
PHP版表格展现无限级分类
所属栏目:[PHP教程] 日期:2022-02-13 热度:155
TreeTable是一个能把无限分类展现为表格形式的PHP类库插件,分类的层级表示为表格的列,分类的行数表格分类的总数,单元格显示分类名称. TreeTable通过对单元格的行合并和列合并实现了无限层级也能较好的展示层级架构. 1.构建ID/PID/NAME的数组,后期可通过数[详细]
-
PHP根据IP地址判断城市完成城市切换或跳转代码
所属栏目:[PHP教程] 日期:2022-02-13 热度:111
先要获取ip地址相当简单,下面先介绍两种获取IP地址的代码,后面需要利用QQIP库来查找当前IP是属于那个IP段然后得出城市字段并返回. 获取IP地址,代码如下: ?php function GetIP() { if ($_SERVER[HTTP_X_FORWARDED_FOR]) $ip = $_SERVER[HTTP_X_FORWARDED_FO[详细]
-
php中异常处理方法汇总
所属栏目:[PHP教程] 日期:2022-02-13 热度:96
当异常被触发时,通常会发生:在PHP5中添加了类似于其它语言的错误异常处理模块。在 PHP代码中所产生的异常可被 throw语句抛出并被 catch 语句捕获。需要进行异常处理的代码都必须放入 try 代码块内,以便捕获可能存在的异常。每一个 try 至少要有一个与之对[详细]
-
php页面缓存实现办法总结
所属栏目:[PHP教程] 日期:2022-02-13 热度:153
在php页面缓存主要用到的是ob系列函数,如ob_start(),ob_end_flush(),ob_get_contents(),但是更高级的缓存是不使用这些函数的,本文章最后一个实现就有讲到,大家可参考一下. ob_start():页面缓存开始的标志,此函数一下的内容直至ob_end_flush()或者ob_end_c[详细]
-
php与浏览器缓存机制说明
所属栏目:[PHP教程] 日期:2022-02-13 热度:83
浏览器的缓存策略,会暂时将浏览过的文件缓存在本地磁盘,当用户重复请求页面时,告知客户端页面并没有发生改变,可以调用缓存,那么如何知道客户端是否有页面缓存呢?从 HTTP 协议层面来说,浏览器发送请求时会先发送如下: HTTP 头: Connection Keep-Alive Dat[详细]
-
php模仿百度spider蜘蛛爬虫程序示例
所属栏目:[PHP教程] 日期:2022-02-12 热度:83
下面来看一个php模仿百度spider蜘蛛爬虫程序例子,这个代码写得比较高级了我就不分析了,大家有需要的可以进入参考一下吧. 自己用PHP写了个爬虫,基本功能已经实现,有兴趣的可以试试 脚本缺点:1.未对静态页面进行去重处理,2.未对页面内js操作后的结果进行处理[详细]
-
PHP加密解密内部方法
所属栏目:[PHP教程] 日期:2022-02-12 热度:134
?php function passport_encrypt($txt, $key) { srand((double)microtime() * 1000000); $encrypt_key = md5(rand(0, 32000)); $ctr = 0; $tmp = ; for($i = 0;$i strlen($txt); $i++) { $ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr; $tmp .= $encryp[详细]
-
php防止网站被攻击方法
所属栏目:[PHP教程] 日期:2022-02-12 热度:115
最近网站经常被攻击,后来想到了一个利用php来防止网站受攻击的办法,下面是我的代码,代码不是最好的,根据自己的需求来做,下面来看看我的代码. /* *网站防ip攻击代码(anti-ip attack code website)2010-11-20,ver2.0 *mydalle.com anti-refresh mechanism *d[详细]
-
php 最简单sql防注入函数和方法
所属栏目:[PHP教程] 日期:2022-02-12 热度:163
mysql_real_escape_string 转义 SQL 语句中使用的字符串中的特殊字符,并考虑到连接的当前字符集. 但是注意:该函数并不转义 % 和 _,另外,最好不要对整条sql语句使用该函数,而是只转义传入sql语句的字符串参数,否则会发生意想不到的结果. ?php $item = Zaks[详细]
-
PHP里的 Mcrypt 可逆加密算法
所属栏目:[PHP教程] 日期:2022-02-12 热度:67
?php $td = mcrypt_module_open(MCRYPT_DES,,ecb,); //使用MCRYPT_DES算法,ecb模式 $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND); $ks = mcrypt_enc_get_key_size($td); //开源代码Cuoxin.com $key = ery secret key;//密钥 $key =[详细]
-
php基于eval的N层加密gzinflate str_rot13 base64破解办法
所属栏目:[PHP教程] 日期:2022-02-12 热度:84
PHP使用eval(gzinflate(str_rot13(base64_decode(BASE64加密后内容))))核心代码的解密下非扩展方式的php加密方法: 这里有个在线的,还不错,木马防杀还行,要保护代码可就不行了,对应的写了一个简单的解密的,专门针对eval,这个原理很有用途. 特别说明:此解密[详细]
-
PHP-5.3.9远程执行任何代码漏洞
所属栏目:[PHP教程] 日期:2022-02-12 热度:123
还记得我之前说的PHP Hash Collisions Ddos漏洞吧? 最初的时候,开发组给出的修复方案,采用的是如果超过max_input_vars,就报错(E_ERROR),继而导致PHP出错结束,而后来,为了更加轻量级的解决这个问题,我们又改善了一下,变成了如果超过max_input_vars,就发出警[详细]
-
PHP5.2.X防止Hash冲突拒绝服务攻击的Patch办法
所属栏目:[PHP教程] 日期:2022-02-12 热度:178
上周的时候Dmitry突然在5.4发布在即的时候,引入了一个新的配置项: Added max_input_vars directive to prevent attacks based on hash collision这个预防的攻击,就是通过调用Hash冲突实现各种语言的拒绝服务攻击漏洞(multiple implementations denial-of-s[详细]
-
php完成禁止IP段访问网站的代码
所属栏目:[PHP教程] 日期:2022-02-12 热度:78
有个前提条件是我们的页面必须是php类型的页面,如果你生成了html静态页面这种方法就不可行了,下面我们来看看php实现禁止IP段访问网站的代码,代码如下: ?php //加IP访问限制 if(getenv(HTTP_CLIENT_IP) strcasecmp(getenv(HTTP_CLIENT_IP), unknown)) { $us[详细]
-
运用php.ini禁用一些危险php函数
所属栏目:[PHP教程] 日期:2022-02-12 热度:124
在很多时间我们php中的很多函数是没有用上的,而且对网站有存在很大的安全问题,下面我们利用PHP.ini 里有个 disable_functions 开关选项来关闭一些不需要使用的函数. 如果禁止了会出现如下提示: Warning: phpinfo() has been disabled for security reasons[详细]
-
定时执行php文件示例 php计划任务
所属栏目:[PHP教程] 日期:2022-02-12 热度:134
本文章给各位整理了三种php计划任务的例子,分别是利用了windows,linux及php的ignore_user_abort的函数来执行,下面我给大家分别举几个例子,有兴趣的朋友可进入参考. WINDOWS中设置计划任务执行PHP文件 1、写一个PHP程序,命名为test.php,内容如下所示,代码如[详细]
-
php中用缓存和不用缓存性能测试
所属栏目:[PHP教程] 日期:2022-02-12 热度:142
在未看到这篇文章之前我们一般不会对于缓存这么看重,经过测试之后我们发现使用文件缓存比直接使用数据库要快几倍,下面测试是6倍之多,下面一起来看看吧. 在Thinkphp项目中测试各种环境下的程序执行时间,不使用缓存,代码如下: ?php header(content-type:text[详细]
-
PHPEXCEL导入excel表格产生数组
所属栏目:[PHP教程] 日期:2022-02-12 热度:165
本方法使用PHPEXCEL插件读取excel文件转化为数组了,后期还有没有完成的我们可以把转换成数组之后再保存到mysql数据库这个就非常的方便了,代码如下: ?php /** * @desc PHPEXCEL导入 * return array(); */ function importExcel($file) { require_once PHPEx[详细]
-
php完成新浪短链接调用API代码
所属栏目:[PHP教程] 日期:2022-02-12 热度:79
前面写过了一篇文章是图片反盗链的,我自己弄得单独的页面就采用了sina的短连接,对于短连接来说还是方便的,地址太长占地方,下面分享源码,有注释,非原创,代码如下: ?php //Sina App_Key define(SINA_APPKEY, 31641035); function curlQuery($url) { //设置附[详细]
-
php完成购物车程序代码
所属栏目:[PHP教程] 日期:2022-02-12 热度:59
购物车是现在电商开发者必须要做的一个功能了,下面我来给大家整理两个可用于电商网站的简单购物车程序代码,有兴趣的同学不防进入参考一下. 例子1:最近在写一个电子商务的网站,在做购物车的时候才发现php里面没有map这种数据结构,我们不能简单的通过一个has[详细]
-
php ZipArchive打包压缩zip文件示例
所属栏目:[PHP教程] 日期:2022-02-12 热度:125
ZipArchive类是一个文件压缩解压类是一个php自来的zip类,我们可以直接简单创建一个类然后就能实现打包了,下面小编给各位介绍一下吧,有需要了解的朋友可进入参考. 这里我采用的是php自带的ZipArchive类 a) 我们只需要new一个ZipArchive对象,然后使用open方[详细]
-
php 阻止单引号,双引号在接受页面转义
所属栏目:[PHP教程] 日期:2022-02-12 热度:195
页面转义单引号,双引号对于我们网站安全有很大的问题,我们经常会使用addslashes()和stripslashes()进行转义之后存入数据库了,这样可以防止sql注入了,下面来看看. PHP页面中如果不希望出现以下情况: 单引号被转义为 \,双引号被转义为 \ 那么可以进行如下[详细]
-
PHP伪造页面referer来源地址几种办法
所属栏目:[PHP教程] 日期:2022-02-12 热度:183
referer是php用来判断页面上级来源页面的一个超级变局变量了,我们可以使用referer来判断是从那个页面进入到此页面了,这样我们可以进行更好的跟踪了,下面我就来给各位朋友整理了几种伪造页面referer来源例子,希望例子能给各位朋友. file_get_contents方法,[详细]