ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน


เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

LogoThai.COM  |  ขายโปรแกรมระบบงานคลินิกทำงานผ่านเวป  |  บันทึกเขียนโปรแกรม (ผู้ดูแล: LesCop)  |  โค๊ตอ่านค่าตัวแปรเมื่อกำหนด register_global=On/Off เป็น Off
LOGOthai.com

คลิกที่นี่ -->> เปรียบเทียบทำเลและราคาที่ดินวังน้ำเขียวผ่าน GooleMAP | คลิกที่นี้ -->> Upload ภาพ

หน้า: [1]   ลงล่าง
  ตอบ  |  พิมพ์  
ผู้เขียน หัวข้อ: โค๊ตอ่านค่าตัวแปรเมื่อกำหนด register_global=On/Off เป็น Off  (อ่าน 3021 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
LesCop
แหลม+คม=หอก
Administrator
เศรษฐีพันล้าน
*

พลังน้ำใจ 575
ออฟไลน์ ออฟไลน์

เพศ: ชาย
กระทู้: 450


ขอหยุดที่86เอย


ดูรายละเอียด
« เมื่อ: 16 พฤศจิกายน 2557 08:57:18 »
ตอบโดยอ้างถึงข้อความอ้างถึง

สำหรับการกำหนดเป็น Off ในการพัฒนาโปรแกรมจะมีความปลอดภัยมากกว่าในกรณีที่เป็น On ครับ และมีลดความสับสน และตัวแปรซ้ำซ้อนได้ครับ แต่ Server ส่วนมากจะกำหนดค่าในส่วนนี้เป็น On เพราะโปรแกรมส่วนมากในการพัฒนาโปรแกรมเมอร์จะไม่ค่อยใส่ใจในส่วนนี้ซะเท่าไหร่ แต่ถึงอย่างไร ผมเองก็ยังแนะนำให้ใช้ Off ดีที่สุดครับ และระบุชนิดตัวแปรทุกครั้งที่เรียกใช้งาน ถึงแม้จะกำหนดเป็น On หรือ Off ก็ตาม

หรือในกรณีที่ Server มีการกำหนดเป็น Off ผมมี Code ที่สามารถอ่านตัวแปรที่ไม่ต้องระบุชนิดได้ครับ

โค๊ด:
<?php
//*** Register Global =On/Off Function ***//
$phpVersion phpversion();
list(
$v_Upper,$v_Major,$v_Minor) = explode(".",$phpVersion);

if ((
$v_Upper == && $v_Major 1) || $v_Upper 4) {
$_FILES $HTTP_POST_FILES;
$_ENV $HTTP_ENV_VARS;
$_GET $HTTP_GET_VARS;
$_POST $HTTP_POST_VARS;
$_COOKIE $HTTP_COOKIE_VARS;
$_SERVER $HTTP_SERVER_VARS;
$_SESSION $HTTP_SESSION_VARS;
$_FILES $HTTP_POST_FILES;
}

if (!
ini_get('register_globals')) {
while(list($key,$value)=each($_FILES)) $GLOBALS[$key]=$value;
while(list($key,$value)=each($_ENV)) $GLOBALS[$key]=$value;
while(list($key,$value)=each($_GET)) $GLOBALS[$key]=$value;
while(list($key,$value)=each($_POST)) $GLOBALS[$key]=$value;
while(list($key,$value)=each($_COOKIE)) $GLOBALS[$key]=$value;
while(list($key,$value)=each($_SERVER)) $GLOBALS[$key]=$value;
while(list($key,$value)=@each($_SESSION)) $GLOBALS[$key]=$value;
foreach($_FILES as $key => $value){
$GLOBALS[$key]=$_FILES[$key]['tmp_name'];
foreach($value as $ext => $value2){
$key2 $key."_".$ext;
$GLOBALS[$key2]=$value2;
}
}
}
?>


เพียงนำ Code นี้ไปวางไว้บนสุดของ Code ก็จะสามารถอ่านแบบไม่ต้องระบุชนิดของตัวแปรได้ครับ หรือจะสร้างเป็นไฟล์ include เพื่อเรียกใช้งานในหลาย ๆ หน้าที่ต้องการใช้งาน

ที่มา : http://www.thaicreate.com/php/php-register_global-on-off.html
แจ้งลบกระทู้นี้หรือติดต่อผู้ดูแล   บันทึกการเข้า


>> เมื่อโกรธจัด อย่าเพิ่งตอบข้อความใคร..
>> เมื่อดีใจ อย่าเพิ่งให้สัญญา..
>> เมื่อเศร้าหนักหนา อย่างเพิ่งตัดสินใจ..
แท็ก: register_global sucurity 
หน้า: [1]   ขึ้นบน
  ตอบ  |  พิมพ์  
 
กระโดดไป:  


:: ข้อตกลงร่วมกัน ::
ห้ามโพสต์รูปลามก หรือสิ่งผิดกฏหมายทุกประเภท
ห้ามโพสต์ข้อความที่ทำให้ผู้อื่นเสียหาย ห้ามใช้วาจาไม่สุภาพ หรือด่าทอ ข้อความหรือเนื้อหาที่เกิดขึ้น ผู้โพสต์ต้องเป็นคนรับผิดชอบเท่านั้น หากเราตรวจสอบว่ามีการโพสต์รูปลามก หรือทำสิ่งผิดกฎหมาย
เราจะลบโพสต์ทันทีโดยไม่ต้องแจ้งให้ทราบล่วงหน้า




คลิกที่นี่ -->> จัดพระของขวัญเข้ารุ่นและพิมพ์

หน้านี้ถูกสร้างขึ้นภายในเวลา 0.228 วินาที กับ 25 คำสั่ง