Php 如何跳过Zend外部请求的身份验证

Php 如何跳过Zend外部请求的身份验证,php,zend-framework,authentication,file-get-contents,Php,Zend Framework,Authentication,File Get Contents,我正在构建一个邮件解析器脚本,它将从邮箱获取内容 并向a网页后端发送少量“更新”请求(在Zend_框架上) 其想法是让mailChecker.php文件独立,并使用Cron作业调用它 在我尝试调用更新url之前,一切正常: file_get_content("http://mySite.com/update-item/id/1"); 框架将我的请求重定向到登录表单 解决这个问题最干净的方法是什么? 我不习惯编辑太多的登录功能 有没有办法跳过特定请求的身份验证检查? (这里的安全不是大问题) 或

我正在构建一个邮件解析器脚本,它将从邮箱获取内容 并向a网页后端发送少量“更新”请求(在Zend_框架上)

其想法是让mailChecker.php文件独立,并使用Cron作业调用它

在我尝试调用更新url之前,一切正常:

file_get_content("http://mySite.com/update-item/id/1");
框架将我的请求重定向到登录表单

解决这个问题最干净的方法是什么? 我不习惯编辑太多的登录功能

有没有办法跳过特定请求的身份验证检查? (这里的安全不是大问题)

或者在调用更新之前为我的独立脚本创建会话的简单方法: 文件获取内容(“http://mySite.com/easy-auth/admin/admin");


寻找一个简单/难看的解决方案,我不太愿意编辑当前的身份验证。

为什么不在调用更新url之前进行身份验证?如果有一个简单的基于会话的身份验证,您可以通过传递登录详细信息和启用cookie jar来卷曲登录操作。然后再次卷曲以从更新脚本获取数据


另一种解决方案是,如果真的没有安全要求,只需对来自localhost的传入请求禁用身份验证检查

为什么不在调用更新url之前进行身份验证?如果有一个简单的基于会话的身份验证,您可以通过传递登录详细信息和启用cookie jar来卷曲登录操作。然后再次卷曲以从更新脚本获取数据


另一种解决方案是,如果真的没有安全要求,只需对来自localhost的传入请求禁用身份验证检查

我知道您想要的是一个快速而肮脏的解决方案,但这是一个糟糕的设计。您的cron作业应该运行updateitem操作运行的任何代码(最好不要重复它)。向自己的站点发出web请求会减慢cron作业的速度,在服务器上增加不必要的负载,并导致与您现在遇到的问题完全相同的问题


我建议将更新项逻辑移动到控制器调用的服务类中。然后可以从cron作业调用相同的方法。这是一个更干净、更快、更容易进行单元测试的解决方案。

我知道您想要的是一个快速而肮脏的解决方案,但这是一个糟糕的设计。您的cron作业应该运行updateitem操作运行的任何代码(最好不要重复它)。向自己的站点发出web请求会减慢cron作业的速度,在服务器上增加不必要的负载,并导致与您现在遇到的问题完全相同的问题


我建议将更新项逻辑移动到控制器调用的服务类中。然后可以从cron作业调用相同的方法。这更干净、更快、更易于单元测试。

true,但是cron作业需要在访问后端控制器之前进行身份验证(同样的问题)。IMO cron作业根本不应该访问控制器类,因此它们不需要担心身份验证。当我说将项更新项逻辑移动到服务类中时,我的意思是,只有该逻辑-任何身份验证代码都将保留在控制器中。不,这是不可能的。updateItem()涉及几个对象修改、验证、触发器和最终的DB update.true,但是cron作业需要在访问后端控制器之前进行身份验证(同样的问题)。IMO cron作业根本不应该访问控制器类,因此它们不必担心身份验证。当我说将项更新项逻辑移动到服务类中时,我的意思是,只有该逻辑-任何身份验证代码都将保留在控制器中。不,这是不可能的。updateItem()涉及几个对象修改、验证、触发器和最终的数据库更新。