mosaxiv / cakephp-secure-target-blank
在Html Helper中为target _blank添加noopener和noreferrer。
1.0.2
2017-12-21 14:29 UTC
Requires
- cakephp/cakephp: ~3.0
Requires (Dev)
- cakephp/cakephp-codesniffer: ^3.0
- phpunit/phpunit: ^5.7|^6.0
This package is auto-updated.
Last update: 2024-09-15 05:39:24 UTC
README
如果你在一个链接上使用target="_blank"
属性,你可能会让用户容易受到简单的钓鱼攻击。在这些链接上添加rel="noopener noreferrer"
将防止这种漏洞。 进一步阅读。
需求
- PHP 7.0+
- CakePHP 3.0.0+
安装
你可以使用composer将此插件安装到你的CakePHP应用中。
安装composer包的推荐方法是
composer require mosaxiv/cakephp-secure-target-blank
用法
AppView 设置
加载Helper
// src/View/AppView.php namespace App\View; use Cake\View\View; use SecureTargetBlank\View\Helper\HtmlHelper; class AppView extends View { public function initialize() { $this->loadHelper('Html', [ 'className' => HtmlHelper::class ]); } }
Helper 使用
使用Html->link()
,并添加[target => "_blank"]
,将自动添加rel="noopener noreferrer"
。
基本
Html Helper
$this->Html->link('test', 'http://example.com', ['target' => '_blank'])
将渲染以下HTML
'<a href="http://example.com" target="_blank" rel="noopener noreferrer">test</a>'
secureBlank
选项
Html Helper
$this->Html->link('test_title', ['controller' => 'test'], ['target' => '_blank', 'secureBlank' => false]);
将渲染以下HTML
<a href="/test/index" target="_blank">test_title</a>