在 Java 方面,我们有一个处理身份验证的 servlet 过滤器。我们不必更改所有其他 servlet 或 JSP 来向页面添加身份验证,除非页面需要自定义内容。

我们怎样才能在 PHP 上实现同样的效果呢?我们不使用任何 PHP 框架。

有帮助吗?

解决方案

没有直接等价物。最好的选择是在顶部包含一个通用文件,并根据需要在其顶部执行此类逻辑。所以:

require 'common.php';

和:

if (!isset($_SESSION['userid'])) {
  // authentication stuff
}

如果您想在最后做某事,您有以下几种选择:

  1. 使用输出缓冲区处理程序 ob_start();或者
  2. 注册关闭回调 register_shutdown_function().

所以:

ob_start('my_callback');

function my_callback($str) {
  // do something
  return $str;
}

或者

register_shutdown_function(my_callback);

function my_callback() {
  // do something
}

其他提示

如果我明白你的问题correctly.This可以在架构变化..例如..创建一个包含文件,检查用户是否通过会话验证,如果不是发送到登录页面。我认为有超过2个脚本任何网站将利用某种形式的包含文件和u可以把这个代码在该文件中。你甚至可以有一个包含这需要有一个有效的用户会话,并匹配以请求的URI ..几种方法去它的网页的名称的数组..ü只需要选择其中最适合U中的一个。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top