首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Yii使用技巧大汇总

$data的变量,代表当前的model数据 如果dataProvider的pagination,sort设为false,则CliveView对应的部分也无法使用 ?...每一行代表一个数据项,一列通常代表数据项的一个属性 CGridView支持排序和分页,可以用ajax或普通的方式 CgridView必序和data provider一起使用 最简单的用法 ?...array( 'dataProvider'=>$dataprovider, )); 这会用表格的方式显示每一条数据项,每一列是Post的一个属性 在显示带了分页和排序 我们可以自定义CgridView...(0);//禁止角本超时 如何想把手工的东西记录的数据库 main.php配置log ?...这个组件的,绑定方法重写behaviors() CActiveRecordBehavior的events() 方法返回事件及事处理函数的对应,: 复制代码 代码如下: 'onBeforeSave'

2.4K31

WordPress 自定义字段(Custom Fields)详细介绍和使用

何在博客上显示自定义字段的数据 当我们想显示日志或者页面的自定义字段的时候,我们有几种方法。这里介绍两种简单的方法和一些更高级的用法。...这个函数能够能按照自己的需求列出自定义字段。...通过使用 get_post_meta(post->ID, "Key2″, single = true); 可以返回自定义字段 "Key2" 的值,也可以输出它:echo get_post_meta(...对象缓存,统计每增加 10 次之后才写入数据,这样大大减少数据库的请求,加快 WordPress 的效率。...下面用到了一个新的自定义字段相关函数 update_post_meta(post_id, meta_key, meta_value, prev_value); ,就是可以通过程序来更新自定义字段。

2.9K20
您找到你想要的搜索结果了吗?
是的
没有找到

PHP工程师使用MD5值的秘密

因此,在这篇文章,我们将详细介绍md5值的基本知识以及如何在PHP使用它来加密数据。...一、md5值的概述 MD5(Message Digest Algorithm 5)是一种密码散列函数,用于将任意长度的信息压缩为固定长度的信息摘要(通常是128位)。它通常用作数据验证和加密。...因为MD5是散列函数,它是单向的,因此很难从摘要恢复原始数据。 MD5算法是被广泛接受和使用的一种算法,很多程序都使用此算法来保护其数据。...二、md5值的应用 MD5值被广泛应用于数据验证和加密方面。在PHP,我们可以使用md5函数来计算字符串的md5值。..."')"; $mysql->query($query); 在此示例,我们使用md5函数对用户所输入的密码进行加密,然后将加密后的密码存储在数据

23052

XSS 和 CSRF 攻击

PHP,可以使用$_GET和$_POST分别获取GET请求和POST请求的数据。在JAVA,用于获取请求数据request一样存在不能区分GET请求数据POST数据的问题。 ...2.验证码 另外一个解决这类问题的思路则是在用户提交的每一个表单中使用一个随机验证码,让用户在文本框填写图片上的随机字符串,并且在提交表单后对其进行检测。...这个方法曾经在之前被人们放弃,这是由于验证码图片的使用涉及了一个被称为MHTML的Bug,可能在某些版本的微软IE受影响。 而验证码的过度使用也会影响到用户体验。...> 在这个函数我们调用gen_token()函数,并且使用返回的令牌将其值复制到一个新的$_SESSION变量。 现在让我们来看启动完整机制为我们的表单生成隐藏输入域的函数: 2)在HTTP头中自定义属性并验证 自定义属性的方法也是使用token并进行验证,和前一种方法不同的是,这里并不是把token以参数的形式置于HTTP请求之中,而是把它放到HTTP头中自定义的属性里

1K10

在 Laravel 控制器中进行表单请求字段验证

在 Web 应用,用户提交的数据往往是不可预测的,因此一个非常常见的需求是对用户提交的表单请求进行验证,以确保用户输入的是我们所期望的数据格式。...接下来,我们就一起来看看如何在 Laravel 对表单请求进行验证。...首先我们调整下 routes/web.php 的表单提交路由,将其命名为 form.submit: Route::post('form', 'RequestController@form')->name...在表单页面显示错误信息 我们需要修改下 form.blade.php 的表单代码,在 Blade 模板可以通过 $errors 获取验证错误信息,通过 old() 辅助函数可以获取用户上次输入数据:...通过 Validator::make 方法进行验证 如果你使用过 Laravel 自带脚手架代码实现登录认证的话,你可能会留意到 RegisterController 对用户注册请求进行验证的时候,使用的是这样的验证代码

5.8K10

ModernPHP读书笔记(三)——PHP的良好实践

三、数据库 1、数据库的配置文件不宜放置在项目中,host、用户名、密码之类,如果放在项目中不慎被用户看到,可能造成严重后果。.../sql_setting.php’);//根目录之外的配置文件,配置用户名密码等值 //第一步,用PDO连接数据库,其中的各关键信息,都存于sql_setting.php文件,文件定义$sets =...五、流 1、流封装协议 流相当于一个管道,实现两头的通讯,服务器之间、文件之间等。使用函数包括fopen、fwrite、fgets、file_get_contents等。...2、流上下文 file_get_contents函数是用于获取网页的内容,但是可以通过使用函数stream_context _create,实现file_get_contents发送post请求。...4、自定义过滤器 需要扩展PHPphp_user_filter类,并且要实现filter、onCreate、onCLose方法,在通过stream_filter_register函数进行注册。

1.1K60

PHP变量覆盖漏洞小结

变量覆盖概述 变量覆盖指的是可以用我们自定义的参数值替换程序原有的变量值,通常需要结合程序的其他功能来实现完整攻击。那么它是如何引起的?其实,大多数变量覆盖漏洞是函数使用不当导致的。...还有一种是利用$$的方式来注册变量,但是没有验证已有变量,导致被覆盖。 extract()函数使用不当导致变量覆盖 函数结构: int extract( array & 原来b=2,经过extract()函数对a处理后, parse_str()函数使用不当导致变量覆盖 parse_str()函数的作用是解析字符串并且注册成变量,它在注册变量之前不会验证当前变量是否存在...重点在$符号,从代码,我们可以看出_key为COOKIR、POST、GET的参数,如果我们提交?...变量覆盖防范 变量覆盖最常见的漏洞点是做变量注册时没有验证变量是否存在。所以想要防范,推荐使用原始的变量数组,_GET、_POST等,或者在注册变量前一定要验证变量是否存在。

2.7K10

emlog 开发一个小插件(截取正文生成 xx 字摘要)的过程

php /* Plugin Name: 一键生成摘要 Version: 1.0 Plugin URL: Description: 在文章编辑页,一键生成摘要。可自定义设置摘要字数( 200 字)。...应注意,任何在公共空间里的变量、函数,都应以 xxx_ 为开头命名(xxx 是插件名),以防止系统内的代码产生冲突,造成系统崩溃。...php } ?> 后台“仪表盘”初具雏形。 图片 获取数据 我们的 HTML 表单使用post 方法来发送数据,现在我们在 PHP 获取。...文章的例子已省略。 后台显示与配置数据库同步 然后建立几个函数,通过简单的判断,来控制仪表盘的数据变动,使其与 $clicksum_storage 一样。...php /* Plugin Name: 一键生成摘要 Version: 1.0 Plugin URL: Description: 在文章编辑页,一键生成摘要。可自定义设置摘要字数( 200 字)。

1.2K10

掌握 Laravel 的测试方法

我们会简单介绍 PHPUnit 「单元测试」和「功能测试」的基本使用方法。继而,讲解如何在 Laravel 项目中创建「单元测试」和「功能测试」用例。...接下来我们将创建具体的测试用例,来讲解如何在 Laravel 中使用「单元测试」和「功能测试」。 搭建测试环境 创建测试模型 在开始创建测试用例前,我们需要先构建起用于测试的项目依赖。...{ // } 数据库迁移文件 YYYY_MM_DD_HHMMSS_create_posts_table.php 将创建在 database/migrations 目录。...接下来,执行数据库迁移命令就回在数据创建对应的数据表了。 $ php artisan migrate 在创建完数据表之后,我们需要向 Post 模型类中加入如下代码 <?...以上就是如何在 Laravel 中使用单元测试的使用方法。 功能测试 这一节我们将学习如何创建功能测试用例来对先前创建的控制器进行「功能测试」。

5.7K10

PHP面向对象-Session的实现和安全性

PHP,Session是通过服务器端存储用户信息的一种常用方法,它可以为网站的用户提供一种安全的身份验证方式。...Session ID可以存储在cookie,也可以在URL传递。为了创建一个Session,我们可以使用PHP的session_start()函数。...在使用Session之前,必须调用session_start()函数。以下是一个简单的示例,演示了如何在PHP使用Session:在这个例子,我们使用session_name()函数设置了Session名称为“mySession”。在Session存储最小的数据:为了减少攻击面,应该只在Session存储最小的数据。...不应该将敏感数据密码)存储在Session使用HTTPS协议:在使用Session时,应该尽可能使用HTTPS协议。HTTPS协议可以加密数据传输,从而防止中间人攻击。

47320

WordPress 主题教程 #16:留言模板

你将使用我的对默认评论模板的修改版本。 第1步:创建 comments.php 创建一个新文件:comments.php。...如果想让人们可以在静态页面也可以留言,同样可以把 comments_template() 函数用到 page.php 文件。...第4步:验证代码 第四步是验证你的代码,然而可以不进行第四步的,因为你在使用的是我已经整理过的默认主题评论模板的修改版。我已经替你验证过代码了。...以后的参考(当你创建你自己的主题和评论模板),下面是需要验证的页面: 主页 -- Home page 存档页面 -- Archive pages 类别页面 -- Category pages (如果你自定义了类别页面...) 搜索结果页面 -- Search result pages 静态页面 -- Pages (:About) 单一日志页面 -- Single post view page 单一日志没有留言 -- Single

67120

WordPress主题开发基础:Body 类指南

这允许主题开发人员在将自定义CSS类添加到body_class函数之前检查条件是否为true或false。 让我们看一些使用条件标签将自定义类添加到body类的示例。...现在,在这种情况下,您可以将条件标记与一些自定义代码一起使用,以将自定义类动态添加到body类。 为此,您需要将以下代码添加到主题的functions.php文件。...这将为您的代码提供一组方便使用的标签。 动态添加自定义body类的其他示例 除了条件标签外,您还可以使用其他技术从WordPress数据获取信息并为body类创建自定义CSS类。...肯定还有更多方案可以使用body_class函数来避免编写冗长的代码行。例如,如果您使用诸如Genesis之类的主题框架,则可以使用它在子主题中添加自定义类。...希望本文能帮助您学习如何在主题中使用WordPress body类,如果对于这篇文章有什么疑问,可以在下面留言讨论。

2K20

Blade 模板引擎高级篇

,该组件会在每个视图中引入,如果不使用 View Composer 的话,需要在每个路由定义(或者控制器方法)这么传递数据: Route::get('home', function () {...::recent()); }); 通过自定义类实现更加灵活的数据预设 除了常见的闭包方式外,你还可以通过自定义类的方式为 View Composer 实现更加灵活的数据预设。...,否则推荐使用闭包函数方式来实现,一则简洁,二则减少了不必要的类初始化和方法调用对性能的损耗。...2、在视图中注入服务 我们在 Blade 模板引擎入门教程中演示了如何在视图模板处理基本变量、集合数据以及对象数据,除此之外,还可以通过服务注入指令 @inject 在视图模板中注入服务,以便快捷使用服务中提供的方法...学院君不推荐使用这个服务注入功能,因为这很容易将业务逻辑混合到视图模板,视图层干好数据渲染的事情就好了,数据的处理和获取交由服务端去完成。

1.3K31

100 个常见的 PHP 面试题

PHP7.0 及以上版本已不支持该函数。 30) 如何在 PHP 处理 MySQL 的结果集?...要访问以这种方式发送的数据,请使用 $ _POST 数组。...addslashes 函数使我们能够在将数据存储到数据库之前对其进行转义。 42) 如何从字符串删除转义字符? 使用 stripslash 函数,我们可以删除字符串的转义字符。...因此,使用这些算法的哈希密码可能会产生漏洞。 50) 哪种加密扩展可以生成和验证数字签名? PHP-OpenSSL扩展提供了几种加密操作,包括数字签名的生成和验证。...第一个代码比第二个代码快,特别是对于大型数据集。 ** 64)会话的定义是什么?** 会话是一个逻辑对象,使我们能够跨多个PHP页面保留临时数据。 ** 65)如何在PHP启动会话?

21K50

调用网站第三方接口实现短信发邮件「建议收藏」

二,通过PHP程序来操作电子邮件 几种通过PHP发送电子邮件的方式 1)通过mail()函数发送邮件 2)使用fsockopen方式连接smtp服务器发送 3)使用phpmailer邮件类发送。...个人推荐使用phpmailer邮件类发送,phpmailer比较方便而且功能强大 1)通过mail()函数发送邮件 PHP的mail函数允许从脚本中直接发送电子邮件 格式:mail( t o ,...根据行业的一般做法,进行邮箱验证是避免潜在的安全隐患一种非常重要的做法,我们来讨论一下一些最佳实践,来看看如何在PHP创建一个邮箱验证数据表结构 Create table if not exists...整个流程是非常简单的–当一个新用户被创建时,在注册过程,一封包含验证链接的邮件便会被发送到用户填写的邮箱地址,在用户点击邮箱验证链接和确认邮箱地址之前,用户是不能进行登录和使用网站应用的。...同时,邮箱验证也需要包含用户的唯一标识,这样就可以避免那些攻击用户的潜在危险。 在实践中会生成一个验证链接,一旦这个验证被创建,就把他存储到数据,发送给用户。用户来验证

6.2K30

简单粗暴的文件上传漏洞

然而问题出在了 _savelinkimg() 函数,即在保存文件的前面程序员错误的使用了 iconv() 函数,并且文件名经过了此函数,为什么是错用了呢?...因为啊 iconv 函数在转码过程,可能存在字符串截断的问题: 在 iconv 转码的过程, utf->gb2312 (其他部分编码之间转换同样存在这个问题)会导致字符串被截断,: $filename...1、使用大小写绕过(针对对大小写不敏感的系统 windows),PhP 2、使用黑名单外的脚本类型,php5,asa 和 cer 等( IIS 默认支持解析 .asp,.cdx, .asa...(3)借助系统特性突破扩展名验证:test.php_(在 windows 下,下划线是空格,保存文件时下划线被吃掉剩下 test.php) 4、双扩展名之间使用 00 截断,绕过验证上传恶意代码...0xff, 0xd8 (SOI) (JPEG 文件标识) GIF: 文件头标识 (6 bytes) 47 49 46 38 39(37) 61 PHP 使用 getimagesize 函数验证图片文件头

3.7K00

Laravel5.2之Validator

概述: Laravel在Controller.php文件引用了trait为ValidatesRequests,这个trait源码在/Illuminate/Foundation/Validation/...(一)、post表单提交,并在视图中显示验证错误信息 1、先在routes.php写两个路由: Route::get('laravel/test/validator', 'PHPTestController...;填写name="name"和age="18",打印"form post success!!!",说明验证模块已经工作了,但页面没有显示验证错误信息。...5、定制显示错误信息 错误信息是由laravel默认的,如果自定义显示错误信息,: public function postValidator(Request $request){ /...一个好用的PHP调试函数:debug_backtrace(),在laravel任意一个文件自己创建的PHPTestController控制器的postValidator()函数中加上一句: var_dump

13.2K31

通过 Request 对象实例获取用户请求数据

而作为最流行的 PHP 框架,Laravel 自然也是为处理用户请求提供了丰富的工具集,从收集、验证、到过滤、编排,可谓是一应俱全,接下来,我们将通过三四篇教程的篇幅来为你详细介绍如何在 Laravel...: Route::post('form', 'RequestController@form'); 注:除此之外,Laravel 还提供了 Request 门面和全局辅助函数 request(),本质都是调用.../VerifyCsrfToken.php 中间件中将测试路由排除在外,否则会因为 POST 请求触发 CSRF 攻击防护验证而导致请求失败: protected $except = [ '/form...可见,不管是 URL 路径的 GET 请求数据,还是表单POST 请求数据,$request->all() 都可以获取到。...'); 获取数组输入字段值 有的时候,我们在表单传递给后端的可能是一个数组,比如一些复选框选中项,这些表单输入框的 name 值通常是 name[], books[],这个时候传递到后端的 books

19.7K30

wordpress插件Pods模板及字段调用方式

wordpress优秀插件 Pods ,它的功能可以参考这篇介绍文章《Pods 创建管理自定义内容类型和字段》,使用方法超级简单,傻瓜式的添加和选择即可,本文主要说一下Pods页面模板以及字段调用的方法...前端模板的命名规则 自定义页面内容类型 模板命名规则:archive-{post_type_name}.php archive-movies.php 自定义分类法 模板命名规则:taxonomy-...{taxonomy_name}.php taxonomy-movie_type.php 自定义内容类型内容页 模板命名规则:single-{post_type_name}.php single-movies.php...前段调用字段的方式 使用Pods的函数来进行输出: pods_field_display ( $pod,$post->ID,$name,$single ) $pod 即为你设置的分类英文名Pod name...$post->ID(选填) 某篇文章ID或slug,以查询该篇文章数据 $name 字段名称,或者关联数组的参数 $single (选填) 是否以数组的形式返回 例如我们调用网站信息的备案号,使用以下代码

1.5K40
领券