TIP#2117: Co byste po instalaci WordPressu měli smazat či změnit? install.php – pozor ať nedopadnete špatně

O nutnosti smazat install.php jsem se poučil už před lety, když jsem zprovoznil (na VPSku) můj vůbec první WordPress. Tento soubor jsem nesmazal a někdo (naštěstí hodný) do mě oprávněně rýpnul tím, že vlezl do mého webu a přidal tam článek. 

WordPress bohužel po instalaci stále nemaže install.php a je s tím spojená jedna velmi nepříjemná letitá chyba.

Pokud dojde k výpadku databáze, tak by se měla objevit stránka s chybovou informací o “výpadku”, ale zaručeno to není. Zcela běžně se místo toho objeví právě install.php – a ten umožňuje “nainstalovat” WordPress – což obnáší i to, že se vám při vhodném načasování někdo může vloupat do vašeho webu a ukrást ho.

Pokud by vše fungovalo jak mělo, tak install.php už nebezpečný není, WordPress to má už ošetřené a při pokusu o otevření se zobrazuje to, co vidíte v obrázku v záhlaví.

Poté co dokončíte instalaci byste tedy rozhodně install.php měli smazat, nebo, ještě lépe, ho nahradit něčím bezpečným. Smažete-li ho a dojde k výpadku databáze, tak váš web bude vyhazovat “TOO MANY REDIRECTS”, takže je vhodnější ho nahradit.

Install.php najdete ve složce wp-admin, takže stačí použít FTP a postarat se o nápravu.  Buď smazáním souboru, nebo, chcete-li si ho nechat, tak přejmenováním – třeba na install.php.original

Pokud nechcete mazat, tak můžete do .htaccess přidat následující

# PROTECT install.php
<Files install.php>
Order Allow,Deny
Deny from all
Satisfy all
</Files>

Případně, třetí elegantní řešení, můžete nahradit PHP kódem, který v případě výpadku bude zobrazovat 503 chybu (v Chrome 500 chybu). 

<?php header("HTTP/1.1 503 Service Temporarily Unavailable"); ?>
<?php header("Status 503 Service Temporarily Unavailable"); ?>
<?php header("Retry-After 3600"); // 60 minutes ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Error Establishing Database Connection</title>
</head>
<body>
<h1>Error Establishing Database Connection</h1>
<p>We are currently experiencing database issues. Please check back shortly. Thank you.</p>
</body>
</html>

Další tipy ve kterých zjistíte jak na WordPress

Načítání…

Something went wrong. Please refresh the page and/or try again.