PHP Can Do. ไปหน้าเว็บ PHP Mindphp.com รูปแบบใหม่

PHP เขียนเว็บ เนื้อหา บทความ เขียนโปรแกรม สอน Code PHP
สนใจลงโฆษณา ติดต่อ ติดต่อ 086-703-1560
ค้นหาข้อมูลภายในเว็บ Mindphp.com
วัดความเร็วเน็ตทดสอบความเร็วอินเตอร์เน็ต บทความ php   เนื้อหา php  เขียน บทความ php  เว็บบอร์ด php   ค้นหา
พื้นที่โฆษณา
PHP เมนูหลัก
icon_home.gif Mind php.com
icon_poll.gif เนื้อหา php
tree-T.gif เนื้อหา php
tree-T.gif คู่มือ Function
tree-T.gif วารสารสมาชิก
tree-L.gif คู่มือ phpมีข้อมูลใหม่ !
favoritos.gif บทความ php
tree-T.gif บทความ PHP
tree-T.gif เขียนบทความ
tree-L.gif ค้นหา
icon_community.gif เว็บบอร์ด php
tree-T.gif Programming - PHP
tree-T.gif CMS, CRM,...
tree-L.gif Html Css
icon_members.gif VDO Tutorial
tree-L.gif Video PHP Tutorial
som_downloads.gif โหลด and ลิงค์
tree-T.gif PHP ดาวน์โหลด
tree-L.gif สารบัญเว็บ PHP
som_downloads.gif วัดความเร็วเน็ตมีข้อมูลใหม่ !
som_downloads.gif Pdf Creatorมีข้อมูลใหม่ !
icon_community.gif สมัครสมาชิก
PHP ตัวอย่าง บทความ
SQL Mysql MSSQL ORACLE
[ SQL Mysql MSSQL ORACLE ]
  • Mysql5 เขียน Stored Procedure phpMyadmin (สำหรับ Mysql 5 เป็นต้นไปนะครับ)
  • เขียน SQL คำนวณอายุ จากวันเกิด ด้วย Mysql, Mssql
  • การเข้ารหัสข้อความในฐานข้อมูล Mysql ENCODE ENCRYPT Decode
  • เขียน Sql เพื่อหาค่า sum ของหลายๆ colum ใน query เดียว
  • การทำ Replicate MySQL
  • คำสั่ง sql select ข้อมูลสองตาราง Mysql ใช้ได้ กับSqlมาตรฐาน ใช้ การ Joins ตารางก
  • แก้ปัญหา ลืม password root mysql
  • คำสั่ง sql สร้าง tempory table ของ mysql มาพักข้อมูลกัน
  • การ Update ข้อมูล ใน colum ด้วยข้อมูลจาก ตารางอื่น
  • กลุ่มบทความ PHP
  • AJAX - PHP (5)
  • CMS - PHP (6)
  • CRM - PHP (5)
  • Function PHP (8)
  • Google (5)
  • JavaScript (7)
  • Joomla (11)
  • Jquery (2)
  • OOP - PHP (6)
  • Pear Zend Framework (3)
  • PHP Editor (8)
  • PHP-Nuke (9)
  • Phpbb (2)
  • Smarty (1)
  • SQL - MySql (16)
  • ความรู้ทั่วไป (18)
  • เทคนิค การเขียน PHP (24)
  • บทความ PHP (8)
  • พื้นฐาน PHP (6)

  • Filesystem Security

    Table of Contents

    PHP is subject to the security built into most server systems with respect to permissions on a file and directory basis. This allows you to control which files in the filesystem may be read. Care should be taken with any files which are world readable to ensure that they are safe for reading by all users who have access to that filesystem.

    Since PHP was designed to allow user level access to the filesystem, it's entirely possible to write a PHP script that will allow you to read system files such as /etc/passwd, modify your ethernet connections, send massive printer jobs out, etc. This has some obvious implications, in that you need to ensure that the files that you read from and write to are the appropriate ones.

    Consider the following script, where a user indicates that they'd like to delete a file in their home directory. This assumes a situation where a PHP web interface is regularly used for file management, so the Apache user is allowed to delete files in the user home directories.

    Example #1 Poor variable checking leads to....

    <?php
    // remove a file from the user's home directory
    $username $_POST['user_submitted_name'];
    $userfile $_POST['user_submitted_filename'];
    $homedir  "/home/$username";

    unlink("$homedir/$userfile");

    echo 
    "The file has been deleted!";
    ?>

    Since the username and the filename are postable from a user form, they can submit a username and a filename belonging to someone else, and delete it even if they're not supposed to be allowed to do so. In this case, you'd want to use some other form of authentication. Consider what could happen if the variables submitted were "../etc/" and "passwd". The code would then effectively read:

    Example #2 ... A filesystem attack

    <?php
    // removes a file from anywhere on the hard drive that
    // the PHP user has access to. If PHP has root access:
    $username $_POST['user_submitted_name']; // "../etc"
    $userfile $_POST['user_submitted_filename']; // "passwd"
    $homedir  "/home/$username"// "/home/../etc"

    unlink("$homedir/$userfile"); // "/home/../etc/passwd"

    echo "The file has been deleted!";
    ?>

    There are two important measures you should take to prevent these issues.

    • Only allow limited permissions to the PHP web user binary.
    • Check all variables which are submitted.

    Here is an improved script:

    Example #3 More secure file name checking

    <?php
    // removes a file from the hard drive that
    // the PHP user has access to.
    $username $_SERVER['REMOTE_USER']; // using an authentication mechanisim
    $userfile basename($_POST['user_submitted_filename']);
    $homedir  "/home/$username";

    $filepath "$homedir/$userfile";

    if (
    file_exists($filepath) && unlink($filepath)) {
        
    $logstring "Deleted $filepath\n";
    } else {
        
    $logstring "Failed to delete $filepath\n";
    }
    $fp fopen("/home/logging/filedelete.log""a");
    fwrite($fp$logstring);
    fclose($fp);

    echo 
    htmlentities($logstringENT_QUOTES);

    ?>

    However, even this is not without its flaws. If your authentication system allowed users to create their own user logins, and a user chose the login "../etc/", the system is once again exposed. For this reason, you may prefer to write a more customized check:

    Example #4 More secure file name checking

    <?php
    $username     
    $_SERVER['REMOTE_USER']; // using an authentication mechanisim
    $userfile     $_POST['user_submitted_filename'];
    $homedir      "/home/$username";

    $filepath     "$homedir/$userfile";

    if (!
    ctype_alnum($username) || !preg_match('/^(?:[a-z0-9_-]|\.(?!\.))+$/iD'$userfile)) {
        die(
    "Bad username/filename");
    }

    //etc...
    ?>

    Depending on your operating system, there are a wide variety of files which you should be concerned about, including device entries (/dev/ or COM1), configuration files (/etc/ files and the .ini files), well known file storage areas (/home/, My Documents), etc. For this reason, it's usually easier to create a policy where you forbid everything except for what you explicitly allow.


    Advertising unit Ads
    บทความ Mind php
    > ทดสอบความเร็วเน็ต
    > ดาวน์โหลด MSN 9.0
    > บทความ
     >> เช็คเลขบัตรประชาชน
     >> แบ่งหน้าแสดงผล โค้ดแบ่งหน้า แบ่งหน้า php
     >> PHP แปลงตัวเลข เป็น เงินบาท
     >> วิธีสมัคร และใช้งาน no-ip
     >> สร้างไฟล์ PDF ด้วย PHP
     >> การใช้ phpmyadmin
     >> การ Select ข้อมูล Joins 2 ตาราง
     >> การแก้ปัญหา ภาษาไทย MySql เป็น ????
     >> การติดตั้ง โมดูล php-nuke
     >> การอัพโหลดไฟล์ ด้วย php
     >> PHP OOP คืออะไร
     >> บทความ CRM
     >> Http คืออะไร
    กระทู้เด่น
     >> วิธีติดตั้ง XAMPP
     >> วิธีติดตั้ง Appserv
     >> วิธีติดตั้ง Joomla 1.5
     >> วิธีติดตั้ง phpbb
     >> บอร์ด phpBB3 ของไทย
     >> โปรแกรมแปลงไฟล์
    รวม Free Code PHP Class Script
    Unix Timestamp Coverter
    * รวม Code PHPClass
    * Wallpaper Sport & Tutorial
    เกมส์ Flash เครื่องบิน
    วิธีแก้ เข้า regedit ไม่ได้
    วิธีแก้เข้า task manager ไม่ได้
    ผู้ที่กำลังใช้งานอยู่
    ขณะนี้มี 31 บุคคลทั่วไป และ 0 สมาชิกเข้าชม

    ท่านยังไม่ได้ลงทะเบียนเป็นสมาชิก กรุณาสมัครที่นี่
    คลิปวีดีโอสอน
    hmailserver ทำ Mail Server ใช้ในองศ์กร ด้วยโปรแกรมฟรี

    โดย: mindphp
    เมื่อ: 08th Feb 2010
    เข้าชม: 27971
    ให้คะแนน: 1.00 โหวต: 1

    ติดตั้ง PHP5 แบบ FastCGI บน IIS7 Windows 2008 Server

    โดย: mindphp
    เมื่อ: 26th Jan 2010
    เข้าชม: 20907
    ให้คะแนน: 0.00 โหวต: 0

    วีดีโอสอน การใช้งาน Teamviewer ฉบับภาษาไทย ใน คลิป เป็น teamviewer เวอร์ชั่น 5

    โดย: mindphp
    เมื่อ: 15th Jan 2010
    เข้าชม: 34605
    ให้คะแนน: 3.33 โหวต: 6

    มาดู Android Review on Youtube กัน Android ระบบปฏิบัตการบนมือถือ

    โดย: mindphp
    เมื่อ: 12th Jan 2010
    เข้าชม: 18419
    ให้คะแนน: 0.00 โหวต: 0

    คู่มือการใช้ microsoft office 2007 วีดีโอ Tutorial สอนการใช้ microsoft office 2007

    โดย: mindphp
    เมื่อ: 12th Jan 2010
    เข้าชม: 29216
    ให้คะแนน: 5.00 โหวต: 2

    ส่วนประกอบของ photoshop ความสามารถของ โปรแกรม Photoshop Feature

    โดย: mindphp
    เมื่อ: 12th Jan 2010
    เข้าชม: 18788
    ให้คะแนน: 0.00 โหวต: 0

    วิธี Download Microsoft Office 2007 Free

    โดย: mindphp
    เมื่อ: 10th Jan 2010
    เข้าชม: 62341
    ให้คะแนน: 4.17 โหวต: 6

    คอมพิวเตอร์โน๊ตบุ๊ค วีดีโอเปรียบเทียบคอมพิวเตอร์โน๊ตบุ๊ค แต่ละเจ้าศึกษารายละเอียดก่อนเลือกซื้อ

    โดย: mindphp
    เมื่อ: 10th Jan 2010
    เข้าชม: 18529
    ให้คะแนน: 0.00 โหวต: 0

    คลิปแต่งรูป วีดีโอสอน แต่งรูป

    โดย: mindphp
    เมื่อ: 10th Jan 2010
    เข้าชม: 20091
    ให้คะแนน: 0.00 โหวต: 0

    Intel Core 2 Quad Q8400 - CPU Review

    โดย: mindphp
    เมื่อ: 25th Sep 2009
    เข้าชม: 22021
    ให้คะแนน: 3.00 โหวต: 1

    สนับสนุน Mindphp
    หน้าหลัก Mind php เข้าระบบ mind php เผยแพร่ข่าวสาร ดาวน์โหลด ติดต่อเรา สารบัญเว็บ กระดานข่าว php ค้นหา ลงโฆษณา ถาม/ตอบ
    BasLover.com
    ดิกชันนารี ไทย อังกฤษ
    http://เที่ยวฮ่องกง เพียง 11,900บาท--> {พูดคุยกีฬาไทย} insitejapan.com ThaiLandHotelForum hobbyinter.com [Download msn 9.0]


    การสร้างหน้าเอกสาร: 0.09 วินาที