草庐IT

php - 为什么在尝试使用 $this->data 访问 CakePHP 密码字段时它是空的?

我正在实现一个身份验证组件,这是我的注册页面create('User',array('action'=>'login'));echo$form->input('primary_email',array('size'=>32));echo$form->input('password',array('label'=>'Password'));echo$form->input('remember_me',array('label'=>'RememberMe','type'=>'checkbox','checked'=>'false'));echo$html->link('ForgotPass

php - cakephp中如何通过外键查找数据?

ProductPlanProductPlanid|nameid|nameid|product_id|plan_id1aplha1a1122bravo2b3charlie我想根据ProductPlan查找产品名称和计划名称,如果ProductPlan中存在产品的产品ID和计划ID,那么将显示计划和产品的名称,我尝试了很多,关系b/w表是正确的但是我没有得到确切的数据,我使用的查询是$p_plan=$this->ProductPlan->find('all',array('conditions'=>array('ProductPlan.product_id'=>'Product.produ

php - 服务器迁移后,在 CakePHP3 的请求数据中找不到“_Token”

编辑:提出这个问题后获得的一系列新见解告诉我问题是什么,它绝对与描述的服务器迁移没有任何关系。给出的两个答案显示了如何为CakePHP2和3“修复”这个问题,但请记住这可能会带来安全风险。CSRF组件是一项重要的安全功能,不应轻易禁用。原始问题:我将我的CakePHP3项目从笔记本电脑上的XAMPP迁移到服务器上的XAMPP。自从我激活安全组件后,cake就向我抛出一个错误。在这里,直接来自错误日志:2016-05-2120:32:01Error:[Cake\Controller\Exception\AuthSecurityException]'_Token'wasnotfoundin

php - CakePHP 管理面板

我是CakePHP的新手,希望在我的自定义CMS上为客户提供一个管理面板。除了链接到每个Controller的管理页面之外,还有什么方法可以让我从其他Controller(例如用户和帖子)中提取View? 最佳答案 这是一篇关于为CakePHP创建管理部分的好文章CreatinganAdminSectionwithCakePHP 关于php-CakePHP管理面板,我们在StackOverflow上找到一个类似的问题: https://stackoverflo

php - CakePHP:使用多级可包容行为

我已经尝试在CakePHP中使用ContainableBehavior一段时间了,但我无法让它按预期工作。我的应用程序是不同的,但为了简化我会放这个例子。假设我有一个包含主题和事件的论坛,并且可以对事件进行评分。一般关系是:论坛:hasMany[话题]主题:belongsTo[论坛],hasMany[事件]事件:belongsTo[Thread],hasMany[Rating]评分:属于[事件]我想实现的是,通过find方法,获取某个论坛的所有评分。我想应该做的是:$this->Rating->find('count',array('contain'=>array('Activity'

php - 在 CakePHP 中使用更安全的散列算法

默认情况下,CakePHP似乎使用SHA1算法来散列密码并且似乎只提供SHA256作为替代:http://api.cakephp.org/view_source/security#line-86我想在公开我的应用程序之前切换到更安全的密码哈希解决方案,以免将来切换到更安全的哈希算法时出现麻烦。我四处寻找有关使用bcrypt或类似内容的一些指南,但它们似乎都适用于旧版本的Cake,或者散列算法实现不佳。有没有指南可以告诉我如何在不更改模型或Controller中的任何代码的情况下集成更好的密码散列?另外,还有一个小问题,为什么Cake开发者在他们的版本中只包含SHA密码散列?众所周知,S

php - 在 AppController 中为 cakephp 调用 AppModel 函数

我有一个功能,我希望我的所有Controller都能使用,所以我在AppController中定义了它。现在这个函数将做的部分事情与Controller无关,所以它应该在模型中,但由于这是一个通用操作,它在AppModel中似乎才是正确的。我的函数如下所示:classAppControllerextendsController{publicfunctioni_need_this_everywhere($term){//dosomestuff//thisisthelinethatisanissue//itseemslikethisshouldbesimpleandwork,butnova

php - Cakephp 3 的虚拟字段

我需要在我的用户实体中拥有一个虚拟属性(property)。我关注了CakePHPbook.UserEntity.phpnamespaceApp\Model\Entity;useCake\ORM\Entity;classUserextendsEntity{protected$_virtual=['full_name'];protectedfunction_getFullName(){return$this->_properties['firstname'].''.$this->_properties['lastname'];}}在Controller中$users=TableRegis

cakephp - 在 CakePHP 中完成的网站上维护两个不同域之间的 session 的问题

好吧,正如我之前发布的那样...我已经用两种语言创建了一个网站。一个网址为www.mainDomain.com(英语),另一个网址为www.fr.subDomain.com(法语)。两者都是在CakePHP中完成的,在法语中我刚刚将它的View更改为法语。但问题是,当任何人登录英文版然后切换到法文版时,session无法识别并再次要求登录。它已成为我迄今为止所做的Web应用程序中最大的错误。为此,正如Swanny告诉我的那样,通过alink我在我的应用程序上做了它,正如链接上所说的那样。显然,它适用于在两个域(主域和它的子域)之间共享session的登录。但是当我彻底检查它时,我意识到

php - 如何获取CakePHP的根目录?

我有一个带有公式的View(不是使用表单助手创建的)。例如,我将CakePHP安装在名为“myfolder1”的文件夹中。所以我的公式从那一行开始:但是如果我重命名根文件夹,我必须编辑所有公式(还有2个)。有没有表示根目录/名称的常量或函数?我读过常数ROOT.我应该使用那个变量吗?解决方案您可以在app\webroot\index.php中使用basename(ROOT)定义常量ROOT_NAME。您可以使用HTMLHelper函数url().比如在form标签的action属性中:$this->Html->url(array('controller'=>'ctrl','action