当前位置:  编程技术>php
本页文章导读:
    ▪php通用防注入程序 推荐       代码如下: function jk1986_checksql() { $bad_str = "and|select|update|'|delete|insert|*"; $bad_Array = explode("|",$bad_str); /** 过滤Get参数 **/ foreach ($bad_Array as $bad_a) { foreach ($_GET as $g) { if (substr_count(strtolower($g),$bad_a).........
    ▪8个出色的WordPress SEO插件收集       wordpress是当前网终上最的行的内容发布工具之一。它拥有成千上万的免费主题和插件,帮助新手方便快捷地将内容发布到网络上。但是很多时候仅仅将内容发存到网终上是不够的,吸引用户.........
    ▪zend framework多模块多布局配置       许多人在使用过程中都会遇到这样那样的问题,而且zend framework现在已经到1.11版本了,网络上的很多资料都还停留在旧版本上,因此我在这里以当前的最新版本1.11为例,来简单介绍一下如.........

[1]php通用防注入程序 推荐
    来源: 互联网  发布时间: 2013-11-30
代码如下:

function jk1986_checksql()
{
$bad_str = "and|select|update|'|delete|insert|*";
$bad_Array = explode("|",$bad_str);
/** 过滤Get参数 **/
foreach ($bad_Array as $bad_a)
{
foreach ($_GET as $g)
{
if (substr_count(strtolower($g),$bad_a) > 0)
{
echo "<script>alert('诡异字符,请不要尝试注入本站! 作者:Jk1986 QQ:414028660');location.href='/blog_article/index.html';</script>";
exit();
}
}
}

/** 过滤Post参数 **/

foreach ($bad_Array as $bad_a)
{
foreach ($_POST as $p)
{
if (substr_count(strtolower($p),$bad_a) > 0)
{
echo "<script>alert('诡异字符,请不要尝试注入本站! 作者:Jk1986 QQ:414028660');location.href='/blog_article/index.html';</script>";
exit();
}
}
}

/** 过滤Cookies参数 **/

foreach ($bad_Array as $bad_a)
{
foreach ($_COOKIE as $co)
{
if (substr_count(strtolower($co),$bad_a) > 0)
{
echo "<script>alert('诡异字符,请不要尝试注入本站! 作者:Jk1986 QQ:414028660');location.href='/blog_article/index.html';</script>";
exit();
}
}
}
}

呵呵 类似asp和asp.net 思路一样,目的就是让懒来提高效率 .88

    
[2]8个出色的WordPress SEO插件收集
    来源: 互联网  发布时间: 2013-11-30

wordpress是当前网终上最的行的内容发布工具之一。它拥有成千上万的免费主题和插件,帮助新手方便快捷地将内容发布到网络上。但是很多时候仅仅将内容发存到网终上是不够的,吸引用户来你的网站是一门科学也是一门艺术,当然wordpress也有许多插件帮我们改善这一点。以下是几个一流的SEO插件列表,它们可以帮助我们提高WordPress站点在搜索引擎中的排名。

1. SEO Rank Reporter


它可以跟踪站点内特定的关键词,并每3天生成一个很美观的图形化的报表。当某个关键词在搜索引擎排名有大的变化时,插件还可以通过邮件的方式通知站长。

2. All in One SEO Pack


稍微研究一下wordpress的SEO插件,你就会选择这款插件。这是一个最流行的wordpress站点搜索引擎优化的解决方案。这款插件通过生成meta标签并帮助你优化网页标题来针对搜索引擎自动优化你的wordpress站点。高级用户还可以为每篇文章自定义文
章标题,描述,URL结构以及标签。

3. SEO Ultimate


如其名字一样,这是一款终级SEO工具。它有一个叫做“Canonicalizer”的特性,继承了wordpress原生的canonical特性,确保在网页具有相同内容但URL不同的情况下网页爬虫能指向最主要的那一个。它内置了robot.txt编辑器,使得设置这个搜索引擎索引文件更加容易。它与All in One SEO Pack很好地兼容,使得你可以导入All in One SEO Pack的元数据而切换到SEO Ultimate。

4. SEO Content Control


这个特别的插件帮你识别你网站中的弱内容。比如,很多wordpress站长忘记包含类别的描述(这是一个潜在的增加搜索引擎排名的点),SEO Content Control帮你轻松地找出这些潜在的问题。

5. SEO Friendly Image


人们常常忽略对图片作搜索引擎优化。但是如果做得好的话,你可以增加图片的语义性,可访问性,以及搜索引擎的可索引性,尤其是对图片搜索引擎。这个插件可以自动更新你的图片的alt和title属性。

6. SEO Smart Links


这个插件自动基于前一页和前一篇文章为你blog里的文章中的关键词和短语加上链接。它可以设置你的独特的关键词并套用匹配的URL。它还可以设置nofollow属性,以及在新窗口或标签页中打开链接。这是一个非常方便的节约时间的方法,可以学习一些SEO的最佳实践并把站内的文章联结起来。

7. Google XML Sitemaps


这个插件可以生成XML的sitemap,这个sitemap可以帮助搜索引擎爬虫抓取和索引你的wordpress站点。XML Sitemaps向搜索引擎直接地表明了你站点内容的结构。该插件也支持Bing,Yahoo!,Ask.com和MSN,并在你每发表一篇文章时通知它们。

8. Platinum SEO Pack


这款SEO插件具有许多功能特性,包括自动生成meta标签,优化页面和文章标题,帮助避免重复内容等。

结论

这些wordpress插件将给你的wordpress站点一个全面的SEO检查。安装它们并且理解每个插件的内部工作原理可能需要一些时间,但是了解每个插件是如何给你的站点带来好处是值得的。使用得当的话,你的内容将更明显,潜在的吸引更多目标用户带来的额外流量。


    
[3]zend framework多模块多布局配置
    来源: 互联网  发布时间: 2013-11-30
许多人在使用过程中都会遇到这样那样的问题,而且zend framework现在已经到1.11版本了,网络上的很多资料都还停留在旧版本上,因此我在这里以当前的最新版本1.11为例,来简单介绍一下如何使用zend framework创建模块化的应用程序。由于今后框架的版本升级,有些内容可能会过时,请及时参阅最新的使用手册。 1、准备工作

首先假设你已经部署了web服务器和php,并下载了zend framework的最新版本,创建了一个最原始的zend framework项目,并可以访问默认的action了。你可以使用zend framework工具来创建项目,具体操作参见使用zend framework创建项目。当然也可以自己手动建立文件夹和文件,参见zend framework推荐的项目目录结构。

简单地看一下默认的几个重要目录。
首先是public,它不但存放了程序的入口点index.php,还可以存放图片,css,javascript文件等。
其次是library,用于存放一些类库,包括你自己定义的或第三方的类库。
然后是test,用于存放单元测试等测试文件的。
最后,也是和我们这里要讲的关系最大的目录——application。进到application目录下,会有以下目录:
configs:存放配置文件,一般会有一个主配置文件application.ini;
controllers:操制器,如默认的IndexController.php;
models:存放业务逻辑,数据模型等文件;
views:视图层的脚本,一般以.phtml为后缀名;
modules:模块目录,使用工具默认选项自动生成的是没有这个目录的,需要手动添加。modules底下可以包含多个以模块名命名的文件夹,如admin,默认是default,一个文件夹代表一个模块,其下的目录结构与application目录类似,又可以包含controllers,models,views等目录。需要注意的是模块下的controllers下面的文件的类名请加上模块名前缀,如application/modules/admin/controllers/IndexController.php的类名为Admin_IndexController。

如果你需要在项目中方便的使用你自己写的一些类库(如名称空间是Rockux),或是第三方的类库,可以修改application.ini文件,添加以下行:

代码如下:

autoloaderNamespaces.rockux = "Rockux_"
autoloaderNamespaces.thirdParty = "ThirdPartyLibrary_"

当然你也可以根据需要多添加几个,不过请注意最后面的下划线。

2、建立模块
现在我们来创建一个admin模块,目录如下:
application/modules/admin/controllers
application/modules/admin/models
application/modules/admin/views
application/modules/admin/views/scripts
application/modules/admin/views/helpers
application/modules/admin/views/filters
并创建以下文件:
application/modules/admin/controllers/IndexController.php(类名为Admin_IndexController)
application/modules/admin/views/scripts/index/index.phtml

除了新建模块文件之外,还需要更改配置文件application.ini,删除以下行,如果有的话:
代码如下:

resources.frontController.controllerDirectory = APPLICATION_PATH"/controllers"

再加上如下行:
代码如下:

resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
resources.frontController.moduleControllerDirectoryName = "controllers"
resources.frontController.defaultModule = "default"
resources.modules[]

这样,再访问http://localhost/admin,应该就能看到admin模块输出的内容了。
如果我们要充分发挥模块的强大功能,我们还需要为模块添加一个启动文件——Bootstrap.php。它可以使得你在事个模块中方便的使用类资源,models, filters, helpers等。在admin下新建Bootstrap.php,代码如下:
代码如下:

class Admin_Bootstrap extends Zend_Application_Module_Bootstrap
{
}

并且在application/Bootstrap.php文件里加入以下方法:
代码如下:

protected function _initAppAutoload()
{
$autoloader = new Zend_Application_Module_Autoloader(array(
'namespace' => 'App',
'basePath' => dirname(__FILE__),
));
return $autoloader;
}

代码如下:

resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts"
resources.layout.layout = "layout"
admin.resources.layout.layout = "admin"

第二种,不同模块的布局脚本文件分别存放在各自的模块文件夹下
可以在application下新建如下目录和文件:
application/layouts/scripts/layout.phtml
application/modules/admin/layouts/scripts/layout.phtml

在配置文件application.ini中添加如下几行:
代码如下:

resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts"
resources.layout.layout = "layout"
admin.resources.layout.layoutPath = APPLICATION_PATH "/modules/admin/layouts/scripts"

不论是第一种还是第二种,这时如果访问http://localhost/admin,你会发现系统并没有使用期望的admin.phtml作为布局文件,而是使用了默认的layout.phtml。这是因为admin那行配置并不是系统默认能处理的有效配置,所以我们要自己来处理它。

我们新建文件:library/Rockux/Controller/Action/Helper/LayoutLoader.php,

针对第一种情况代码如下:
代码如下:

class Rockux_Controller_Action_Helper_LayoutLoader extends Zend_Controller_Action_Helper_Abstract
{

public function preDispatch()
{
$bootstrap = $this->getActionController()
->getInvokeArg('bootstrap');
$config = $bootstrap->getOptions();
$module = $this->getRequest()->getModuleName();
if (isset($config[$module]['resources']['layout']['layout'])) {
$layoutScript = $config[$module]['resources']['layout']['layout'];
$this->getActionController()
->getHelper('layout')
->setLayout($layoutScript);
}
}

}

针对第二种情况代码如下:
代码如下:

class Rockux_Controller_Action_Helper_LayoutLoader extends Zend_Controller_Action_Helper_Abstract
{

public function preDispatch()
{
$bootstrap = $this->getActionController()
->getInvokeArg('bootstrap');
$config = $bootstrap->getOptions();
$module = $this->getRequest()->getModuleName();
if (isset($config[$module]['resources']['layout']['layoutPath'])) {
$layoutPath =
$config[$module]['resources']['layout']['layoutPath'];
$this->getActionController()
->getHelper('layout')
->setLayoutPath($layoutPath);
}
}
}

接下来我们还需要将它添加到application/Bootstrap.php里去
代码如下:

protected function _initLayoutHelper()
{
$this->bootstrap('frontController');
$layout = Zend_Controller_Action_HelperBroker::addHelper(
new Rockux_Controller_Action_Helper_LayoutLoader());
}

再次访问http://localhost/admin,应当就可以看到使用指定的布局文件了。
如果要针对某个特定的controller使用特定的layout,可以在controller的init()方法里添加如下代码:
代码如下:

$layout = Zend_Layout::getMvcInstance();
$layout->setLayout('layout_special');

    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3