Ist es wirklich vorteilhaft, wp-config außerhalb des Webstamms zu verschieben?
-
-
Esist wirklichnichtnotwendig,Ihre Auswahl an Antworteneinzugeben und alle anderen Antwortenin Ihrer Frage abzulehnen.Wie Sie unten sehen können,dient das Stackexchange-Abstimmungssystem dazu,die Antworten abzustimmen,diefür die Menschen sinnvoll sind,während die Fragesteller den Mechanismus der "akzeptierten Antwort" und Ihreeigenen Auf-/Ab-Abstimmungen verwenden sollten.It's really not necessary to plug your choice of answers and reject all other answers, inside your question. As you can see below, that's what the stackexchange voting system is for, to vote up the answers that make sense to people, whereas the question askers should be using the "accepted answer" mechanism and your own up/down votes.
- 2
- 2014-01-20
- Kzqai
-
Ichmache dasnichtfür 99% der Fragen,dieichgestellt habe,aberichfandesin diesem speziellen Fall angemessen.Esgibt 8 Antworten auf die Frage,von deneneinige ziemlich langwierig/komplex sind und von denen viele vielepositive Stimmen haben,obwohl sie ungenaue Informationenenthalten oder der Konversationnichts hinzufügen.Ich denke,dassesfür Leute,die den Thread zumersten Mal lesen,hilfreichist,eine halbautoritative Schlussfolgerung zu ziehen.Wieimmer stehtes den Lesernfrei,sich selbst zuentscheiden.Ichbiete nurmeine Meinung als OP an.I don't do that for 99% of the questions I've asked, but I thought it was appropriate in this specific case. There are 8 answers to the question, some of which are fairly lengthly/complex, and some of which have a lot of upvotes despite despite containing inaccurate info or not adding anything to the conversation. I think offering a semi-authoritative conclusion is helpful to people reading the thread for the first time. As always, readers are free to make up their own mind; I'm just offering my opinion as the OP.
- 7
- 2014-01-21
- Ian Dunn
-
@Kzqai: Das "Stackexchange-Abstimmungssystem"istein demokratischer Prozess,und die Teilnehmer sind oft 1) unklar,was das OPtatsächlichfragt oder zu lösen versucht,und 2) die Gültigkeiteinerbestimmten Antwortnicht zu verstehen.Nachdem die Antworteneingegangen sind und die Stimmen abgegeben wurden,istesmehr als hilfreich,wenn das OP die Antworten klärt,die Unterstützunggeleistet haben.Immerhinist das OP daseinzige,dases weiß,undich wünschte,mehr OPs hätten diesgetan.Ja,die Leute "stimmen über die Antworten ab,diefür die Menschen sinnvoll sind",aber lassen Sie das OP das letzte Wort darüber haben,wasfürihn sinnvollist.@Kzqai: The "stackexchange voting system" is a democratic process, and the participants are often 1) unclear as to what the OP is actually asking or trying to solve, and 2) uncomprehending of any particular answer's validity. After the responses have trickled in and the votes have been cast, it is **more than helpful** to have the OP clarify those responses that provided assistance. After all, the OP is the only one who knows, and I wish more OPs did so. Yes, people "vote up the answers that make sense to people," but let's let the OP have the last word as to what makes sense to him.
- 2
- 2017-07-14
- Mac
-
8 Antworten
- Stimmen
-
- 2012-07-18
Das Größteist,dass die
wp-config.php
einige vertrauliche Informationenenthält: Ihren Datenbankbenutzernamen/Ihr Kennwort usw.Also die Idee: Verschieben Siees außerhalb des Dokumentstamms,und Siemüssen sich umnichts kümmern. Ein Angreifer kannniemals voneinerexternen Quelle auf diese Datei zugreifen.
Hieristjedoch das Problem:
wp-config.php
drucktniemalsetwas auf den Bildschirm. Es werdennur verschiedene Konstanten definiert,die während Ihrer WP-Installation verwendet werden. Daher kannjemand den Inhalt dieser Dateinur sehen,wenner den PHP-Interpreter Ihres Servers umgeht. Ererhält die Datei.php
,dienur alseinfacher Textgerendert wird. In diesem Fall sind Siebereitsin Schwierigkeiten: Sie haben direkten Zugriff auf Ihren Server (und wahrscheinlich Root-Berechtigungen) und könnentun,was siemöchten.Ich werde weitermachen und sagen,dasses aus den obengenannten und diesen Gründen keinen Vorteil hat,
wp-config
aus Sicherheitssicht außerhalb des Dokumentstamms zu verschieben :- Sie können den Zugriff auf die Datei über Ihre virtuelle Hostkonfiguration oder .htaccesseinschränken und so denexternen Zugriff auf die Datei auf dieselbe Weiseeinschränken,wie diesbeim Verschieben außerhalb des Dokumentstamms der Fall wäre.
- Sie können sicherstellen,dass die Dateiberechtigungenfür
wp-config
streng sind,um zu verhindern,dass Benutzer ohne ausreichende Berechtigungen die Datei lesen,selbst wenn sie über SSH (eingeschränkten) Zugriff auf Ihren Servererhalten. - Ihre vertraulichen Informationen,Datenbankeinstellungen,werdennur aufeinereinzelnen Site verwendet. Selbst wennein Angreifer Zugriff auf diese Informationenerhalten würde,wäre dieeinzige Site,die davonbetroffen wäre,die WordPress-Installation,zu der die Datei
wp-config.php
gehört. Noch wichtigerist,dass dieser Datenbankbenutzernur Berechtigungen zum Lesen und Schreibenin die Datenbank dieser WP-Installation hat und sonstnichts - kein Zugriff,um anderen Benutzern Berechtigungen zuerteilen. Mit anderen Worten,wennein Angreifer Zugriff auf Ihre Datenbankerhält,müssen Sie lediglich auseiner Sicherung wiederherstellen (siehe Punkt 4) und den Datenbankbenutzer ändern - Sie sichern häufig. Oftein relativer Begriff: Wenn Siejeden Tag 20 Artikel veröffentlichen,sollten Siejeden Tag oder allepaar Tageeine Sicherungskopieerstellen. Wenn Sieeinmalpro Wocheposten,isteine Sicherungeinmalpro Woche wahrscheinlich ausreichend.
- Sie haben Ihre Website unter Versionskontrolle ( so ). Diesbedeutet,dass Sie dies auch danntun können,wennein Angreifer Zugrifferhalten hat Codeänderungen leichterkennen und zurücksetzen. Wennein Angreifer Zugriff auf
wp-config
hat,hater wahrscheinlichetwas anderes durcheinandergebracht. - Die Datenbankinformationen sind wirklich dieeinzigen vertraulichen Elementein
wp-config
,und da Sie vorsichtig damit sind (siehe Punkt 3 und 4),ist dies keinegroße Sache. Salze und dergleichen könnenjederzeitgewechselt werden. Daseinzige,waspassiert,ist,dasseingeloggte Benutzer-Cookies ungültig werden.
Fürmich stinkt das Verschieben von
wp-config
aus dem Dokumentenstammnach Sicherheit durch Dunkelheit - was sehr vielein Strohmannist.The biggest thing is the
wp-config.php
contains some sensitive information: your database username/password, etc.So the idea: move it outside the document root, and you don't have to worry about anything. An attacker will never be able to access that file from an external source.
Here's the rub, however:
wp-config.php
never actually prints anything to the screen. It only defines various constants that are used throughout your WP install. Thus the only way someone is going to see that contents of that file is if they circumvent your servers PHP interpreter -- they get.php
file to render as just plain text. If that happens, you're already in trouble: they have direct access to your server (and probably root permissions) and can do whatever they like.I'm going to go ahead and say there's no benefit to moving
wp-config
outside the document root from a security perspective -- for the reasons above and these:- You can restrict access to the file via your virtual host config or .htaccess -- effectively limiting outside access to the file in the same way that moving outside the document root would
- You can ensure the file permissions are strict on
wp-config
to prevent any user without sufficient privileges from reading the file even if they gain (limited) access to your server via SSH. - Your sensitive information, database settings, are only used on a single site. So even if an attacker gained access to that information, the only site it would affect would be the WordPress install to which the
wp-config.php
file belongs. More importantly, that database user only has permissions to read and write to that WP install's database and and nothing else -- no access to grant other users permissions. Meaning, in otherwords, if an attacker gains access to your database, it's simply a matter of restoring from a backup (see point 4) and changing the database user - You backup often. Often being a relative term: if you post 20 article every day, you better back up every day or every few days. If you post once a week, backing up once a week is likely sufficient.
- You have your site under version control (like this), which means even if an attacker gained access, you can easily detect code changes and roll them back. If an attacker has access to
wp-config
, they've probably messed with something else. - The database information is really the only sensitive stuff in
wp-config
, and because you're careful about it (see point 3 and 4), it's not a huge deal. Salts and such can be changed any time. The only thing that happens is that it invalidates logged in users' cookies.
To me, moving
wp-config
out of the document root reeks of security by obscurity -- which is very much a straw man.-
Ja,das habeichmir schongedacht.Ichbin froh zu wissen,dassichnicht dereinzigebin :) Ichmöchte die Fragefürein oder zwei Tage offen lassen,nurfür den Fall,dassjemandein überzeugendes Gegenargument hat,aberbisher scheint dies die richtige Antwort zu seinmich.Yeah, that's pretty much what I've been thinking. I'm glad to know I'm not the only one :) I'd like to leave the question open for another day or two just in case somebody has a compelling counter-argument, but so far this seems like the right answer to me.
- 2
- 2012-07-18
- Ian Dunn
-
Kleinere Korrektur: Das Verschieben der Datei wp-config.php aus dem Dokumentenstammbietet keinen * Sicherheitsvorteil *.Esgibt andere Vorteile,dienicht sicherheitsrelevant sind undnurfür ungewöhnliche Setupsgelten.Minor correction: There's no *security* benefit to moving the wp-config.php file out of the document root. There are other benefits, which are not security related, and which only apply to unusual setups.
- 3
- 2012-08-12
- Otto
-
Guter Anruf.Bearbeitet.Good call. Edited.
- 0
- 2012-08-12
- chrisguitarguy
-
Nur umeinen möglichen Mythos zuentlarven -istesnichtmöglich,dass auf der Serverseiteetwas schiefgeht -in welchem Fall wird PHP-Code auf dem Bildschirmgedruckt?Just to get a possible myth debunked - is it not possible, something might go wrong server side - in which case php code is printed to the screen?
- 4
- 2012-08-12
- Stephen Harris
-
Sicher.Wennmod_phpnichtfunktioniert hat oder PHP-Dateiennicht an den PHP-Interpreter übergeben werden,ist diesmöglich.Wenn Sieein FCGI-Setup ausführen,ist dasselbemöglich,wenn PHP-Dateiennicht zur Interpretation an denfcgi-Prozess übergeben werden.Beide weisen aufeinige ziemlichgroße Probleme hin,diejedoch wahrscheinlichnicht auftreten werden.Sure. If mod_php wasn't working or PHP files don't get passed to the PHP interpreter, it's possible. If you're running a FCGI set up, the same thing is possible if PHP files don't get handed off to the fcgi process for interpretation. Both of those point to some pretty large issues that aren't likely to happen, however.
- 0
- 2012-08-12
- chrisguitarguy
-
Ich denke,die Kernfrage hieristnicht,ob das Verschiebeneinen Vorteil hat odernicht,sondern ob diese Vorteile das Risiko überwiegen,den Bereich openbase_dir um das übergeordnete Verzeichnis zuerweitern,das häufig Protokolldateien,Sicherungen undeine private DateienthältSpeicherverzeichnis usw. Ichfrageimmer wieder danach,und keiner der Befürworter des Verschiebens von wp-config hatmirjemalseine Antwortgegeben.An dieser Stelle versteheichihr Schweigen so,dass die Vorteile das Risikonicht wert sind.I think the core question here isn't whether or not there's some benefit to moving it, but whether or not those benefits outweigh the risk of expanding the openbase_dir scope to include the parent directory, which often contains log files, backups, a private file storage directory, etc. I keep asking about that, and none of the proponents of moving wp-config have ever given me an answer. So, at this point I'm taking their silence to mean that the benefits aren't worth the risk.
- 0
- 2012-09-13
- Ian Dunn
-
@IanDunn Aber diebesten Antwortenbefürworten,es aus dieser Hierarchie herausin eine separate zu verschieben,die Ihre Bedenken hinsichtlich Protokollen usw. anspricht. Diese Antwortbeantwortetnicht Ihren Fragentitel "bewegt sich ... wirklichnützlich",heißtesnurAndere Sicherheitsmaßnahmen sind von Vorteil und versuchen,Sie zuberuhigen,dass Sie sich keine Sorgen um die Sicherheitmachenmüssen.Jederglaubt,sein Haus sei sicher,bisereingebrochen wird.Danachmachen sieeinen besseren Job.Manche Menschen werdennie eingebrochen,obwohlihre Sicherheitniedrigist,aber dasbedeutetnicht,dassesein guter Ratist,eine geringere Sicherheit zu haben.@IanDunn But the best answers advocate moving it out of that hierarchy altogether into a separate one, which does address your concern about logs etc. This answer doesn't answer your question title "is moving ... really beneficial", it just says other security measures are beneficial, and tries to reassure you into not worrying about security. Everyone thinks their house is secure until they get burgled. After that they do a better job. Some people never get burgled, even though their security is low, but it doesn't mean it's good advice to have lower security.
- 3
- 2012-12-05
- AndrewC
-
AFAIK,esistnichtmöglich,esirgendwohin zu verschieben,außerin ein Verzeichnis über ABSPATH,da dies dereinzige Ortist,an dem WP danach sucht.AFAIK, it's not possible to move it anywhere except one directory above ABSPATH, because that's the only location WP will search for it.
- 0
- 2012-12-05
- Ian Dunn
-
Trotzdem hat Aaron seine Antwortmit einer Problemumgehung aktualisiert,indemereine Dummy-Datei wp-config.php verwendet hat,um () dieechteeinzuschließen.Nevermind, Aaron updated his answer with a workaround for that, by using a dummy wp-config.php file to include() the real one.
- 1
- 2012-12-06
- Ian Dunn
-
Dies sindgute Punkte,abermein größtes Problem dabeiist,dasses sich um Abhilfeargumente handelt,nicht um vorbeugende Argumente.Diemeisten davon sprechen davon,dasses keinegroße Sacheist,weil A) Sie davon ausgehen,dassjemand den Datenbankbenutzer korrektbehandelt hat und B) Sie Backups haben.Waspassiert,wenn Siebeispielsweise Woocommerce verwenden oder vertrauliche Informationenin Ihrer Datenbank speichern?Dannbist dufertig.These are good points, but my biggest problem with these is that they're remedial arguments, not preventative arguments. Most of these talk about how it's not a huge deal because A) you assume someone handled the db user correctly and B) you have backups. What happens when you're using something like woocommerce or storing sensitive information in your database? Then you're screwed.
- 4
- 2014-06-16
- Goldentoa11
-
- 2012-07-13
Ich denke,Maxisteine sachkundige Antwort,und dasisteine Seite der Geschichte.Der WordPress-Codexenthält weitere Hinweise :
Stellen Sie außerdem sicher,dassnur Sie (und der Webserver) diese Datei lesen können (Diesbedeutetim Allgemeineneine 400- oder 440-Berechtigung.)
Wenn Sieeinen Servermit .htaccess verwenden,können Sie diesenin diese Dateieinfügen (at ganz oben),umjedem,der danach surft,den Zugang zu verweigern:
<files wp-config.php> order allow,deny deny from all </files>
Beachten Sie,dass das Festlegen der Berechtigung 400 oder 440für wp-config.phpmöglicherweise verhindert,dass Plugins darauf schreiben oder diese ändern.Einechter Fall wärebeispielsweise das Zwischenspeichern von Plugins (W3 Total Cache,WP Super Cache usw.). In diesem Fall würdeich 600 verwenden (die Standardberechtigungfür Dateienin
/home/user
Verzeichnis).I think Max's is a knowledgeable answer, and that's one side of the story. The WordPress Codex has more advise:
Also, make sure that only you (and the web server) can read this file (it generally means a 400 or 440 permission).
If you use a server with .htaccess, you can put this in that file (at the very top) to deny access to anyone surfing for it:
<files wp-config.php> order allow,deny deny from all </files>
Note that setting 400 or 440 permission on wp-config.php may prevent plugins from writing to or modifying it. A genuine case for example would be, caching plugins (W3 Total Cache, WP Super Cache, etc.) In that case, I'd go with 600 (the default permission for files in
/home/user
directory).-
Maxist die Antwort.+1 zuihm.Ich versuchenur,es zuerweitern.Max's is the answer. +1 to him. I am simply trying to extend it.
- 5
- 2012-07-13
- its_me
-
Aahan Krish,du hastins Schwarzegetroffen.Dankefür den Zusatz.Aahan Krish, you've hit the bull's eye. Thanks for the addition.
- 1
- 2012-07-13
- Max Yudin
-
Wenn Sie also htaccess verwenden,um HTTP-Anforderungen an wp-config.php abzulehnen,führt diesnicht zumgleichen Ergebnis wie das Verschieben außerhalb des Dokumentstamms,ohnejedoch Protokolle/Sicherungen/usw. verfügbar zumachen?So if you use htaccess to deny HTTP requests to wp-config.php, doesn't that achieve the same result as moving it outside the document root, but without exposing logs/backups/etc?
- 0
- 2012-07-13
- Ian Dunn
-
@IanDunn Hängt davon ab,wie das Stammverzeichnis des Dokuments lautet - ** (1) ** Wenn WordPressin einem Verzeichnisin "public_html"gehostet wird,bedeutet das Verschieben von "wp-config.php" außerhalb des Verzeichnisses,dasses sichin "public_html"befindetVerzeichnis.In diesem Fallmüssen Sie die htaccess-Regeln verwenden,um HTTP-Anforderungen an wp-config.php abzulehnen.** (2) ** Wenn WordPress direktim Verzeichnis "public_html"installiertist,wirdeseine Ebene höher=>in das Verzeichnis "/home/user" verschoben.In diesem Fall sind Sie ziemlich sicher,da sich die Datei außerhalb des Dokumentstammsbefindet.Sie können die Berechtigungen der Datei weiterhin auf 600 (oder sogar auf 440 oder 400)festlegen.@IanDunn Depends on what the document root is— **(1)** If wordpress is hosted in a directory in `public_html`, moving `wp-config.php` outside the directory means that it's going to be in `public_html` directory. In this case, you'll have to use the htaccess rules to deny HTTP requests to wp-config.php. **(2)** If WordPress is installed directly under `public_html` directory, one level up => you'll be moving it into `/home/user` directory. In this case you are pretty safe as the file is outside the document root. You can still set the file's permissions to 600 (or even stricter 440 or 400).
- 4
- 2012-07-13
- its_me
-
@IanDunn Wiegesagt,diesistmein Grundverständnis undichbin kein Sicherheitsexperte.:) :)@IanDunn Like I said, this is my basic understanding, and I am no security expert. :)
- 0
- 2012-07-13
- its_me
-
Im Fall Nr. 1erhalten Sienicht denbeabsichtigten Sicherheitsvorteil.Der springende Punktist,es außerhalb des Dokumentstamms zu verschieben,nichtnur umeine Ebenenach oben.In case #1 you don't get the intended security benefit. The whole point is to move it outside the document root, not just up one level.
- 0
- 2012-07-14
- Ian Dunn
-
In Fall 2müssten Sie den Bereich "open_basedir"erweitern,damit PHP auf allesin/home/user zugreifen kann,wasmirein großes Problemerscheint.Auf alles,was dortgespeichertist (Protokolle,Sicherungen,.bash_history usw.),kannjedesinfizierte PHP-Skript zugreifen,dasin/home/user/public_html ausgeführt wird.Es scheintbesser zu sein,wp-config unter/home/user/public_html/wp-config.php zubelassen undmithilfe von htaccess-Regeln HTTP-Anforderungen zublockieren.Sie haben weiterhin den Vorteil,den Zugrifffür den (unwahrscheinlichen) Fall zublockieren,dasserim Klartext angezeigt wird,aber Sie legen keine Dateien überpublic_html offen.In case #2, you'd have to expand the `open_basedir` scope to let PHP access everything in /home/user, which seems like a huge problem to me. Anything stored there (logs, backups, .bash_history, etc) would be accessible to any infected PHP script running in /home/user/public_html. It seems like it'd be better to leave wp-config at /home/user/public_html/wp-config.php and use htaccess rules to block HTTP requests to it. You still get the benefit of blocking access in the (unlikely) event that it's displayed in plain-text, but you don't expose files above public_html.
- 0
- 2012-07-14
- Ian Dunn
-
- 2012-09-12
Jemand hat unsgebeten,zuglänzen,undich werde hier antworten.
Ja,esgibt Sicherheitsvorteile,wenn Sie Ihre Datei wp-config.php vom Stammverzeichnis Ihrer Siteisolieren.
1- Wenn Ihr PHP-Handler kaputtgeht oder aufirgendeine Weisegeändert wird,werden Ihre DB-Informationennicht verfügbargemacht. Undja,ich habe dieseinige Male aufgemeinsamgenutzten Hosts während der Serveraktualisierungengesehen. Ja,die Site wirdin diesem Zeitraumbeschädigt,aber Ihre Passwörter sindintakt.
2- Best Practicesempfehlenimmer,Konfigurationsdateien von Datendateien zuisolieren. Ja,esist schwierig,diesmit WordPress (odereiner anderen Web-App) zutun,aber das Verschiebennach obenführt zueinergewissen Isolation.
3- Denken Sie an die PHP-CGI-Sicherheitsanfälligkeit,bei derjeder die? -s aneine Datei übergeben und die Quelle anzeigen kann. http://www.kb.cert.org/vuls/id/520827
Am Ende sind dies kleine Details,aber sietragen dazubei,das Risiko zuminimieren. Insbesondere,wenn Sie sichin einergemeinsamgenutzten Umgebungbefinden,in derjeder auf Ihre Datenbank zugreifen kann (alles,waserbenötigt,istein Benutzer/Pass).
Aber lassen Sienicht zu,dass kleine Ablenkungen (vorzeitige Optimierungen) vor dastreten,was wirklichnotwendigist,umeine Site richtig sicher zumachen:
1- Halten Sieesimmer auf demneuesten Stand
2- Verwenden Sie sichere Passwörter
3- Beschränken Sie den Zugriff (über Berechtigungen). Wir haben hiereinen Beitrag dazu:
http://blog.sucuri.net/2012/08/wordpress-security-cutting-through-the-bs.html
danke,
Someone asked us to shine in, and I will reply here.
Yes, there are security benefits from isolating your wp-config.php from the root directory of your site.
1- If your PHP handler gets broken or modified in some way, your DB information will not be exposed. And yes, I saw this happen a few times on shared hosts during server updates. Yes, the site will be broken during that period, but your passwords will be intact.
2- Best practices always recommend isolating configuration files from data files. Yes, it is hard to do that with WordPress (or any web app), but moving it up does a bit of isolation.
3- Remember the PHP-CGI vulnerability, where anyone could pass the ?-s to a file and view the source. http://www.kb.cert.org/vuls/id/520827
At the end, those are small details, but they do help to minimize risk. Specially if you are on a shared environment, where anyone can access your database (all they need is a user/pass).
But don't let small distractions (premature optimizations) get in front of what is really necessary to get a site properly secure:
1- Keep it always updated
2- Use strong passwords
3- Restrict access (via permissions). We have a post about it here:
http://blog.sucuri.net/2012/08/wordpress-security-cutting-through-the-bs.html
thanks,
-
Hey Leute,danke,dassihreure Gedanken hinzugefügt habt.Ich denke,wirtreffen diemeisten dieser Punktebereitsin den anderen Antworten undihren Kommentaren.1) Ja,dasistmöglich,aber selten;2) Ja,das hat Vorteile,aber sie sindminimal;3) Ja,dasistmöglich,aberesist unwahrscheinlich,dass diese Art von Verwundbarkeiterneut auftritt,und der Schutz davorist wie das Spielen von Whac-a-Mole oder das Ausziehen von Schuhen auf Flughäfen,weilein Eseleine Bombein seiner versteckt hatSchuheinmal.Esist reaktionär undesist unwahrscheinlich,dasses zukünftige Vorteile hat.Hey guys, thanks for adding your thoughts. I think we already hits on most of those points in the other answers and their comments. 1) Yes, this is possible, but rare; 2) Yes, this has benefits, but they're minimal; 3) Yes, this is possible, but that type of vulnerability is unlikely to happen again, and protecting against it is kind of like playing whac-a-mole, or making people remove their shoes at airports because some jackass hid a bomb in his shoe once. It's reactionary and unlikely to have future benefits.
- 0
- 2012-09-12
- Ian Dunn
-
In den verschiedenen Diskussionen wurde die Frage unter "Gibtesirgendwelche Vorteile?"zu "Ok,esgibt einige Vorteile,aber überwiegen sie die Risiken?"Das Hauptrisiko,auf dasichmichbeziehe,ist die Tatsache,dass Sie den Bereich openbase_direrweiternmüssen,damit PHP auf Skripte außerhalb des Webstamms zugreifen kann.Viele Hosting-Setups -einschließlich solcher,die Plesk verwenden - speichern Protokolle,Backups,private FTP-Bereiche,die vom Webstammisoliert werden sollen,usw.im Verzeichnis über dem Webstamm.Daher kanneseine schwerwiegende Sicherheitslücke sein,PHP Zugriff auf dieses Verzeichnis zugewähren.In the various discussions, the question was refined from "Are there any benefits?" to "Ok, there are some benefits, but do they outweigh the risks?" The main risk I'm referring to is the fact that you have to expand the openbase_dir scope in order to let PHP access scripts outside the web root. Many hosting setups -- including those that use Plesk, which is a lot -- store logs, backups, private FTP areas that are supposed to be isolated from the web root, etc in the directory above the web root. So, giving PHP access to that directory can be a serious vulnerability.
- 0
- 2012-09-12
- Ian Dunn
-
- 2012-07-13
Aufjeden Fall JA.
Wenn Sie wp-config.php außerhalb des öffentlichen Verzeichnisses verschieben,schützen Siees vor dem Lesenmit dem Browser,wenn der PHP-Handlerböswillig (oder versehentlich!)geändert wird.
Das Lesen Ihres DB-Logins/Passwortsistmöglich,wenn der Server durcheinen Fehler des lahmen Administrators kauminfiziertist.Laden Sie dem Administratoreine Geldstrafe auf underhalten Sieeinen bessergepflegten und zuverlässigeren Server-Host.Dies kannjedochteurer sein.
Definitely YES.
When you move wp-config.php outside public directory you protect it from reading using browser when php handler gets maliciously (or accidentally!) changed.
Reading your DB login/password is possible when server is hardly infected through a fault of lame administrator. Charge the administrator a fine and get a better-tended and more reliable server host. Though that may be more expensive.
-
Wennein Angreifergenügend Zugriff hat,um den PHP-Handler zu ändern,sind Siebereitsgeschraubt.Versehentliche Änderungen sindmeiner Erfahrungnach sehr selten,undin diesem Fall wäreeseinfach,das Passwort zu ändern.Glauben Sie angesichts dieser Dingeimmernoch,dasses das Risiko wertist,Protokolle/Backups/usw. aufgrund deserweiterten Bereichs "open_basedir" verfügbar zumachen?If an attacker has enough access to change the PHP handler, you're already screwed. Accidental changes are very rare in my experience, and in that case it'd be easy to change the password. In light of those things, do you still think it's worth the risk of exposing logs/backups/etc because of the expanded `open_basedir` scope?
- 4
- 2012-07-13
- Ian Dunn
-
Ich hattenochnie "-rwx" Zugriff auf Verzeichnisse,die höher als "public_html" waren,daher warichmit "open_basedir"nie vertraut.Meine Protokollebefinden sichin einem separaten Verzeichnis,daher auch Backups.Ich denke,dasistes,was allegemeinsamgenutzten Hosts haben.I've never had `-rwx` access to directories higher than `public_html` so I never was familiar with `open_basedir`. My logs are in separate directory, so backups do. I think that's what all shared hosts have.
- 1
- 2012-07-13
- Max Yudin
-
Wirte variieren stark;Esgibt keine Standardverzeichnisstruktur.Plesk (eines derbeliebtesten Control Panelsfürgemeinsamgenutzte Hosts) legt Protokollein/var/www/vhosts/example.com/statistics/logs ab und das Dokumentstammverzeichnis lautet/var/www/vhosts/example.com/httpdocs.Wenn Sie wp-config.phpnach/var/www/vhosts/example.com/wp-config.php verschieben,müssen Sie Skripten Zugriff auf dasgesamte Verzeichnisexample.comgewähren.Hosts vary wildly; there's no standard directory structure. Plesk (one of the most popular control panels for shared hosts) puts logs in /var/www/vhosts/example.com/statistics/logs and the document root is /var/www/vhosts/example.com/httpdocs. Moving wp-config.php to /var/www/vhosts/example.com/wp-config.php would require giving scripts access to the entire example.com directory.
- 0
- 2012-07-14
- Ian Dunn
-
Wo werden Ihre Protokolle und Sicherungen aus Neugiergespeichert,wennnichtim Verzeichnis der Domain?Wird überein Bedienfeld oderetwas anderes auf sie zugegriffen?Just out of curiosity, where are your logs and backups stored, if not in the domain's directory? Are they accessed through a control panel or something?
- 0
- 2012-07-14
- Ian Dunn
-
Ja,überein Bedienfeld.Yes, through a control panel.
- 1
- 2012-07-14
- Max Yudin
-
Ich kannmichirren,aber wenn Ihr Servernicht sicherist,könnteein Symlink-Angriff Ihre wp-config.php lesen,unabhängig davon,wo sie sichbefindet.Ein Angreifermussnur wissen,wo sich die Dateimöglicherweisebefindet und obeine Verknüpfungmöglichist.Diesistmöglicherweiseeine Off-Topic-Frage,aberes scheint,als obeseine Möglichkeitgäbe,die Datei wp-config.php umzubenennen,um Phishing zu verhindern.I may be wrong about this, but if your server is not secure, a symlink attack could read your wp-config.php regardless of where it is. All an attacker has to know is where the file could possibly be and if symlinking is possible. This maybe an off topic question, but it would seem if there was a way to rename the wp-config.php, that would be a way to prevent phishing for it.
- 0
- 2012-07-14
- MickeyRoush
-
Der Dateiname "wp-config.php"istfestin "wp-load.php" codiert,sodasseine Änderung ohne Änderung des Kernsnichtmöglichist.The filename `wp-config.php` is hardcoded into `wp-load.php`, so changing it isn't possible without modifying core.
- 0
- 2012-07-16
- Ian Dunn
-
- 2012-10-03
Ichmöchtenur aus Gründen der Argumentation klarstellen,dass das Verschieben Ihrer Datei wp_config.phpnicht unbedingtbedeutet,dass Sie sienurin das übergeordnete Verzeichnis verschiebenmüssen. Angenommen,Sie habeneine Struktur wie/root/html,in der HTML die WP-Installation und Ihrengesamten HTML-Inhaltenthält. Anstatt wp_config.phpnach/root zu verschieben,können Siees auchnach/root/secure ... verschieben,das sich sowohl außerhalb des HTML-Verzeichnisses als auchnichtim Server-Stammverzeichnisbefindet. Natürlichmüssten Sie sicherstellen,dass PHP auchin diesem sicheren Ordner ausgeführt werden kann.
Da WPnicht so konfiguriert werden kann,dassin einem Geschwisterordner wie/root/Securenach wp_config.phpgesucht wird,müssen Sieeinen zusätzlichen Schritt ausführen. Ich habe die Datei wp_config.phpin/root/htmlbelassen,die vertraulichen Teile (Datenbankanmeldung,Salt,Tabellenpräfix) ausgeschnitten undin eine separate Dateinamens config.php verschoben. Anschließendfügen Sie Ihrer wp_config.php den Befehl PHP
include
wiefolgt hinzu:include ('/home/content/path/to/root/secure/config.php');
Diesistim Wesentlichen das,wasichin meinem Setupgetan habe. Basierend auf der obigen Diskussionprüfeichjetztimmernoch,obesnotwendig oder sogareine gute Ideeist. Aberich wolltenur hinzufügen,dass die obige Konfigurationmöglichist. Ihre Backups und andere Root-Dateien werdennicht verfügbargemacht. Solange der sichere Ordnernichtmit einereigenen öffentlichen URLeingerichtetist,kannernicht durchsucht werden.
Außerdem können Sie den Zugriff auf den sicheren Ordnereinschränken,indem Sie dorteine .htaccess-Dateierstellenmit:
Bestellung ablehnen,zulassen abgelehnt von allen erlauben von 127.0.0.1
I just want to clarify, for the sake of argument, that moving your wp_config.php file does not necessarily mean you have to move it only to the parent directory. Let's say you have a structure like /root/html, where html contains the WP installation and all of your HTML content. Instead of moving wp_config.php to /root, you could move it to something like /root/secure ... which is both outside the html directory and also not in the server root directory. Of course, you would need to make sure that php can run in this secure folder as well.
Since WP cannot be configured to look for wp_config.php in a sibling folder like /root/secure, you have to take an additional step. I left the wp_config.php in /root/html, and cut out the sensitive portions (database login, salt, table prefix) and moved them to a separate file called config.php. Then you add the PHP
include
command to your wp_config.php, like this:include('/home/content/path/to/root/secure/config.php');
This is essentially what I've done in my setup. Now, based on the above discussion, I am still evaluating whether it is necessary or even a good idea. But I just wanted to add that the above configuration is possible. It does not expose your backups and other root files, and so long as the secure folder is not set up with its own public URL, it is not browsable.
Furthermore, you can limit access to the secure folder by creating an .htaccess file in there with:
order deny,allow deny from all allow from 127.0.0.1
-
Hey Michael,danke,dass du dasgeteilt hast.Haben Sieesin einer realen Umgebung ausprobiert,um zu überprüfen,obesfunktioniert?Ich denke,die `open_basedir`-Direktivenimmt einenganzen * Baum *ein. Um also von`/root/html` auf`/root/Secure` zuzugreifen,müssteman `open_basedir` auf`/root` setzen.Hey Michael, thanks for sharing that. Have you tried it out in a real environment to verify it works, though? I think the `open_basedir` directive takes an entire *tree*, so in order to access `/root/secure` from `/root/html`, you'd have to set `open_basedir` to `/root`.
- 0
- 2012-10-03
- Ian Dunn
-
Damit Ihre Ideefunktioniert,müssen Sie die Verzeichnisstruktur wie "/root/httpdocs/config/barrierefrei"einrichten,wobei "httpdocs" Protokolle,Sicherungen usw.enthält.`config`enthält` wp-config.php` und` access`enthält WordPress und dengesamten Inhalt.Siemüssten die vhost-Konfiguration usw. ändern,um das Dokumentstammverzeichnis wieder auf "zugänglich" abzubilden.Ich sehejedoch keinen Vorteil darin,HTTP-Anforderungen an wp-configim Standard-Setup abzulehnen.In order to make your idea work, I think you'd need to setup the directory structure like `/root/httpdocs/config/accessible`, where `httpdocs` holds logs, backups, etc; `config` holds `wp-config.php`, and `accessible` holds WordPress and all content. You'd have to modify the vhost config, etc to remap the document root to `accessible`. I don't see any benefit over just denying HTTP requests to wp-config in the default setup, though.
- 0
- 2012-10-03
- Ian Dunn
-
Laut http://www.php.net/manual/en/ini.core.php#ini.open-basedir: "Trennen Sie unter Windows die Verzeichnissemit einem Semikolon. Trennen Sie auf allen anderen Systemen die Verzeichnissemit einem DoppelpunktAls Apache-Modul werden open_basedir-Pfade aus übergeordneten Verzeichnissenjetzt automatisch vererbt. "Sie können alsomehrere Verzeichnissefestlegen,ohne dass sie sichin einemeinzigen Baumbefindenmüssen.According to http://www.php.net/manual/en/ini.core.php#ini.open-basedir: "Under Windows, separate the directories with a semicolon. On all other systems, separate the directories with a colon. As an Apache module, open_basedir paths from parent directories are now automatically inherited." So you can set multiple directories, no need for them to be in a single tree.
- 1
- 2012-10-03
- Michael
-
Ich habe dasgeradegetestet undes sieht so aus,als hättest du recht.Ichbin mirimmernochnicht sicher,welchen Sicherheitsvorteil dies hat,wennmaneinfach den Zugriff auf die Datei über Apache verweigert.I just tested that out and it looks like you're right. I'm still not sure what security benefit this has over simply denying access to the file via Apache, though.
- 0
- 2012-10-03
- Ian Dunn
-
@ IanDunnin Aaron Adams 'Antwortgut angesprochen@IanDunn addressed well in Aaron Adams' answer
- 0
- 2012-12-05
- AndrewC
-
Ichfinde sein Argument dafürnicht überzeugend.Ich habein meinem Kommentar zu seiner Antworterklärt,warum.I don't find his argument for that convincing. I've explained why in my comment on his answer.
- 0
- 2012-12-05
- Ian Dunn
-
- 2012-11-19
Esgibt viele schlechtgeschriebene Themen und Plugins,mit denen Atatcker Codeeinfügen können (denken Sie an das Sicherheitsproblemmit Timthumb). Wennichein Angreifer wäre,warum sollteichnach der Datei wp-config.php suchen? Fügen Sieeinfach diesen Codeein:
var_dump( DB_NAME, DB_USER, DB_PASSWORD );
Sie können versuchen,Ihre wp-config.php auszublenden. Solange WordPress alle vertraulichen Informationenglobal zugänglichmacht,hates keinen Vorteil,die Datei wp-config.php auszublenden.
Der schlechte Teilin wp-config.phpistnicht,dasses vertrauliche Datenenthält. Der schlechte Teilbesteht darin,die vertraulichen Daten alsglobal zugängliche Konstante zu definieren.
Update
Ichmöchte die Problememit
define()
klären underklären,warumeseine schlechte Ideeist,vertrauliche Daten alsglobale Konstante zu definieren.Esgibt viele Möglichkeiten,eine Website anzugreifen. Die Skriptinjektionistnureine Möglichkeit,eine Website anzugreifen.
Angenommen,der Server weisteine Sicherheitsanfälligkeit auf,durch dieein Angreifer aufeinen Speicherauszug zugreifen kann. Der Angreiferfindetim Speicherauszug alle Werte aller Variablen. Wenn Sieeine global zugängliche Konstante definieren,muss diesebis zum Ende des Skriptsim Speicherbleiben. Wenn Sieeine Variable anstelleeiner Konstantenerstellen,bestehteine gute Chance,dass der Garbage Collector den Speicher überschreibt (oderfreigibt),nachdem die Variablenichtmehrbenötigt wird.
Einbesserer Weg,um sensible Daten zu schützen,besteht darin,sie sofortnachihrer Verwendung zu löschen:
$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;
Nach Verwendung der vertraulichen Daten werden die Datenim Speicher durch Zuweisen zu
null
überschrieben. Ein Angreifermuss den Speicherauszuggenauin dem Moment abrufen,in dem$db_con
die vertraulichen Datenenthält. Und dasistim obigen Beispieleine sehr kurze Zeit (wenn die Klasse Database_Handler keine Kopie davon speichert).There are a lot of bad written themes and plugins out there which allow atatckers to inject code (remember the security issue with Timthumb). If I would be a attacker, why should I search for the wp-config.php? Simply inject this code:
var_dump( DB_NAME, DB_USER, DB_PASSWORD );
You can try to hide your wp-config.php. As long as WordPress make all the sensitive information global accessible, it have no benefit to hide the wp-config.php.
The bad part in wp-config.php is not that it holds sensitive data. The bad part is to define the sensitive data as a global accessible constant.
Update
I want to clearify the problems with
define()
and why it is a bad idea to define sensitive data as a global constant.There are a lot of ways to attack a website. Script injection is only one way to atack a website.
Assuming the server has a vulnerability that let an attacker access a memory dump. The attacker will find in the memory dump all values of all variables. If you define a global accessible constant, it have to stay in memory until the script ended. Creating a variable instead of a constant, there is a good chance that the garbage collector will overwrite (or free) the memory after the variable is not longer needed.
A better way to protect sensitive data is to delete them immediately after using it:
$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;
After using the sensitive data, the assigning to
null
will overwrite the data in memory. An attacker have to get the memory dump just in the moment when$db_con
contains the sensitive data. And that is a very short time in the example above (if the class Database_Handler do not save a copy of it).-
Diese Antwortgehtnicht direkt auf die Frageein.Jeder Plugin-Autor kanneinen Feldtagmit WordPress verbringen,wenner Sie davon überzeugt,seinen Code zuinstallieren undböswillige Absichten zu haben.Esistnicht anders,alsbereitwilligeinen Virus auf Ihrem System zuinstallieren.Dieses Argument,wp-config.phpnicht zu verschieben,ist sinnlos.Diesist so,als würdeman sagen,dass das absichtliche Installiereneiner Autobombein Ihrem Auto das Einstellen des Alarms unbrauchbarmacht.Technisch stimmt aber WTF?!?This response does not directly address the question. Any plugin author can have a field day with WordPress if they convince you to install their code and have malicious intent. It is no different than willingly installing a virus on your system. This argument to not move wp-config.php is pointless. This is like saying that willfully installing a car bomb in your car makes setting the car alarm useless. Technically true but WTF?!?
- 0
- 2012-12-06
- Lance Cleveland
-
Nein,dasistnicht sinnlos.Die Frageist: Kannich das Datenbankkonto schützen,indemich die Datei wp-config.php verstecke?Und die Antwort lauteteindeutig: Nein. Esist dasgleiche,als ob Siefragen: "Kannichmein Automit einer Autoalarmanlage vor Autobomben schützen?" Esgibt keinen anderen Vorteil,wenn Sie Ihre wp-config verstecken,um den Datenbankzugriff oder den FTP-Zugriff zu schützen.Beide sindim globalen Bereich.Ichbin sicher,esgibt mehr Möglichkeitenfür Angreifer,aufglobale Variablen zuzugreifen,ohne Codeeinzufügen.No, it is not pointless. The question is: Can I protect the database account by hiding the wp-config.php. And the answer is clearly: No. It is the same as if you ask 'Can I protect my car against car bombs with a car alarm?' There is no other benefit by hiding your wp-config as of protecting database access or ftp access. Both are in the global scope. I'm sure there are more ways for attackers to get access to global vars without injecting code.
- 2
- 2012-12-06
- Ralf912
-
Ich sehein der ursprünglichen Fragenicht "Kannich das Datenbankkonto schützen,indemich die Datei wp-config.php verstecke?".Die ursprüngliche Frage lautete: "Istes sinnvoll,die Datei wp-config.php zu verschieben?".Die Antwortist absolutja,IMO.Esist wie zufragen,ob Sie Ihre Haustür abschließen sollen,wenn Sie ausgehen.Die Aussage "Jemand kann leichtein Fenster zerbrechen undtrotzdem hineinkommen,warum also die Mühemachen"beantwortetnicht dengrundlegenden Punkt der Frage.IMO lautete die Frage: "Lohnt sich der zusätzliche Aufwand,wp-config.php zu verschieben? JEDER Vorteil dabei?".Ja.Zumindest hältes diefaulen Hackerfern.I don't see "can I protect the database account by hiding the wp-config.php" in the original question. The original question was "does it makes sense to move the wp-config.php". The answer is absolutely yes, IMO. It is like asking if you should lock your front door when you go out. Saying "someone can easily break a window and get in anyway, so why bother" does not answer the fundamental point of the question. IMO the question asked was this, "Is it worth the extra effort to move wp-config.php? ANY benefit doing so?". Yes. At the very least it keeps out the lazy hackers.
- 0
- 2012-12-10
- Lance Cleveland
-
_Eine der häufigstenbewährten Sicherheitsmethoden ..._ Sie habeneinen sehr (sehr,sehr) wichtigen Punkt übersehen: Wofürinteressiert sichein Angreifer?Undesist *nicht *,wie Sie Ihre wp-config.phpgestylt haben.Ein Angreiferist an den Werteninteressiert,die Siein Ihrer wp-config definiert haben.Nehmen Sie Ihr Beispielmit der Haustür: Das Verstecken Ihrer wp-configist dasselbe,als würden Sie Ihre Haustür abschließen,aber Ihrgesamtes Gold ungeschütztim Garten aufbewahren.Allein der wp-config definierten Werte sind *global * definiert.Sie sind also * alle * außerhalb von wp-config zugänglich.Auch wenn Sie Ihre wp-config ausblenden,sind die Werteimmernoch vorhanden._One of the most common security best practices..._ You missed a very (very, very) important point: To what an attacker is interested? And it is *not* how do you styled your wp-config.php. An attacker is interessted in the values you defined in your wp-config. Grabbing your example with the front door: Hiding your wp-config is the same as if you will lock your front door, but store all your gold unprotected in the garden. All values defined in the wp-config are *globally* defined. So they are *all* accessible outside of wp-config. Even if you hide your wp-config, the values are still present.
- 2
- 2012-12-11
- Ralf912
-
Ich denke,diejenigen,die sichfüreine Verschiebung aussprechen,versuchen,sich vor Szenarien zu schützen,in denen wp-config.php übereine HTTP-Anfrageim Klartext angezeigt werden könnte,anstatt vor Szenarien,in denenes anderem PHP-Code ausgesetzt sein könnte,der auf dem Host ausgeführt wird.I think those that argue in favor of moving it are trying to protect against scenarios where wp-config.php could be displayed in plain text via an HTTP request, rather than scenarios where it could be exposed to other PHP code running on the host.
- 1
- 2012-12-11
- Ian Dunn
-
@ Ralf912 - dasistnichtgenau richtig.Dieglobalen Definitionen sindfür alle Programmdateienin allen Verzeichnissen zugänglich,werdenjedochnicht angezeigt.Um die Werte zu sehen,müssten Siein der Lage sein,geänderten Code zurück auf den Server zu schreiben.Währendein falsch konfigurierter Servermit wp-config.phpim Dokumentstamm diese Werte leicht alseinfachen Text anzeigt.Dasist der zugrunde liegende Punkt.Das Anzeigen des Codesfüreines der Plugins/Themes schadetnicht.@Ralf912 - that is not exactly accurate. The global defines are ACCESSIBLE by all program files in all directories but not displayed. In order to SEE the values you would need to be able to write modified code back to the server. Whereas a mis-configured server with wp-config.php in doc root will readily display those values as plain text. That is the underlying point. Seeing the code for any of the plugins/themes causes no harm.
- 0
- 2012-12-12
- Lance Cleveland
-
Wirklichguter Punkt darüber,wie "definieren"globalisiert,was auchimmer definiert wird.Really good point about how `define` globalizes whatever is being defined.
- 0
- 2014-06-16
- Goldentoa11
-
- 2020-07-21
Estutmir leid,einen alten Beitrag zu stoßen,aberesgibt nichtnureine offensichtliche Lösungfür all dies. Wir wissen,dass das Verschieben der Datei wp-config.php aus dem WordPress-Routenverzeichniseinige Sicherheitsvorteilebietet. Einige würden argumentieren,dass die Vorteileminimal sind,anderenicht.
Auf der anderen Seite kanneseinige Nachteilegeben,die Datei ausihrem Standardspeicherort zu verschieben,z. B.einige Plugins zubeschädigen,dienicht über Funktionen verfügen,um an anderen Speicherortennach der Datei wp-config.php zu suchen.
Fürmichistes am offensichtlichsten,eine Datei secret-info.php außerhalb des WordPress-Routenverzeichnisses zuerstellen,die Variablenfür alle Ihre Benutzernamen und Kennwörterenthält,d. h.
$ userName=& quot; user & quot ;;
$ databasePassword=& quot; 12345 & quot ;;
Belassen Sie die Datei wp-config.phpim Standardverzeichnisfür WordPress-Routen,entfernen Sie die Wertefür Benutzername und Kennwort aus wp-config.php,belassen Siejedoch alles andere. Verweisen Sie danneinfach auf die Variablen $ userName und $ databasePassword,indem Sie secret-info.phpin wp-config.phpbenötigen,d. H.
require('PATH-TO-FILE/secret-info.php');
Scheintnaheliegend,vermisseich hieretwas?
Sorry to bump an old post but is there not just an obvious solution to all this. We know there is some security benefits from moving the wp-config.php file out of the wordpress route directory. Some would argue that the benefits are minimal others would not.
On the flip side there can be some drawbacks to moving the file out of it's default location such as breaking some plugins that do not have functionality to look for the wp-config.php file in other locations.
Most obvious thing to me is to create a secret-info.php file outside of the wordpress route directory which contains variables for all your usernames and passwords i.e.
$userName = "user";
$databasePassword = "12345";
Leave the wp-config.php file in the default wordpress route directory, remove the username and password values from wp-config.php but leave everything else. Then just simply reference the $userName and $databasePassword variable by requiring secret-info.php in wp-config.php i.e.
require('PATH-TO-FILE/secret-info.php');
Seems the obvious thing to do, am I missing something here ?
-
Esist wirklicheine gute Sache,eine Antwort aufeine alte Frage hinzuzufügen (esgibt sogarein Abzeichen dafür) (https://wordpress.stackexchange.com/help/badges/44/necromancer).[WPSE solleherein Wissensspeicher sein] (https://wordpress.stackexchange.com/tour) alsein Forum.It's actually a really good thing to add an answer to an old question, [there's even a badge for it](https://wordpress.stackexchange.com/help/badges/44/necromancer). [WPSE is meant to be a repository of knowledge](https://wordpress.stackexchange.com/tour), rather than a forum.
- 1
- 2020-07-22
- Ian Dunn
-
- 2012-07-17
Abgesehen von den Sicherheitsvorteilen können Sie damit auch Ihre WordPress-Instanz unter Versionskontrolle halten undgleichzeitig die wichtigsten WordPress-Dateien als Submodul/externbehalten.So hat Mark Jaquith sein WordPress-Skeleton-Projekteingerichtet.Weitere Informationenfinden Sie unter https://github.com/markjaquith/WordPress-Skeleton#assumptions .
Apart from the security benefits, it also allows you to keep your WordPress instance under version control while keeping the core WordPress files as a submodule/external. This is how Mark Jaquith has setup his WordPress-Skeleton project. See https://github.com/markjaquith/WordPress-Skeleton#assumptions for details.
-
Er hatesim Dokumentstammeingerichtet,nicht außerhalb davon,daheristesfür diese Fragenicht relevant.Die Technik,nach der die Fragegestellt wurde,gibt an,dass Sie `wp-config.php` umein Verzeichnis über * das Dokumentenstammverzeichnis des vhost * undnichtnur umein Verzeichnis über den WordPress-Installationsordner verschieben.Der springende Punktist,es außerhalb des Ordners zubekommen,der von HTTP-Anforderungengelesen werden kann.He has it setup in the document root, not outside of it, so it's not relevant to this question. The technique that the question asked about specifies that you move `wp-config.php` one directory above *the vhost's document root*, not just one directory above the WordPress installation folder. The whole point is to get it outside of the folder that can be read by HTTP requests.
- 8
- 2012-07-17
- Ian Dunn
Eine dergängigsten Best Practicesfür die Sicherheitin diesen Tagen scheint das Verschieben von
wp-config.php
ein Verzeichnis höher als das Dokumentenstammverzeichnis des vhost . Ich habenie wirklicheine gute Erklärung dafürgefunden,aberichgehe davon aus,dass das Risikoeinesböswilligen oderinfizierten Skriptsinnerhalb der Webroot durch das Lesen des Datenbankkennwortsminimiert werden soll.Siemüssen WordPressjedoch weiterhin darauf zugreifen lassen,sodass Sie
open_basedir
erweiternmüssen,um das Verzeichnis über dem Dokumentstammeinzuschließen. Wird dadurchnichtnur dergesamte Zweck zunichtegemacht undmöglicherweise auch Serverprotokolle,Sicherungen usw. Angreifern ausgesetzt?Oder versucht die Techniknur,eine Situation zu verhindern,in der
wp-config.php
jedem,derhttp://example.com/wp-config.php
,anstatt von der PHP-Engine analysiert zu werden? Dies scheintein sehr seltenes Ereignis zu sein und würde die Nachteile des Aussetzens von Protokollen/Sicherungen/usw.gegenüber HTTP-Anforderungennicht überwiegen.Vielleichtistesin einigen Hosting-Setupsmöglich,es außerhalb des Dokumentenstamms zu verschieben,ohne andere Dateien verfügbar zumachen,abernichtin anderen Setups?
Fazit: Nach langem Hin und Her zu diesem Thema haben sich zwei Antwortenergeben,diemeiner Meinungnach alsmaßgeblich angesehen werden sollten. Aaron Adamsmachteinen guten Fallin Gunst des Verschiebens wp-config und chrisguitarguymakes agood Fall dagegen . Dies sind diebeiden Antworten,die Sie lesen sollten,wenn Sieneuim Thread sind undnicht dieganze Sache lesenmöchten. Die anderen Antworten sindentweder redundant oder ungenau.