#Easily Backup pilna WordPress vietne, izmantojot spraudni # 3Min 2019

Es veidoju iekšēju vietni, un tai nav domēna (DNS nav konfigurēts domēna nosaukumam), tāpēc tai vienkārši piekļūst, izmantojot iekšējo IP adresi.

Esmu lasījis, ka ir lietderīgi saglabāt aizmugures failus, piemēram, php failus, kas savieno ar datu bāzi, ārpus dokumenta saknes un ievietot to vienu līmeni augstāk. Mana struktūra pašlaik ir apmēram šāda:

/Website Main Directory /Backend (contains header.php, footer.php, login.php, logout.php) /Public (index.php, *.css, *.js, *.images) 

Apache virtuālā resursdatora direktorija norāda uz to Public mapi.

Manā index.php ir iekļauti header.php un footer.php, kas darbojas labi, un visi publiskajā mapē esošie faili darbojas kā paredzēts.

Manā galvenē ir pieteikšanās forma, kas izsauc login.php, bet problēma ir login.php atrodas aizmugurē. Html nevar izdarīt to, ko dara php, kas lasa aizmugures failus, tāpēc tas man vienkārši iemetīs 404. Kā es varu likt html piekļūt login.php aizmugures mapē, kas nav mapē documentroot.

Atjaunināt:

Esmu mēģinājis iekļaut visu aizmugures mapes ceļu, bet joprojām tiek teikts, ka login.php netika atrasts, iesniedzot veidlapu:

 
<?php session_start(); include '/var/www/html/.../.../login.php'; if (isset($_SESSION['loggeduser'])) {
echo $_SESSION['loggeduser'];
<form action='logout.php' method='post'>
<button class='logoutbtnc' name='logout-submit' type='submit' id='logout-submit'>Izlogoties</button>
</form>
} else {
<form action='login.php' method='post'>
<input placeholder='Lietotājvārds' name='username' id='username' type='text' style='float: left;' required=''>
<input placeholder='Parole' name='password' id='password' type='password' style='float: right;' required=''>
<button class='loginbtnc' name='login-submit' type='submit' id='login-submit'>Pieslēgties</button>
</form>
} ?> var13 ->

  • Mainiet savu PHP include ceļu, lai tajā būtu iekļauts pilns ceļš uz mapi Backend papildus jebkuram ceļam, kas tajā jau var būt.
  • Problēma ar PHP failiem dokumenta saknē ir tā, ka tie var būt nepareizi konfigurēti, lai tie darbotos kā teksts, un to avota kods var kļūt redzams tīmekļa vietnes apmeklētājiem. Iekšējai tīmekļa lietotnei tas parasti nerada drošības problēmas.
  • 1 Neiesniedziet veidlapu login.php failā, kas nepastāv publiskajā direktorijā. Publicējiet datus vietnē index.php? Action = login un vietnē index.php mēģiniet iekļaut login.php tieši šai darbībai. To varētu izdarīt ar switch ($_GET['action']) { case 'login': include '../login.php'; break }
  • @DevilaN, lūdzu, ievietojiet to kā atbildi
  • Tas viss izklausās daudz kā drošība caur neskaidrību. Pat ja jūs paturat savā vietā "aizsargpasākumu", apsveriet iespēju uzrakstīt kodu tā, lai tā atklāšana nekaitētu jūsu drošībai.

Neiesniedziet veidlapu login.php failā, kas nepastāv publiskajā direktorijā.

Izlikt datus vietnē index.php?action=login un iekšā index.php mēģiniet iekļaut login.php tieši šai rīcībai. To varētu izdarīt ar

switch ($_GET['action']) { case 'login': include '../login.php'; break; case 'anotheraction': include '../otherfile.php'; break; } 

Izmantojot šādu metodi, varat definēt vairākas darbības un iekļaut dažādus failus.

Ja vēlaties to darīt profesionālāk, tad:

  • Izmantojiet mod_rewrite, lai novirzītu visus pieprasījumus uz index.php
  • Izmantojiet tā saukto maršrutēšanu PHP
  • Sāciet izmantot kādu ietvaru vai mikrorāmi. Lielāko daļu netīrā darba veic kāds cits, lai jūs varētu koncentrēties uz faktisko kodēšanu. Lielākā daļa ietvara arī veicina paraugpraksi dokumentācijā, lai jūs varētu izveidot labāku kodu. \

strādāja par jums: Charles Robertson | Vēlies ar mums sazināties?