为了账号安全,请及时绑定邮箱和手机立即绑定

PHP - 不在特定页面上执行特定代码

PHP - 不在特定页面上执行特定代码

PHP
宝慕林4294392 2023-07-01 15:27:34
我有一个公共页面:default.php<?php   ________Some Codes________?>我的项目有100 多个 .php文件。(是的,所有文件都位于require_once 'default.php';所有页面的第一行)现在,我决定在除2alert之外的所有文件中显示。(比如1.php和2.php)。当然,我会将其添加alert到我的default.php中。所以现在我的default.php看起来像:<?php________Some Codes_______echo $comn_alert = "<script>alert('Hi');</script>";?>问题:如何停止在1.php和2.php$comn_alert上执行?
查看完整描述

2 回答

?
PIPIONE

TA贡献1829条经验 获得超9个赞

几种做法:

  • 您可以使用$_SERVER['PHP_SELF']indefault.php检查它是否包含在1.php2.php

  • 您可以稍微重构您的包含结构:将 的通用逻辑(即所有default.php文件中使用的逻辑)提取到另一个文件(例如)中,并要求该文件并包含有问题的代码(例如)。然后只需要default_minimal.phpdefault.phpalert()1.php2.phpdefault_minimal.php

  • 1.php在 require 中和之前设置一个变量2.php,然后检查default.php该变量是否存在。


查看完整回答
反对 回复 2023-07-01
?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

在包含文件之前定义一个常量,然后检查该常量是否在 中定义default.php。如下所示:


1.php:


<?php


define('AVOID_ALERT_1',1);


require_once('default.php');

2.php:


<?php


define('AVOID_ALERT_2',1);


require_once('default.php');

默认.php:


<?php 


// __some__codes


if(!(defined('AVOID_ALERT_1') || defined('AVOID_ALERT_2'))){

   echo $comn_alert = "<script>alert('Hi');</script>";

}


查看完整回答
反对 回复 2023-07-01
  • 2 回答
  • 0 关注
  • 76 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信