สยามโฮสเซิร์ฟเวอร์ดอทคอม : บริการจดโดเมนเนม | เช่าเว็บโฮสติง (PHP) | ออกแบบและจัดทำเว็บไซต์ | ให้คำปรึกษาด้าน IT | วิทยากรฝึกอบรม CMS, LMS _______________________

บทความและสาระน่ารู้

ความหมายของ register_globals

register_globals เป็นค่าตั้งของระบบในภาษา PHP ซึ่งเป็นตัวกำหนดว่า ในโค๊ด php จะให้ค่าในตัวแปร มึค่าตามที่ส่งมาทาง get,post หรือ session โดยอัตโนมัติหรือไม่

register_global=On ตัวแปรที่ส่งมาสามารถเรียกใช้ได้โดยอ้างชื่อได้ทันที เช่น $variable
register_global=Off หากต้องการรับค่าที่ส่งมาจะต้องรับผ่านตัวแปรระบบ เช่น $_REQUEST["variable"]

ปัญหาเรื่องความปลอดภัยเมื่อ register_globals=On

การเขียนโค๊ด PHP ในสภาพแวดล้อม register_globals=On หากไม่เขียนโค๊ดให้รัดกุมเพียงพอ อาจจะทำให้เว็บง่ายต่อการถูกเจาะข้อมูล

ตัวอย่าง

ไฟล์นี้ชื่อ auth.php

<?php

// ให้ $authorized = true เมื่อระบุชื่อและรหัสผ่านถูกเท่านั้น

if (
authenticated_user

()) {

$authorized
=
true

;
}



if (
$authorized

) {
include
"/highly/sensitive/data.php"

;
}

?>

 


จะเห็นว่าโค๊ดด้านบนนี้ ไม่ได้กำหนด ค่าเริ่มต้นของ $authorized ให้เป็น false จึงทำให้ระบบของท่านถูกเจาะได้ เพียงเรียกผ่านหน้าเว็บ auth.php?authorized=1 ถึงแม้จะใส่ชื่อและรหัสผ่านผิด

การแก้ไขโค๊ดที่ทำงานผิดพลาดในสภาพแวดล้อม register_globals=Off
หากเว็บของท่านเคยทำงานได้ปกติในสภาพแวดล้อม register_globals=On แต่เกิดปัญหาเมื่อนำมาใช้งานในสภาพแวดล้อม register_globals=Off
ท่านต้องตรวจสอบในส่วนการรับ-ส่ง ค่าตัวแปร หากท่านเรียกใช้ตัวแปรตามชื่อที่ส่งมาโดยตรง ท่านต้องแก้ไขให้อยู่ในรูปแบบตัวแปรระบบ $_REQUEST["ชื่อตัวแปร"] แทน

ตัวอย่าง
สมมติท่านต้องการส่งค่า id ไปที่หน้า submit.php
http://www.yourdomian.com/submit.php?id=10

โค๊ด submit.php เดิม (สามารถทำงานได้ถูกต้องเฉพาะ register_globals เป็น on):

<?php
if ($id==10) return true;
?>

โค๊ด submit.php ที่แก้ไขแล้ว (สามารถทำงานได้ถูกต้องทั้ง register_globals เป็น on หรือ off):

<?php
if ($_REQUEST["id"]==10) return true;
?>

หรือ

<?php
$id = $_REQUEST["id"];
if ($id==10) return true;
?>

ข้อมูลเพิ่มเติม

http://www.php.net/manual/en/language.variables.predefined.php
http://th.php.net/register_globals

http://www.yes-hosting.com/support/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=102



Was this answer helpful?

Add to Favourites Add to Favourites

สั่งพิมพ์บทความ/เนื้อหานี้ สั่งพิมพ์บทความ/เนื้อหานี้


Powered by WHMCompleteSolution

Language:

เมนูทางลัด

เข้าระบบสมาชิกลูกค้า

อีเมล์

รหัสผ่าน

จำชื่อและรหัสผ่าน

ค้นหา



ลูกค้าที่ใช้บริการกับเรา


www.Kroobannok.com



www.Thaitrtonclub.com



www.Siphaya.net



www.DrChaiyot.com



www.Prachyanun.com



www.ebookthailand.net



www.Edtechno.com

ดูรายชื่อเว็บไซต์ลูกค้าทั้งหมด