0
A
回答
4
这是一个稍后被该应用程序使用的常量。 Define()用于创建这些常量。通常用于配置数据。要稍后使用此常量,只需在代码中使用字符串INCLUDE_CHECK就像它是一个没有$的变量。
所以
if(INCLUDE_CHECK)
{
// Do code that only should happen if you want it to.
}
0
INCLUDE_CHECK不是PHP本身的特点,只有一些代码,有人用PHP编写的。第一次点击on google向我们展示了一个配置文件,用户试图通过检查变量是否被定义来保护它。
在我的谷歌发现狙击采取的方法是这样
- 可直接(例如http://example.com/foo.php)引用将定义INCLUDE_CHECK然后包括检查INCLUDE_CHECK一个文件的文件,例如config.php文件;因为foo.php已经定义了它,如果用户直接访问config.php(如http://example.com/config.php),那么INCLUDE_CHECK将不会被定义,所以这将会正常工作
- 因此会发生错误,从而阻止用户运行脚本。如果用户直接访问的config.php
以下实施例应说明清楚
foo.php
<?php
defined('INCLUDE_CHECK', true);
require_once 'config.php';
?>
的config.php
<?php
if (!defined('INCLUDE_CHECK')) { die ('invalid access'); }
echo 'Hello World!';
?>
,然后INCLUDE_CHECK是不定义,所以脚本将随着消息的无效访问而死亡。如果用户访问foo.php,它将定义INCLUDE_CHECK ,然后包含config.php,然后它将回显Hello World。
这是一种保护配置文件的好方法,顺便说一句;请参阅my post here以获得更简单可靠的方法。
0
只是除了DampeS8N答案,这是正确的。
我读php.net的链路http://in2.php.net/manual/en/function.define.php 和下面的例子清楚地表明,任何值可以用于内部用于限定变量恒定限定函数和INCLUDE_CHECK只是其中我认为是某种PHP特征的变量)
<?php
define("CONSTANT", "Hello world.");
echo CONSTANT; // outputs "Hello world."
echo Constant; // outputs "Constant" and issues a notice.
define("GREETING", "Hello you.", true);
echo GREETING; // outputs "Hello you."
echo Greeting; // outputs "Hello you."
?>
@ DampeS8N pls。如果错误的评论!
感谢大家的回答!
相关问题
- 1. AsynchDNS在php中做什么?
- 2. 什么(数组)在PHP中做什么?
- 3. PHP中的bindtextdomain做什么
- 4. 在Perl中做什么=〜做什么?
- 5. RETURN TRUE在php函数中做什么?
- 6. 函数_($ string)在PHP中做什么?
- 7. “\”在PHP/MySQL脚本中做什么
- 8. '@'前缀在PHP中做什么?
- 9. @在这个php中做什么?
- 10. 什么`...`在PHP对象实例中做什么
- 11. 什么做!==和===在PHP中是什么意思?
- 12. 我能做些什么 PHP
- 13. PHP函数@ $ _做什么?
- 14. 做什么,如果PHP
- 15. PHP邮件:-f做什么?
- 16. php pdo¿我在做什么错?
- 17. 我在这里做错了什么? [php]
- 18. 什么是string.indexOf(“*。”)在Javascript中做什么?
- 19. 什么是outData.writeInt()在Java中做什么?
- 20. 什么是String.iter()在Rust中做什么?
- 21. “+”在CSS中做了什么?
- 22. '@'在c#中做什么?
- 23. 什么 - 在Excel中做?
- 24. 在JavaScript中做什么“杀”?
- 25. config.gem(在environment.rb中)做什么?
- 26. crypt()在C中做什么?
- 27. -G在Perl中做什么?
- 28. `...`在matlab中做什么?
- 29. “%% DatabaseEx”在TSQL中做什么?
- 30. 在Unix中'-d'做什么?
嗨,感谢您的快速回复。那么它是否像布尔变量? – Sagar 2010-11-29 13:02:59
他们可以。他们可以容纳任何非复杂的数据结构。String,float,int,bool。他们不能容纳对象或数组。如果你真的对PHP非常陌生,那么我只会阅读关于Define()的php.net条目,如果这太难理解,请稍后再回来。这是PHP的中等先进方面。 – DampeS8N 2010-11-29 13:07:35