การย้าย wp-config ภายนอกเว็บรูทมีประโยชน์จริงๆหรือไม่?


135

หนึ่งในการรักษาความปลอดภัยที่พบมากที่สุดปฏิบัติที่ดีที่สุดวันนี้ดูเหมือนว่าจะมีการเคลื่อนย้ายwp-config.phpไดเรกทอรีหนึ่งสูงกว่ารากเอกสาร vhost ของ ฉันไม่เคยพบคำอธิบายที่ดี แต่ฉันคิดว่ามันจะลดความเสี่ยงของสคริปต์ที่เป็นอันตรายหรือติดไวรัสภายใน webroot ไม่ให้อ่านรหัสผ่านฐานข้อมูล

แต่คุณยังต้องให้ WordPress เข้าถึงได้ดังนั้นคุณต้องขยายopen_basedirเพื่อรวมไดเรกทอรีด้านบนรูทเอกสาร ไม่เพียง แต่เอาชนะวัตถุประสงค์ทั้งหมดและยังอาจเปิดเผยบันทึกเซิร์ฟเวอร์ข้อมูลสำรองและอื่น ๆ แก่ผู้โจมตีด้วย

หรือเป็นเทคนิคที่พยายามป้องกันสถานการณ์ที่wp-config.phpจะแสดงเป็นข้อความธรรมดาสำหรับทุกคนที่ร้องขอhttp://example.com/wp-config.phpแทนที่จะถูกแยกวิเคราะห์โดยโปรแกรม PHP? ดูเหมือนว่าจะเกิดขึ้นได้ยากมากและจะไม่เกินความเสียเปรียบของการเปิดเผยบันทึก / การสำรองข้อมูล / ฯลฯ ไปยังคำขอ HTTP

อาจเป็นไปได้ไหมที่จะย้ายออกนอกรูทเอกสารในการตั้งค่าโฮสติ้งบางแบบโดยไม่ต้องเปิดเผยไฟล์อื่น แต่ไม่ใช่ในการตั้งค่าอื่น


สรุป: หลังจากมีการพูดคุยซ้ำ ๆ กันในเรื่องนี้สองคำตอบก็ปรากฏว่าฉันคิดว่าควรได้รับการพิจารณาว่าเป็นเรื่องจริง อาโรนอดัมส์ทำให้เป็นกรณีที่ดีในความโปรดปรานของการย้าย WP-config และ chrisguitarguymakes ดีกรณีกับมัน นี่คือคำตอบสองข้อที่คุณควรอ่านหากคุณยังใหม่ต่อเธรดและไม่ต้องการอ่านสิ่งทั้งหมด คำตอบอื่น ๆ อาจจะซ้ำซ้อนหรือไม่ถูกต้อง


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

6
ฉันไม่ทำอย่างนั้นกับ 99% ของคำถามที่ฉันถาม แต่ฉันคิดว่ามันเหมาะสมในกรณีเฉพาะนี้ มี 8 คำตอบสำหรับคำถามซึ่งบางคำถามมีความยาว / ค่อนข้างซับซ้อนและบางคำตอบนั้นมี upvotes มากมายแม้จะมีข้อมูลที่ไม่ถูกต้องหรือไม่ได้เพิ่มอะไรลงในการสนทนา ฉันคิดว่าการเสนอข้อสรุปแบบกึ่งมีสิทธิ์จะเป็นประโยชน์กับผู้ที่อ่านหัวข้อเป็นครั้งแรก และเช่นเคยผู้อ่านมีอิสระที่จะตัดสินใจเอง ฉันแค่เสนอความคิดเห็นของฉันในฐานะ OP
Ian Dunn

1
@ Kzqai: "ระบบการลงคะแนนแบบสแต็กแลกเปลี่ยน" เป็นกระบวนการทางประชาธิปไตยและผู้เข้าร่วมมักจะ 1) ไม่ชัดเจนเกี่ยวกับสิ่งที่ OP กำลังขอหรือพยายามแก้ไขและ 2) ไม่เข้าใจความถูกต้องของคำตอบใด ๆ หลังจากที่การตอบสนองได้รับการเล็ดรอดและการลงคะแนนเสียงได้มีประโยชน์มากกว่าที่จะให้ OP ชี้แจงการตอบสนองเหล่านั้นที่ให้ความช่วยเหลือ ท้ายที่สุด OP เป็นเพียงคนเดียวที่รู้และฉันหวังว่า OPs จะทำเช่นนั้น ใช่คน "โหวตคำตอบที่สมเหตุสมผลกับผู้คน" แต่ให้โอพีมีคำพูดสุดท้ายเกี่ยวกับสิ่งที่สมเหตุสมผลสำหรับเขา
Mac

คำตอบ:


127

คำตอบสั้น ๆ : ใช่

คำตอบสำหรับคำถามนี้เป็นใช่ชัดเจนและพูดอย่างอื่นคือการขาดความรับผิดชอบอย่างสมบูรณ์


คำตอบยาว: ตัวอย่างจริงของโลก

อนุญาตให้ฉันให้ตัวอย่างจริงจากเซิร์ฟเวอร์จริง ๆ ของฉันซึ่งการย้ายwp-config.phpภายนอกรูทเว็บเป็นการป้องกันไม่ให้เนื้อหาถูกจับโดยเฉพาะ

ข้อผิดพลาด:

ดูคำอธิบายของบั๊กใน Plesk (แก้ไขใน 11.0.9 MU # 27):

Plesk รีเซ็ตการส่งต่อโดเมนย่อยหลังจากซิงค์การสมัครกับแผนโฮสต์ (117199)

ฟังดูไม่เป็นอันตรายใช่มั้ย

นี่คือสิ่งที่ฉันทำเพื่อกระตุ้นจุดบกพร่องนี้:

  1. ตั้งค่าโดเมนย่อยเพื่อเปลี่ยนเส้นทางไปยัง URL อื่น (เช่นsite.staging.server.comไปที่site-staging.ssl.server.com)
  2. เปลี่ยนแผนการบริการของการสมัครรับข้อมูล (เช่นการกำหนดค่า PHP)

เมื่อฉันทำสิ่งนี้ Plesk รีเซ็ตโดเมนย่อยเป็นค่าเริ่มต้น: แสดงเนื้อหาของ~/httpdocs/โดยไม่ต้องใช้ล่าม (เช่น PHP)

และฉันไม่ได้สังเกต เป็นเวลาหลายสัปดาห์

ผลลัพธ์:

  • ด้วยwp-config.phpในรากเว็บขอให้/wp-config.phpจะได้ดาวน์โหลดไฟล์การกำหนดค่า WordPress
  • เมื่อwp-config.phpอยู่นอกเว็บรูทคำขอให้/wp-config.phpดาวน์โหลดไฟล์ที่ไม่เป็นอันตรายโดยสมบูรณ์ wp-config.phpไม่สามารถดาวน์โหลดไฟล์จริง

ดังนั้นจึงเห็นได้ชัดว่าการย้ายwp-config.phpนอกเว็บรากมีประโยชน์การรักษาความปลอดภัยโดยสุจริตในโลกจริง


วิธีการย้ายwp-config.phpไปยังตำแหน่งใด ๆ บนเซิร์ฟเวอร์ของคุณ

WordPress จะค้นหาไดเรกทอรีหนึ่งโดยอัตโนมัติเหนือการติดตั้ง WordPress ของคุณสำหรับwp-config.phpไฟล์ของคุณดังนั้นถ้านั่นคือสิ่งที่คุณได้ย้ายคุณทำเสร็จแล้ว!

แต่ถ้าคุณย้ายมันไปที่อื่นล่ะ ง่าย. สร้างใหม่wp-config.phpในไดเรกทอรี WordPress ด้วยรหัสต่อไปนี้:

<?php

/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
    define('ABSPATH', dirname(__FILE__) . '/');

/** Location of your WordPress configuration. */
require_once(ABSPATH . '../phpdocs/wp-config.php');

(อย่าลืมเปลี่ยนพา ธ ด้านบนเป็นพา ธ ที่แท้จริงของwp-config.phpไฟล์ที่ย้ายไป)

หากคุณพบปัญหาopen_basedirเพียงเพิ่มเส้นทางใหม่ไปยังopen_basedirคำสั่งในการกำหนดค่า PHP ของคุณ:

open_basedir = "/var/www/vhosts/example.com/httpdocs/;/var/www/vhosts/example.com/phpdocs/;/tmp/"

แค่นั้นแหละ!


การแยกข้อโต้แย้งออกจากกัน

ทุกข้อโต้แย้งต่อการเคลื่อนย้ายwp-config.phpนอกรูทเว็บจะขึ้นอยู่กับสมมติฐานที่ผิดพลาด

อาร์กิวเมนต์ที่ 1: ถ้า PHP ถูกปิดการใช้งานพวกเขาอยู่แล้ว

วิธีเดียวที่ใครบางคนจะเห็นเนื้อหาของ [ wp-config.php] คือถ้าพวกเขาหลีกเลี่ยงเซิร์ฟเวอร์ล่าม PHP ของคุณ ... ถ้าเกิดขึ้นคุณมีปัญหาอยู่แล้ว: พวกเขามีการเข้าถึงเซิร์ฟเวอร์ของคุณโดยตรง

เท็จ : สถานการณ์ที่ฉันอธิบายข้างต้นเป็นผลมาจากการกำหนดค่าผิดพลาดไม่ใช่การบุกรุก

อาร์กิวเมนต์ที่ 2: การปิดใช้งาน PHP โดยบังเอิญนั้นหายากและไม่สำคัญเลย

หากผู้โจมตีสามารถเข้าถึงตัวจัดการ PHP ได้อย่างเพียงพอคุณก็กำลังถูกโจมตีอยู่ การเปลี่ยนแปลงโดยบังเอิญนั้นหายากมากในประสบการณ์ของฉันและในกรณีนี้มันง่ายที่จะเปลี่ยนรหัสผ่าน

เท็จ : สถานการณ์ที่ฉันอธิบายไว้ข้างต้นเป็นผลมาจากข้อผิดพลาดในซอฟต์แวร์เซิร์ฟเวอร์ทั่วไปที่มีผลต่อการกำหนดค่าเซิร์ฟเวอร์ทั่วไป นี่คือ "หายาก" แทบจะไม่ (และนอกจากนี้ความปลอดภัยหมายถึงการกังวลเกี่ยวกับสถานการณ์ที่หายาก)

WTF : การเปลี่ยนรหัสผ่านหลังจากการบุกรุกช่วยแทบจะไม่ได้รับข้อมูลที่ละเอียดอ่อนระหว่างการบุกรุก จริง ๆ แล้วเรายังคิดว่า WordPress ใช้สำหรับบล็อกชั่วคราวเท่านั้นและผู้โจมตีนั้นสนใจในการทำให้เป็นรูปเป็นร่างเท่านั้น? มากังวลเกี่ยวกับการปกป้องเซิร์ฟเวอร์ของเราไม่ใช่แค่คืนค่าหลังจากที่ใครบางคนเข้ามา

อาร์กิวเมนต์ 3: การปฏิเสธการเข้าถึงwp-config.phpดีพอ

คุณสามารถ จำกัด การเข้าถึงไฟล์ผ่านการกำหนดค่าโฮสต์เสมือนของคุณหรือ .htaccess- จำกัด การเข้าถึงไฟล์ภายนอกได้อย่างมีประสิทธิภาพในลักษณะเดียวกับการย้ายนอกรูทเอกสาร

เท็จ : ลองจินตนาการว่าค่าเริ่มต้นของเซิร์ฟเวอร์ของคุณสำหรับโฮสต์เสมือนคือ: ไม่มี PHP, ไม่.htaccess, allow from all(แทบจะผิดปกติในสภาพแวดล้อมการใช้งานจริง) หากการกำหนดค่าของคุณถูกรีเซ็ตในระหว่างการดำเนินการตามปกติเช่นการอัปเดตพาเนลทุกอย่างจะกลับสู่สถานะเริ่มต้นและคุณจะได้รับการเปิดเผย

หากรูปแบบความปลอดภัยของคุณล้มเหลวเมื่อการตั้งค่าถูกรีเซ็ตเป็นค่าเริ่มต้นโดยไม่ตั้งใจคุณต้องมีความปลอดภัยมากขึ้น

WTF : ทำไมทุกคนจะแนะนำการรักษาความปลอดภัยเลเยอร์น้อยลงโดยเฉพาะ? รถยนต์ราคาแพงไม่เพียง แต่มีกุญแจเท่านั้น พวกเขายังมีการเตือนภัย immobilizers และตัวติดตาม GPS หากสิ่งที่ควรค่าแก่การปกป้องทำถูกต้อง

อาร์กิวเมนต์ที่ 4: การเข้าถึงโดยไม่ได้รับอนุญาตwp-config.phpไม่ใช่เรื่องใหญ่

ข้อมูลฐานข้อมูลเป็นสิ่งที่ละเอียดอ่อนเพียงอย่างเดียวใน [ wp-config.php]

FALSE : คีย์การรับรองความถูกต้องและเกลือสามารถใช้ในการโจมตีที่อาจเกิดการแย่งชิงจำนวนเท่าใดก็ได้

WTF : แม้ว่าข้อมูลรับรองฐานข้อมูลจะเป็นเพียงสิ่งเดียวในwp-config.phpนั้นคุณควรกลัวผู้โจมตีที่จะได้รับข้อมูล

อาร์กิวเมนต์ 5: การย้ายwp-config.phpภายนอกเว็บรูททำให้เซิร์ฟเวอร์มีความปลอดภัยน้อยลง

คุณยังต้องให้การเข้าถึง WordPress [ wp-config.php] ดังนั้นคุณต้องขยายopen_basedirเพื่อรวมไดเรกทอรีด้านบนรูทเอกสาร

FALSE : สมมติว่าwp-config.phpอยู่ในhttpdocs/เพียงแค่ย้ายไป../phpdocs/และกำหนดopen_basedirให้มีเฉพาะและhttpdocs/ phpdocs/ตัวอย่างเช่น

open_basedir = "/var/www/vhosts/example.com/httpdocs/;/var/www/vhosts/example.com/phpdocs/;/tmp/"

(อย่าลืมรวม/tmp/หรือtmp/ไดเรกทอรีผู้ใช้ของคุณเสมอหากคุณมี)


สรุป: แฟ้มการกำหนดค่าควรเสมอเสมอจะอยู่นอกรากเว็บ

ถ้าคุณใส่ใจเรื่องความปลอดภัยคุณจะย้ายwp-config.phpออกไปนอกรูทเว็บของคุณ


1
หากคุณมีข้อผิดพลาดใน Apache, Linux หรือสมองของผู้ดูแลระบบคุณเป็นขนมปังในกรณีใด ๆ ในสถานการณ์ของคุณคุณไม่สามารถอธิบายได้ว่าเหตุใดจึงมีความเป็นไปได้มากกว่าที่การกำหนดค่าผิดจะเกิดขึ้นที่รูทของเว็บไซต์จากนั้นจึงอยู่ในตำแหน่งอื่นบนเซิร์ฟเวอร์ apache ที่กำหนดค่าผิดพลาดอาจเข้าถึง /../config.php ได้ง่ายเหมือน /config.php
ทำเครื่องหมาย Kaplun

1
คุณไม่ได้เป็น "ขนมปังปิ้งในทุกกรณี" มีความเป็นไปได้สูงมากและสามารถพิสูจน์ได้ว่ามีข้อผิดพลาดซึ่งจะส่งผลให้เว็บรูทถูกรีเซ็ตเป็นค่าเริ่มต้นซึ่งในกรณีนี้คุณไม่ใช่ "ขนมปังปิ้ง" - คุณwp-config.phpยังปลอดภัยอยู่ และมันก็เป็นไม่น่าจะเป็นอย่างมาก - มากเพื่อที่จะเป็นหลักเป็นไปไม่ได้ - wp-config.phpว่าข้อผิดพลาดจะส่งผลให้รากเว็บเป็นพลตั้งค่าไปยังไดเรกทอรีที่แน่นอนในที่ที่คุณวางของคุณ
Aaron Adams

1
@IanDunn ที่จริงแล้วมันง่ายที่จะย้ายwp-config.phpไปยังตำแหน่งที่ต้องการ ฉันได้เพิ่มเส้นทางไปยังคำตอบของฉัน; มันเกี่ยวข้องกับการสร้างจำลองwp-config.phpในไดเรกทอรี WordPress โดยอ้างอิงตำแหน่งของจริง
Aaron Adams

3
การตอบสนองนี้เป็นจุด บริษัท ที่ให้บริการเว็บโฮสติ้งของฉันมีอาร์เรย์ไดรฟ์ที่ล้มเหลว เมื่อมีการพูด & ทำพวกเขาจะกู้คืนระบบบางส่วน ปรากฎว่าพวกเขาใช้ชุดของสคริปต์ cPanel / WHM เพื่อสร้างไฟล์ httpd.conf ที่ไม่ถูกต้อง โชคดีที่ฉันมี wp-config.php อยู่นอกรูท doc แล้ว แต่ถ้าฉันไม่มีเนื้อหาก็อยู่ที่นั่นเพื่อถ่าย ใช่หายาก แต่ดังที่ระบุไว้ว่ากรณีที่หายากคือสิ่งที่คุณต้องกังวล นอกจากนี้การกล่าวว่า "ชาวบ้านที่มีจิตใจเรียบง่ายจะหายไป" เป็นข้อแก้ตัวที่แย่สำหรับการมีความปลอดภัยน้อยกว่า
แลนซ์คลีฟแลนด์

1
นั่นคือประเด็นที่ดีแอรอน ฉันยังสงสัยเล็กน้อยอยู่กับเหตุผลที่ฉันพูดถึงในกระทู้นี้และความคิดเห็นอื่น ๆ แต่คุณเชื่อฉันว่ามันมีบุญมากกว่าที่ฉันคิดไว้ในตอนแรก อย่างน้อยที่สุดถ้าทำอย่างถูกต้องฉันไม่คิดว่ามันจะทำร้ายอะไร ฉันยังคงมีปัญหากับความจริงที่ว่าคนส่วนใหญ่ที่ส่งเสริมมันดูเหมือนจะไม่เข้าใจสาเหตุของมันและวิธีที่พวกเขาสอนมันมักจะนำไปสู่ไดเรกทอรีด้านบน httpdocs ถูกเปิดเผย แต่คุณได้ช่วยแก้ไขปัญหาเหล่านั้นใน คำตอบของคุณ.
Ian Dunn

40

สิ่งที่ใหญ่ที่สุดคือwp-config.phpมีข้อมูลที่ละเอียดอ่อน: ชื่อผู้ใช้ / รหัสผ่านฐานข้อมูลของคุณเป็นต้น

ดังนั้นความคิด: ย้ายออกนอกรูทเอกสารและคุณไม่ต้องกังวลอะไรเลย ผู้โจมตีจะไม่สามารถเข้าถึงไฟล์นั้นจากแหล่งภายนอกได้

อย่างไรก็ตามนี่คือการขัดถู: wp-config.phpห้ามพิมพ์สิ่งใด ๆ ลงบนหน้าจอเลย เพียงกำหนดค่าคงที่ต่างๆที่ใช้ตลอดการติดตั้ง WP ของคุณ ดังนั้นวิธีเดียวที่ใครบางคนจะเห็นเนื้อหาของไฟล์นั้นคือถ้าพวกเขาหลีกเลี่ยงเซิร์ฟเวอร์ล่าม PHP ของคุณ - พวกเขาได้รับ.phpไฟล์ที่จะแสดงเป็นข้อความธรรมดา หากสิ่งนั้นเกิดขึ้นแสดงว่าคุณมีปัญหาอยู่แล้วพวกเขามีการเข้าถึงเซิร์ฟเวอร์ของคุณโดยตรง (และอาจเป็นสิทธิ์การใช้งานรูท) และสามารถทำสิ่งที่พวกเขาต้องการ

ฉันจะไปข้างหน้าและบอกว่าไม่มีประโยชน์ที่จะย้ายwp-configออกนอกรูทเอกสารจากมุมมองด้านความปลอดภัย - ด้วยเหตุผลข้างต้นและสิ่งเหล่านี้:

  1. คุณสามารถ จำกัด การเข้าถึงไฟล์ผ่านการกำหนดค่าโฮสต์เสมือนหรือ. htaccess - จำกัด การเข้าถึงไฟล์ภายนอกในลักษณะเดียวกับการย้ายนอกรูทเอกสาร
  2. คุณสามารถมั่นใจได้ว่าสิทธิ์ของไฟล์นั้นเข้มงวดในwp-configการป้องกันผู้ใช้โดยไม่มีสิทธิ์เพียงพอจากการอ่านไฟล์แม้ว่าพวกเขาจะได้รับ (จำกัด ) การเข้าถึงเซิร์ฟเวอร์ของคุณผ่าน SSH
  3. ข้อมูลที่ละเอียดอ่อนการตั้งค่าฐานข้อมูลของคุณจะใช้ในเว็บไซต์เดียวเท่านั้น ดังนั้นแม้ว่าผู้โจมตีจะสามารถเข้าถึงข้อมูลดังกล่าวได้ไซต์เพียงไซต์เดียวที่จะมีผลกระทบคือการติดตั้ง WordPress ที่wp-config.phpเป็นของไฟล์ ที่สำคัญกว่านั้นคือผู้ใช้ฐานข้อมูลมีสิทธิ์อ่านและเขียนไปยังฐานข้อมูลของการติดตั้ง WP นั้นและไม่มีสิ่งอื่นใด - ไม่สามารถเข้าถึงเพื่อให้สิทธิ์ผู้ใช้รายอื่น ในความหมายอื่น ๆ หากผู้โจมตีเข้าถึงฐานข้อมูลของคุณได้ก็เป็นเรื่องของการกู้คืนจากการสำรองข้อมูล (ดูจุดที่ 4) และการเปลี่ยนผู้ใช้ฐานข้อมูล
  4. คุณสำรองข้อมูลบ่อยครั้ง มักจะเป็นคำที่เกี่ยวข้อง: หากคุณโพสต์บทความ 20 รายการทุกวันคุณควรสำรองข้อมูลทุกวันหรือทุก ๆ สองสามวัน หากคุณโพสต์สัปดาห์ละครั้งการสำรองข้อมูลสัปดาห์ละครั้งก็เพียงพอแล้ว
  5. คุณมีเว็บไซต์ของคุณภายใต้การควบคุมเวอร์ชัน ( เช่นนี้ ) ซึ่งหมายความว่าแม้ว่าผู้โจมตีจะสามารถเข้าถึงได้คุณสามารถตรวจจับการเปลี่ยนแปลงรหัสและย้อนกลับได้ หากผู้โจมตีเข้าถึงwp-configได้พวกเขาอาจทำตัวยุ่งกับสิ่งอื่น
  6. ข้อมูลฐานข้อมูลเป็นสิ่งที่อ่อนไหวเพียงอย่างเดียวwp-configและเนื่องจากคุณระมัดระวัง (ดูข้อ 3 และ 4) จึงไม่ใช่เรื่องใหญ่ เกลือและสิ่งนั้นสามารถเปลี่ยนแปลงได้ตลอดเวลา สิ่งเดียวที่เกิดขึ้นคือมันทำให้การล็อกอินคุกกี้ของผู้ใช้เป็นโมฆะ

สำหรับฉันแล้วการย้ายwp-configออกจากรากเอกสารทำให้เกิดความปลอดภัยโดยความสับสนซึ่งเป็นคนฟางมาก


2
ใช่นั่นเป็นสิ่งที่ฉันคิด ฉันดีใจที่รู้ว่าฉันไม่ใช่คนเดียว :) ฉันอยากจะทิ้งคำถามไว้อีกหนึ่งหรือสองวันในกรณีที่ใครบางคนมีข้อโต้แย้งที่น่าสนใจ แต่จนถึงตอนนี้ดูเหมือนว่าคำตอบที่ถูกต้อง ฉัน.
Ian Dunn

3
การแก้ไขเล็กน้อย: ไม่มีประโยชน์ด้านความปลอดภัยในการย้ายไฟล์ wp-config.php ออกจากรูทเอกสาร มีประโยชน์อื่น ๆ ซึ่งไม่เกี่ยวข้องกับความปลอดภัยและใช้กับการตั้งค่าที่ผิดปกติเท่านั้น
อ็อตโต

4
เพื่อให้ได้มาซึ่งตำนานที่เป็นไปได้ debunked - มันเป็นไปไม่ได้มีบางอย่างผิดปกติฝั่งเซิร์ฟเวอร์ - ในกรณีที่รหัส php ถูกพิมพ์ไปที่หน้าจอ?
Stephen Harris

3
@IanDunn แต่คำตอบที่ดีที่สุดสนับสนุนให้ย้ายมันออกมาจากลำดับชั้นทั้งหมดโดยแยกออกเป็นส่วน ๆ ซึ่งจะจัดการกับความกังวลของคุณเกี่ยวกับบันทึกและอื่น ๆ คำตอบนี้ไม่ได้ตอบคำถามของคุณว่า มาตรการรักษาความปลอดภัยอื่น ๆ นั้นมีประโยชน์และพยายามรับรองว่าคุณจะไม่กังวลเกี่ยวกับความปลอดภัย ทุกคนคิดว่าบ้านของพวกเขาปลอดภัยจนกว่าพวกเขาจะถูกขโมย หลังจากนั้นพวกเขาทำงานได้ดีขึ้น บางคนไม่เคยถูกขโมยแม้ว่าความปลอดภัยของพวกเขาจะต่ำ แต่ก็ไม่ได้หมายความว่าเป็นคำแนะนำที่ดีที่จะมีความปลอดภัยต่ำ
AndrewC

4
สิ่งเหล่านี้เป็นจุดที่ดี แต่ปัญหาที่ใหญ่ที่สุดของฉันเกี่ยวกับสิ่งเหล่านี้คือข้อโต้แย้งที่แก้ไขได้ไม่ใช่ข้อโต้แย้งเชิงป้องกัน สิ่งเหล่านี้ส่วนใหญ่พูดถึงว่ามันไม่ใช่เรื่องใหญ่เพราะ A) คุณคิดว่ามีคนจัดการผู้ใช้ db อย่างถูกต้องและ B) คุณมีการสำรองข้อมูล จะเกิดอะไรขึ้นเมื่อคุณใช้งาน woocommerce หรือจัดเก็บข้อมูลที่ละเอียดอ่อนในฐานข้อมูลของคุณ ถ้าอย่างนั้นคุณก็เมา
Goldentoa11

25

ฉันคิดว่าแม็กซ์เป็นคำตอบที่มีความรู้และนั่นคือด้านหนึ่งของเรื่องราว WordPress Codex มีคำแนะนำเพิ่มเติม :

ตรวจสอบให้แน่ใจว่ามีเพียงคุณ (และเว็บเซิร์ฟเวอร์) เท่านั้นที่สามารถอ่านไฟล์นี้ (โดยทั่วไปหมายถึงการอนุญาต 400 หรือ 440)

หากคุณใช้เซิร์ฟเวอร์ที่มี. htaccess คุณสามารถนำไฟล์นี้ไปไว้ในไฟล์นั้น (ที่ด้านบนสุด) เพื่อปฏิเสธการเข้าถึงการท่องเว็บของใครก็ตาม:

<files wp-config.php>
order allow,deny
deny from all
</files>

โปรดทราบว่าการตั้งค่าสิทธิ์ 400 หรือ 440 ใน wp-config.php อาจป้องกันไม่ให้ปลั๊กอินเขียนหรือแก้ไข เช่นกรณีของแท้จะเป็นปลั๊กอินแคช (W3 Total Cache, WP Super Cache เป็นต้น) ในกรณีนี้ฉันจะไปกับ 600 (สิทธิ์เริ่มต้นสำหรับไฟล์ใน/home/userไดเรกทอรี)


5
แม็กซ์คือคำตอบ +1 กับเขา ฉันแค่พยายามที่จะขยาย
its_me

1
Aahan Krish คุณตีตาวัว ขอบคุณสำหรับการเพิ่ม
Max Yudin

ดังนั้นหากคุณใช้ htaccess ปฏิเสธคำขอ HTTP ไปยัง wp-config.php นั่นไม่ได้ผลเช่นเดียวกับการย้ายออกนอกรูทเอกสาร แต่ไม่มีการเปิดเผยบันทึก / สำรอง / etc?
Ian Dunn

4
@IanDunn ขึ้นอยู่กับว่า root ของเอกสารคืออะไร - (1)ถ้า wordpress โฮสต์อยู่ในไดเรกทอรีการpublic_htmlย้ายwp-config.phpออกนอกไดเรกทอรีหมายความว่ามันจะอยู่ในpublic_htmlไดเรกทอรี ในกรณีนี้คุณจะต้องใช้กฎ htaccess เพื่อปฏิเสธคำขอ HTTP ไปยัง wp-config.php (2)หากติดตั้ง WordPress โดยตรงภายใต้public_htmlไดเรกทอรีหนึ่งระดับขึ้น => คุณจะย้ายไปไว้ใน/home/userไดเรกทอรี ในกรณีนี้คุณค่อนข้างปลอดภัยเพราะไฟล์อยู่นอกรูทเอกสาร คุณยังคงสามารถตั้งค่าการอนุญาตของไฟล์เป็น 600 (หรือแม้แต่เข้มงวด 440 หรือ 400)
its_me

@IanDunn อย่างที่ฉันพูดนี่เป็นความเข้าใจพื้นฐานของฉันและฉันไม่มีผู้เชี่ยวชาญด้านความปลอดภัย :)
its_me

17

บางคนขอให้เราส่องแสงและฉันจะตอบกลับที่นี่

ใช่มีประโยชน์ด้านความปลอดภัยจากการแยก wp-config.php ของคุณจากไดเรกทอรีรากของเว็บไซต์ของคุณ

1- ถ้าตัวจัดการ PHP ของคุณเสียหรือแก้ไขไม่ทางใดก็ทางหนึ่งข้อมูลฐานข้อมูลของคุณจะไม่ถูกเปิดเผย และใช่ฉันเห็นสิ่งนี้เกิดขึ้นสองสามครั้งในโฮสต์ที่ใช้ร่วมกันระหว่างการอัปเดตเซิร์ฟเวอร์ ใช่ไซต์จะใช้งานไม่ได้ในช่วงเวลานั้น แต่รหัสผ่านของคุณจะยังคงอยู่

2- แนวทางปฏิบัติที่ดีที่สุดแนะนำให้แยกไฟล์กำหนดค่าออกจากไฟล์ข้อมูลเสมอ ใช่มันเป็นเรื่องยากที่จะทำเช่นนั้นด้วย WordPress (หรือเว็บแอปใด ๆ ) แต่การขยับขึ้นมานั้นค่อนข้างโดดเดี่ยว

3- จำช่องโหว่ของ PHP-CGI ได้ที่ไหนบ้างที่ใคร ๆ ก็สามารถส่งผ่านได้? -s ไปยังไฟล์และดูซอร์ส http://www.kb.cert.org/vuls/id/520827

ในตอนท้ายรายละเอียดเล็ก ๆ น้อย ๆ แต่ช่วยลดความเสี่ยงได้ พิเศษถ้าคุณอยู่ในสภาพแวดล้อมที่ใช้ร่วมกันที่ทุกคนสามารถเข้าถึงฐานข้อมูลของคุณ (ทั้งหมดที่พวกเขาต้องการคือผู้ใช้ / ผ่าน)

แต่อย่าปล่อยให้สิ่งรบกวน (การปรับให้เหมาะสมก่อนกำหนด) เข้าหาสิ่งที่จำเป็นจริงๆในการทำให้ไซต์ปลอดภัยอย่างเหมาะสม:

1- หมั่นอัพเดทอยู่เสมอ

2- ใช้รหัสผ่านที่คาดเดายาก

3- จำกัด การเข้าถึง (ผ่านการอนุญาต) เรามีโพสต์เกี่ยวกับที่นี่:

http://blog.sucuri.net/2012/08/wordpress-security-cutting-through-the-bs.html

ขอบคุณ


เฮ้พวกขอบคุณที่เพิ่มความคิดของคุณ ฉันคิดว่าเราได้รับความนิยมมากในประเด็นเหล่านี้ในคำตอบอื่น ๆ และความคิดเห็นของพวกเขา 1) ใช่มันเป็นไปได้ แต่หายาก 2) ใช่มันมีประโยชน์ แต่ก็มีน้อย 3) ใช่มันเป็นไปได้ แต่ช่องโหว่ประเภทนั้นไม่น่าจะเกิดขึ้นอีกและการป้องกันมันก็เหมือนกับการเล่น whac-a-mole หรือทำให้ผู้คนถอดรองเท้าออกจากสนามบินเพราะคนโง่บางคนซ่อนระเบิดในตัวเขา รองเท้าครั้งเดียว เป็นการตอบสนองและไม่น่าจะได้รับประโยชน์ในอนาคต
Ian Dunn

ในการอภิปรายที่หลากหลายคำถามนั้นได้รับการขัดเกลาจาก "มีประโยชน์อะไรบ้าง" ถึง "ตกลงมีประโยชน์บางอย่าง แต่พวกเขามีค่าเกินความเสี่ยงหรือไม่" ความเสี่ยงหลักที่ฉันอ้างถึงคือความจริงที่ว่าคุณต้องขยายขอบเขต openbase_dir เพื่อให้สคริปต์การเข้าถึง PHP นอกรูทเว็บ การตั้งค่าโฮสติ้งจำนวนมาก - รวมถึงการใช้ Plesk ซึ่งเป็นจำนวนมาก - บันทึกการจัดเก็บการสำรองข้อมูลพื้นที่ FTP ส่วนตัวที่ควรแยกออกจากเว็บรูท ฯลฯ ในไดเรกทอรีด้านบนรูทเว็บ ดังนั้นการให้ PHP เข้าถึงไดเรกทอรีนั้นอาจเป็นช่องโหว่ที่ร้ายแรง
Ian Dunn

15

ใช่แน่นอน

เมื่อคุณย้ายwp-config.phpนอกไดเรกทอรีสาธารณะคุณปกป้องจากการอ่านโดยใช้เบราว์เซอร์เมื่อตัวจัดการ php ได้รับอันตราย (หรือตั้งใจ!) เปลี่ยนไป

การอ่านเข้าสู่ระบบฐานข้อมูล / รหัสผ่านของคุณเป็นไปได้เมื่อเซิร์ฟเวอร์ติดยากผ่านความผิดของผู้ดูแลอ่อนแอ ชาร์จผู้ดูแลระบบให้ถูกต้องและได้รับโฮสต์เซิร์ฟเวอร์ที่มีแนวโน้มดีขึ้นและเชื่อถือได้มากขึ้น แม้ว่านั่นอาจจะแพงกว่า


4
หากผู้โจมตีสามารถเข้าถึงตัวจัดการ PHP ได้อย่างเพียงพอคุณก็กำลังถูกโจมตีอยู่ การเปลี่ยนแปลงโดยบังเอิญนั้นหายากมากในประสบการณ์ของฉันและในกรณีนี้มันง่ายที่จะเปลี่ยนรหัสผ่าน ในแง่ของสิ่งเหล่านั้นคุณยังคิดว่ามันคุ้มค่าที่จะเสี่ยงต่อการเปิดเผยล็อก / สำรอง / ฯลฯ เนื่องจากopen_basedirขอบเขตที่ขยายออกหรือไม่
Ian Dunn

1
ฉันไม่เคยมี-rwxการเข้าถึงไดเรกทอรีที่สูงกว่าดังนั้นผมจึงไม่เคยคุ้นเคยกับpublic_html open_basedirบันทึกของฉันอยู่ในไดเรกทอรีแยกต่างหากดังนั้นการสำรองข้อมูลจึงทำได้ ฉันคิดว่านั่นคือสิ่งที่โฮสต์ที่ใช้ร่วมกันทั้งหมดมี
Max Yudin

โฮสต์แตกต่างกันอย่างดุเดือด ไม่มีโครงสร้างไดเรกทอรีมาตรฐาน Plesk (หนึ่งในแผงควบคุมที่ได้รับความนิยมมากที่สุดสำหรับโฮสต์ที่ใช้ร่วมกัน) วางบันทึกใน /var/www/vhosts/example.com/statistics/logs และรูทเอกสารคือ /var/www/vhosts/example.com/httpdocs การย้าย wp-config.php ไปที่ /var/www/vhosts/example.com/wp-config.php จะต้องให้สคริปต์เข้าถึงไดเรกทอรี example.com ทั้งหมด
Ian Dunn

เพียงแค่อยากรู้อยากเห็นบันทึกและการสำรองข้อมูลของคุณอยู่ที่ไหนถ้าไม่อยู่ในไดเรกทอรีของโดเมน พวกเขาเข้าถึงได้ผ่านแผงควบคุมหรืออะไร?
Ian Dunn

1
ใช่ผ่านแผงควบคุม
Max Yudin

8

ฉันแค่ต้องการชี้แจงให้ชัดเจนว่าการย้ายไฟล์ wp_config.php ของคุณนั้นไม่ได้แปลว่าคุณต้องย้ายมันไปยังไดเรคทอรีหลักเท่านั้น สมมติว่าคุณมีโครงสร้างเช่น / root / html ที่ html มีการติดตั้ง WP และเนื้อหา HTML ทั้งหมดของคุณ แทนที่จะย้าย wp_config.php ไปที่ / root คุณสามารถย้ายไปที่ / root / secure ... ซึ่งอยู่นอกไดเรกทอรี html และไม่อยู่ในไดเรกทอรีรากของเซิร์ฟเวอร์ แน่นอนคุณจะต้องแน่ใจว่า php สามารถทำงานในโฟลเดอร์ที่ปลอดภัยนี้ได้เช่นกัน

เนื่องจาก WP ไม่สามารถกำหนดค่าให้ค้นหา wp_config.php ในโฟลเดอร์ sibling เช่น / root / secure คุณต้องทำขั้นตอนเพิ่มเติม ฉันออกจาก wp_config.php ใน / root / html และตัดส่วนที่ละเอียดอ่อนออก (การเข้าสู่ระบบฐานข้อมูล, เกลือ, คำนำหน้าตาราง) และย้ายไปยังไฟล์แยกต่างหากที่เรียกว่า config.php จากนั้นคุณเพิ่มincludeคำสั่งPHP ลงใน wp_config.php ของคุณดังนี้:include('/home/content/path/to/root/secure/config.php');

นี่คือสิ่งที่ฉันได้ทำในการตั้งค่าของฉัน ตอนนี้จากการอภิปรายข้างต้นฉันยังคงประเมินว่ามันจำเป็นหรือเป็นความคิดที่ดี แต่ฉันแค่อยากจะเพิ่มว่าการกำหนดค่าข้างต้นเป็นไปได้ มันจะไม่เปิดเผยข้อมูลสำรองและไฟล์รูทอื่น ๆ ของคุณและตราบใดที่โฟลเดอร์ความปลอดภัยไม่ได้ตั้งค่าด้วย URL สาธารณะของตัวเองมันจะไม่สามารถเรียกดูได้

นอกจากนี้คุณสามารถ จำกัด การเข้าถึงโฟลเดอร์ที่ปลอดภัยโดยการสร้างไฟล์. htaccess ในนั้นด้วย:

order deny,allow
deny from all
allow from 127.0.0.1

เฮ้ไมเคิลขอบคุณสำหรับการแบ่งปัน คุณลองใช้งานในสภาพแวดล้อมจริงเพื่อตรวจสอบว่ามันใช้งานได้จริงหรือไม่? ผมคิดว่าopen_basedirคำสั่งจะใช้เวลาทั้งต้นไม้ดังนั้นเพื่อให้สามารถเข้าถึง/root/secureจาก/root/htmlที่คุณจะต้องตั้งไปopen_basedir /root
Ian Dunn

เพื่อให้ความคิดของคุณใช้งานได้ฉันคิดว่าคุณจะต้องตั้งค่าโครงสร้างไดเรกทอรีเช่น/root/httpdocs/config/accessibleที่httpdocsเก็บบันทึกข้อมูลสำรอง ฯลฯ configถือwp-config.phpและaccessibleถือ WordPress และเนื้อหาทั้งหมด คุณต้องแก้ไขการตั้งค่า vhost และอื่น ๆ เพื่อทำการแมปเอกสารaccessibleใหม่ ฉันไม่เห็นประโยชน์ใด ๆ เลยเพียงแค่ปฏิเสธการร้องขอ HTTP ไปยัง wp-config ในการตั้งค่าเริ่มต้น
Ian Dunn

1
ตามphp.net/manual/en/ini.core.php#ini.open-basedir : "ใน Windows ให้แยกไดเรกทอรีด้วยเครื่องหมายอัฒภาคบนระบบอื่น ๆ ให้แยกไดเรกทอรีด้วยเครื่องหมายโคลอนในฐานะโมดูล Apache ตอนนี้พา ธ open_basedir จากไดเรกทอรีแม่จะได้รับการสืบทอดโดยอัตโนมัติ " ดังนั้นคุณสามารถตั้งค่าหลายไดเรกทอรีโดยไม่จำเป็นต้องให้อยู่ในทรีเดียว
Michael

ฉันเพิ่งทดสอบมันและดูเหมือนว่าคุณพูดถูก ฉันยังไม่แน่ใจว่าสิ่งนี้มีประโยชน์ด้านความปลอดภัยมากกว่าเพียงแค่ปฏิเสธการเข้าถึงไฟล์ผ่าน Apache แต่
Ian Dunn

@IanDunn พูดได้ดีในคำตอบของ Aaron Adams
AndrewC

4

มีธีมและปลั๊กอินที่เขียนไม่ดีจำนวนมากซึ่งทำให้ atatckers สามารถฉีดโค้ด (จำปัญหาความปลอดภัยกับ Timthumb) ถ้าฉันจะเป็นผู้โจมตีทำไมฉันต้องค้นหา wp-config.php เพียงฉีดรหัสนี้:

var_dump( DB_NAME, DB_USER, DB_PASSWORD );

คุณสามารถลองซ่อน wp-config.php ของคุณ ตราบใดที่ WordPress ทำให้ข้อมูลที่อ่อนไหวเข้าถึงได้ทั่วโลกนั้นไม่มีประโยชน์ที่จะซ่อน wp-config.php

ส่วนที่ไม่ดีใน wp-config.php ไม่ได้เก็บข้อมูลที่ละเอียดอ่อน ส่วนที่ไม่ดีคือการกำหนดข้อมูลที่สำคัญเป็นค่าคงที่การเข้าถึงทั่วโลก

ปรับปรุง

ฉันต้องการที่จะชี้แจงปัญหาด้วยdefine()และทำไมมันเป็นความคิดที่ไม่ดีในการกำหนดข้อมูลที่ละเอียดอ่อนเป็นค่าคงที่ทั่วโลก

มีหลายวิธีในการโจมตีเว็บไซต์ การฉีดสคริปต์เป็นวิธีเดียวที่จะโจมตีเว็บไซต์

การสันนิษฐานว่าเซิร์ฟเวอร์มีช่องโหว่ที่ทำให้ผู้โจมตีเข้าถึงการถ่ายโอนข้อมูลหน่วยความจำ ผู้โจมตีจะพบหน่วยความจำดัมพ์ค่าทั้งหมดของตัวแปรทั้งหมด หากคุณกำหนดค่าคงที่การเข้าถึงทั่วโลกจะต้องอยู่ในหน่วยความจำจนกว่าสคริปต์จะสิ้นสุดลง การสร้างตัวแปรแทนค่าคงที่มีโอกาสดีที่ตัวรวบรวมขยะจะเขียนทับ (หรือว่าง) หน่วยความจำหลังจากไม่จำเป็นต้องใช้ตัวแปรอีกต่อไป

วิธีที่ดีกว่าในการปกป้องข้อมูลที่สำคัญคือการลบทันทีหลังจากใช้งาน:

$db_con = new stdClass();
$db_con->db_user = 'username';
$db_con->password = 'password';
$db_con->host = 'localhost';

$db_handler = new Database_Handler( $db_con );

$db_con = null;

หลังจากใช้ข้อมูลที่ละเอียดอ่อนการกำหนดให้nullจะเขียนทับข้อมูลในหน่วยความจำ ผู้โจมตีต้องได้รับการถ่ายโอนข้อมูลหน่วยความจำเพียงครู่เดียวเมื่อ$db_conมีข้อมูลที่ละเอียดอ่อน และนั่นเป็นเวลาสั้น ๆ ในตัวอย่างด้านบน (ถ้าคลาส Database_Handler ไม่บันทึกสำเนา)


การตอบสนองนี้ไม่ได้ตอบคำถามโดยตรง ผู้เขียนปลั๊กอินสามารถใช้ WordPress กับ Field Day ได้หากพวกเขาโน้มน้าวให้คุณติดตั้งโค้ดและมีเจตนาร้าย ไม่ต่างจากการติดตั้งไวรัสบนระบบของคุณอย่างเต็มใจ อาร์กิวเมนต์นี้เพื่อไม่ย้าย wp-config.php ไม่มีประโยชน์ เหมือนกับว่าการติดตั้งระเบิดรถยนต์ในรถของคุณอย่างจงใจทำให้การตั้งค่าสัญญาณเตือนรถไร้ประโยชน์ ความจริงทางเทคนิค แต่ WTF?!?
แลนซ์คลีฟแลนด์

2
ไม่มันไม่มีจุดหมาย คำถามคือ: ฉันสามารถป้องกันบัญชีฐานข้อมูลโดยการซ่อน wp-config.php และคำตอบนั้นชัดเจน: ไม่มันเหมือนกับคุณถามว่า 'ฉันจะป้องกันรถของฉันจากการระเบิดของรถยนต์ด้วยสัญญาณเตือนรถ' ได้หรือไม่ ไม่มีประโยชน์อื่นใดโดยการซ่อน wp-config ของคุณเป็นการปกป้องการเข้าถึงฐานข้อมูลหรือการเข้าถึง ftp ทั้งสองอยู่ในขอบเขตส่วนกลาง ฉันแน่ใจว่ามีวิธีเพิ่มเติมสำหรับผู้โจมตีในการเข้าถึง vars ทั่วโลกโดยไม่ต้องใส่รหัส
Ralf912

ฉันไม่เห็น "ฉันสามารถป้องกันบัญชีฐานข้อมูลด้วยการซ่อน wp-config.php" ในคำถามเดิม คำถามเดิมคือ "มันสมเหตุสมผลหรือไม่ที่จะย้าย wp-config.php" คำตอบคือใช่ IMO มันเหมือนกับถามว่าคุณควรล็อคประตูหน้าของคุณเมื่อคุณออกไปข้างนอกหรือไม่ การพูดว่า "ใครบางคนสามารถทำลายหน้าต่างและเข้าไปข้างในได้อย่างง่ายดายดังนั้นทำไมรำคาญ" ไม่ตอบคำถามพื้นฐานของคำถาม IMO คำถามที่ถามคือสิ่งนี้ "มันคุ้มค่ากับความพยายามพิเศษในการย้าย wp-config.php หรือไม่มีประโยชน์อะไรบ้างในการทำเช่นนั้น" ใช่. อย่างน้อยที่สุดมันก็ทำให้แฮ็กเกอร์ขี้เกียจออกไป
แลนซ์คลีฟแลนด์

2
หนึ่งในวิธีปฏิบัติที่ดีที่สุดด้านความปลอดภัยที่พบมากที่สุด ...คุณพลาดจุดสำคัญ (มากมาก) ไปที่: ผู้โจมตีสนใจสิ่งใด? และไม่ใช่วิธีที่คุณกำหนดสไตล์ของคุณ wp-config.php ผู้โจมตีถูกขัดขวางในค่าที่คุณกำหนดใน wp-config ของคุณ หยิบตัวอย่างของคุณมาที่ประตูหน้า: การซ่อน wp-config ของคุณเหมือนกับว่าคุณจะล็อคประตูหน้าของคุณ แต่เก็บทองทั้งหมดของคุณโดยไม่มีการป้องกันในสวน ค่าทั้งหมดที่กำหนดใน wp-config นั้นถูกกำหนดแบบโกลบอล ดังนั้นพวกเขาทั้งหมดสามารถเข้าถึงได้นอก wp-config แม้ว่าคุณจะซ่อน wp-config ของคุณค่าจะยังคงปรากฏอยู่
Ralf912

1
ฉันคิดว่าผู้ที่โต้แย้งในการย้ายมันพยายามที่จะป้องกันสถานการณ์ที่ wp-config.php สามารถแสดงในข้อความธรรมดาผ่านการร้องขอ HTTP แทนที่จะเป็นสถานการณ์ที่มันจะได้สัมผัสกับรหัส PHP อื่น ๆ ที่ทำงานบนโฮสต์
Ian Dunn

-1

นอกเหนือจากสิทธิประโยชน์ด้านความปลอดภัยแล้วยังช่วยให้คุณสามารถรักษาอินสแตนซ์ WordPress ของคุณไว้ภายใต้การควบคุมเวอร์ชันในขณะที่เก็บไฟล์ WordPress หลักไว้เป็น submodule / ภายนอก นี่คือวิธีที่ Mark Jaquith ติดตั้งโครงการ WordPress-Skeleton ของเขา ดูhttps://github.com/markjaquith/WordPress-Skeleton#assumptionsเพื่อดูรายละเอียด


8
เขาตั้งค่าไว้ในรูทของเอกสารไม่ใช่ด้านนอกดังนั้นจึงไม่เกี่ยวข้องกับคำถามนี้ เทคนิคที่คำถามถามเกี่ยวกับระบุว่าคุณย้ายwp-config.phpหนึ่งไดเรกทอรีเหนือรากเอกสารของ vhostไม่ใช่เพียงหนึ่งไดเรกทอรีเหนือโฟลเดอร์การติดตั้ง WordPress จุดทั้งหมดคือการได้รับมันนอกโฟลเดอร์ที่สามารถอ่านได้โดยการร้องขอ HTTP
Ian Dunn
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.