���������� PHP 5.3.0 ������������ PHP 5.4.0 ���Ƴ���
���� PHP ���������ı仯���Ǵ� PHP » 4.2.0 �濪ʼ�����ļ��� PHP ָ�� register_globals ��Ĭ��ֵ�� on ��Ϊ off �ˡ��Դ�ѡ�������������ձ������ںܶ��˸�����֪�����Ĵ��ڶ���Ϊ PHP ����������ô�����ġ����ڻ���������ָ�����д������ȫ�Ĵ��룬��Ҫ֪�����ָ���û�в���ȫ�ĵط������òŻᡣ
�� register_globals ���Ժ��ֱ�������ע����룬�������� HTML ��������������ټ��� PHP ��ʹ�ñ���֮ǰ��������г�ʼ���ģ����ʹ�ø�����д������ȫ�Ĵ��롣���Ǹ��ܼ��ѵľ��� PHP �������Ǿ���Ĭ�Ϲرմ�ѡ�����ʱ������ʹ�ñ���ʱȷʵ��֪���������������ģ�ֻ���뵱Ȼ������ register_globals �Ĺرոı������ִ����ڲ������Ϳͻ��˷��͵ı���������һ����������������һ������ʹ�� register_globals �����ӣ�
Example #1 ����ʹ�� register_globals = on ������
<?php
// ���û��Ϸ���ʱ��ֵ $authorized = true
if (authenticated_user()) {
$authorized = true;
}
// ���ڲ�û�����Ȱ� $authorized ��ʼ��Ϊ false��
// �� register_globals ��ʱ������ͨ��GET auth.php?authorized=1 ������ñ���ֵ
// �����κ��˶������ƹ������֤
if ($authorized) {
include "/highly/sensitive/data.php";
}
?>
�� register_globals = on ��ʱ������Ĵ���ͻ���Σ���ˡ������ off��$authorized �Ͳ���ͨ���� URL ����ȷ�ʽ���ı䣬�����ͺö��ˣ����ܳ�ʼ��������һ�����õı��ϰ�ߡ�����˵�����������Ĵ���ִ��֮ǰ���� $authorized = false �Ļ������� register_globals �� on ���� off �����ԣ���Ϊ�û�״̬����ʼ��Ϊδ����֤��
��һ�������ǹ����Ự�ġ��� register_globals = on ��ʱ��$username Ҳ������������Ĵ����У���Ҫ��ʶ�� $username Ҳ���ܻ������;������������˵ͨ�� URL �� GET��
Example #2 ʹ�ûỰʱͬʱ���� register_globals on �� off ������
<?php
// ���Dz�֪�� $username ����Դ��������� $_SESSION ��
// ��Դ�ڻỰ����
if (isset($_SESSION['username'])) {
echo "Hello <b>{$_SESSION['username']}</b>";
} else {
echo "Hello <b>Guest</b><br />";
echo "Would you like to login?";
}
?>
��ȡ��Ӧ��Ԥ����ʩ�Ա���α����������ʱ����辯������ȫ�п��ܵġ��������ȷ��֪���������������ģ��Ϳ��Լ�����ύ�������Ƿ��ǴӲ������ı��ύ�����������ⲻ�ܱ�֤����δ��α�죬����Ҫ������ȥ�²�Ӧ������ȥα�졣������ں�����������Դ�Ļ�������ʹ�� $_REQUEST ���飬�������� GET��POST �� COOKIE ���������ݡ�����ɲμ����ֲ������ PHP ֮��ı�����
Example #3 ̽���к�����
<?php
if (isset($_COOKIE['MAGIC_COOKIE'])) {
// MAGIC_COOKIE ���� cookie
// ��������ȷ�������� cookie ������
} elseif (isset($_GET['MAGIC_COOKIE']) || isset($_POST['MAGIC_COOKIE'])) {
mail("admin@example.com", "Possible breakin attempt", $_SERVER['REMOTE_ADDR']);
echo "Security violation, admin has been alerted.";
exit;
} else {
// ��һ�������в�û������ MAGIC_COOKIE ����
}
?>
��Ȼ�������عر� register_globals
�����������еĴ��붼��ȫ�ˡ�����ÿһ���ύ���������ݣ���Ҫ������о���ļ�顣��ԶҪ��֤�û����ݺͶԱ������г�ʼ������
error_reporting() ��Ϊ
E_NOTICE
������Լ��δ��ʼ���ı�����
�������ģ�� register_globals Ϊ on �� off ����Ϣ������� FAQ��
Note: Superglobal ������˵����
�� PHP 4.1.0 �����ʹ�� Superglobal ���飬���� $_GET��$_POST���� $_SERVER���ȵȡ�������Ϣ���Ķ��ֲ��е� superglobals �½ڡ�