การโจมตีของแฮ็กเกอร์บ่อยครั้งพิสูจน์ให้เห็นว่าความปลอดภัยของเว็บยังคงเป็นปัญหาที่สำคัญที่สุดสำหรับทุกคนที่ทำธุรกิจบนอินเทอร์เน็ต เซิร์ฟเวอร์มักตกเป็นเป้าหมายของการโจมตีเหล่านี้เนื่องจากข้อมูลที่เก็บไว้ นั่นคือเหตุผลที่จำเป็นต้องให้การปกป้องเซิร์ฟเวอร์ที่เชื่อถือได้
การรักษาความปลอดภัย PHP บน Apache
เริ่มโปรโตคอล "phpinfo ()" และตรวจสอบบรรทัดด้วยคำสั่ง "open_basedir" ด้วยคำสั่งนี้ คุณสามารถกำหนดไดเร็กทอรีฐานสำหรับผู้ใช้ทั้งหมด หลังจากตั้งค่านี้แล้ว พวกเขาจะไม่สามารถเปิดไฟล์นอกโฟลเดอร์รูทนี้หรือไดเรกทอรีย่อยได้อีกต่อไป เช่น "C: / Windows"
หากคุณมีไดเร็กทอรีโครงสร้างอื่น ให้กำหนดเป็นไดเร็กทอรีฐานด้วยคำสั่ง "www_root" อย่างไรก็ตาม ผู้ใช้รายหนึ่งจะสามารถอ่านและแก้ไขไฟล์ของผู้ใช้รายอื่นได้ สิ่งนี้จะต้องป้องกัน
ขออภัย ไม่มีตัวเลือกในไฟล์ php.ini ที่จะป้องกันไม่ให้ผู้ใช้รายหนึ่งเข้าถึงข้อมูลของผู้อื่นได้
แต่มีวิธีหนึ่งที่น่าสนใจหาก PHP ทำงานบน Apache ใน phpinfo () คุณจะพบสองคอลัมน์: ค่าหลักและค่าท้องถิ่น อันดับแรกคือค่าใน "php.ini" ค่าที่สองคือค่าที่กำหนดในขณะที่เซิร์ฟเวอร์กำลังทำงาน
หากค่าหลักมีค่าน้อยในแง่ของตัวเลข ก็สามารถเปลี่ยนแปลงได้ในสคริปต์โดยใช้คำสั่ง "ini_set ()" ค่านี้ใช้ไม่ได้กับ "open_basedir" เนื่องจากค่านี้มีความสำคัญต่อความปลอดภัย และมีเพียงผู้ดูแลระบบเท่านั้นที่สามารถเปลี่ยนแปลงได้
ใน Apache ไฟล์การกำหนดค่า "httpd.conf" สามารถระบุได้ในคู่มือภายใต้ค่าในเครื่อง "open_basedir"
การตั้งค่า PHP อื่นๆ
โดยการตั้งค่า "disable_functions" ในไฟล์ "php.ini" คุณต้องปิดใช้งานฟังก์ชันที่อาจเป็นอันตราย
คิดให้รอบคอบเกี่ยวกับทุกการกระทำที่คุณทำ การปิดใช้งานฟังก์ชันหมายความว่าบางสคริปต์จะหยุดทำงาน
คุณลักษณะบางอย่างเป็นอันตรายอย่างยิ่งและโดยทั่วไปไม่จำเป็นสำหรับการเขียนสคริปต์ อาจจำเป็นต้องใช้อย่างอื่นเพื่อวัตถุประสงค์เฉพาะ ดังนั้นจึงไม่ง่ายที่จะปิดการใช้งานฟังก์ชั่นทั้งหมดที่อาจเป็นอันตราย แต่ยังให้ชั่งน้ำหนักการตัดสินใจของคุณอย่างระมัดระวัง
อย่าเชื่อว่าฟังก์ชัน "safe_mode = On" เพียงอย่างเดียวจะเพียงพอ อาจปิดใช้งานคุณลักษณะที่มีประโยชน์บางอย่างและอาจไม่สามารถแก้ปัญหาด้านความปลอดภัยที่อธิบายไว้ข้างต้นได้ เซฟโหมดเลิกใช้แล้วใน PHP 5.3.0 และถูกลบใน PHP 6.0.0
ปัญหาการป้องกัน
มีข้อผิดพลาดหลายประการที่นักพัฒนาเว็บสามารถสร้างและทำให้เว็บไซต์ไม่ปลอดภัย
ตัวอย่างเช่น หากคุณสร้างบล็อกและอนุญาตให้ผู้ใช้อัปโหลดภาพ อาจเกิดอันตรายร้ายแรงเมื่อผู้เริ่มต้นเขียนโค้ด มีข้อผิดพลาดหลายประการที่โปรแกรมเมอร์สามารถทำได้ในหน้าเข้าสู่ระบบ ฯลฯ สิ่งหนึ่งที่พบได้บ่อยที่สุดคือการขาดการห้ามดาวน์โหลดอัลกอริธึมที่เป็นอันตราย
จุดสำคัญคือไซต์ที่ไม่ปลอดภัยหนึ่งไซต์บนโฮสต์สาธารณะเป็นภัยคุกคามต่อเซิร์ฟเวอร์ทั้งหมด นอกจากนี้ การติดตั้งโปรเจ็กต์โอเพ่นซอร์ส เช่น PHP-Nuke อาจมีความเสี่ยง มีการค้นพบช่องโหว่หลายประการในโครงการที่คล้ายคลึงกัน