正在查看: 标记有标签 php 的文章(第 2 页 / 共 13 篇)

使用PHP编程获取Page Rank (PR)值

衡量一个网站和某个网页权重的两个非常重要的指标,分别是:Google Page Rank (简称PR值)和Alexa排名。虽然它们不是衡量一个网站好坏的绝对标准,但可以从一定程度上说明网站的受欢迎程度,访问流量等基本信息。

与Alexa提供第三方开发者API接口不同,Google本身并不提供API接口让程序员编写查询程序,所以要直截了当的从官方获取一个网站的PR值,唯一的方法可能就是Google工具条了。

现在问题来了,像我们经常查PR值的ChinaZ,123Cha这样的第三方网站的PR信息是从哪获取的?莫非他们与Google有“一腿”,Google单独为他们提供了接口?

事实上没那么神秘。正所谓“魔高一尺,道高一丈”,既然Google Toolbar提供PR值的显示,那么就从工具条上入手吧。事实上,很多先行者很早之前就已经为我们找到了关于这个问题的解决方案。

这个Page Rank Code网站提供的代码就是非常典型的通过破解Google工具栏获取PR值的一例。这个网站上已经提供了很详细的PHP执行PR值查询的函数以及具体使用办法,我这里就不贴了。

具体源代码和演示代码请点击这里查看。

需要特别注意的是:作者在下载页面中特别指出,某些服务器IP(比如我现在博客所在的服务器)如果被Google封掉的话,是查不到正确的PR值的

讲到这里,上面那个问题就自然而然的解决了,第三方查询PR值的核心思想都是破解Google工具条,可能区别就在平台和语言不同罢了。

在PHP中进行3DES的加密和解密

PHP内置的mcrypt库支持多种块状加密算法,包括DES,3DES和Blowfish(默认算法)等。由于是块状加密(Block Ciper),mcrypt支持以下模式对输入字符串进行操作:CBC, OFB, CFB和ECB。

在这里,我写了一小段代码来测试PHP中的3DES加密和解密的实现过程。

以下示例所涉及到的参数如下:

  • 采用ECB模式
  • 192位Key (即24字节长度Key对超过Block Size的加密字符进行对应Mode操作)
  • ASCII Key 字节内容:ABCDEFGHIJKLMNOPQRSTUVWX
  • 需要加密字符串ASCII:www.cnSaturn.com

»阅读全文

隐藏CodeIgniter程序URL中index.php的方法

CodeIgniter(以下简称"CI")是一款国外优秀的PHP轻量级MVC框架,它支持PHP4和PHP5,是开发中小型可拓展性需求高的Web应用程序的利器。目前你所见到的这个博客程序,正是采用CI进行的编写。

秉承MVC架构的思想,CI中的所有控制器都需要经过单点入口文件index.php(默认)来加载调用。也就是说,在默认情况下,所有CI开发项目的URL都形如以下这种形式:

http://localhost/index.php/blog/logs/this_is_a_test_entry

很显然,默认情况下,index.php在URL地址段中的存在一定程度上影响了URL的简洁和SEO的进行。我们可以通过下面本文介绍的方法来去掉这个讨厌的Index.php。

你或许已经注意到在CodeIgniter用户手册中,已经存在关于此问题的解决方法。但官方提供的这个.htaccess配置,并不是所有时候都能解决问题。本文现在给出一个更完善的解决方案。

注意:在继续之前,请确认你的主机支持.htaccess配置。其中,如果Apache作为Web服务器,需要开启mod_rewrite模块的支持;如果将IIS作为Web服务器,则需要额外安装ISAPI_Rewrite拓展。

具体方法如下:

1. 将以下配置信息复制并保存为.htaccess文件。

RewriteEngine On

RewriteBase /  

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d  

RewriteRule ^(.*)$ /index.php?/$1 [L]      

#如果没有安装mod_rewrite模块,所有的404页面都将被 # 发送到index.php,此时,程序会像没有设置隐藏时一样运行  

ErrorDocument 404 /index.php

2. 将以上.htaccess文件上传到CI所在项目的根目录(即与index.php同级目录下)

3. 修改application/config.php中的如下参数:

$config['index_page'] = "index.php";

$config['index_page'] = ""; //设置为空

以上三步,缺一不可。如果一切配置正常,你会发现,再次运行程序的时候,程序已经自动隐藏index.php这个URL段了!