Avatar billede ofirpeter Nybegynder
16. oktober 2007 - 15:33 Der er 13 kommentarer og
1 løsning

Rediger httaccess fil i browseren

Hej!
Er det muligt at lave et script, så jeg kan redigere min httaccess fil direkte i browseren fra en tekst boks?

Så slipper jeg for at skulle rode med ftp hver gang jeg skal ændre i filerne.
Avatar billede tmi Nybegynder
16. oktober 2007 - 16:32 #1
Prøv det her:
(husk at du skal have skriverettigheder til filen ;-)

<?

if ($_POST) {
$h = fopen(".htaccess", "w");
fwrite($h, $_POST["htaccess"]);
fclose($h);
}

?>
<form method='post'>
<textarea name='htaccess'><?=file_get_contents(".htaccess");?></textarea><br>
<input type='submit' value='Gem'>
</form>
Avatar billede tmi Nybegynder
16. oktober 2007 - 16:33 #2
Det var et svar ;-)
Har ikke lige testet det, men tror det burde virke :-)
Avatar billede tmi Nybegynder
16. oktober 2007 - 16:35 #3
Og tag lige en backup inden du tester, hvis der nu skulle være en fejl :-)
Avatar billede ofirpeter Nybegynder
16. oktober 2007 - 17:00 #4
Perfekt, det var jo simpelt. Kun en ting er generende. Det ser ud til at antallet af \ bliver fordoblet hver gang jeg gemmer?
Avatar billede tmi Nybegynder
16. oktober 2007 - 17:08 #5
Lav linjen:
fwrite($h, $_POST["htaccess"]);
om til:
fwrite($h, stripslashes($_POST["htaccess"]));
Avatar billede tmi Nybegynder
16. oktober 2007 - 17:11 #6
Det er fordi du har slået magic_quotes til, det er vidst på som default.. Men det gør at al information fra formularer automatisk får tilføjet en \ foran alle apostrofer (') og backslashes (\), så brugere ikke kan manipulere i en SQL-sætning :-) Så det er godt at have på! :-)
Avatar billede ofirpeter Nybegynder
16. oktober 2007 - 17:18 #7
Men hvordan undgår jeg det i min form?
Avatar billede tmi Nybegynder
16. oktober 2007 - 17:20 #8
Som jeg lige skrev ;-)

Lav linjen:
fwrite($h, $_POST["htaccess"]);
om til:
fwrite($h, stripslashes($_POST["htaccess"]));
Avatar billede ofirpeter Nybegynder
16. oktober 2007 - 17:27 #9
Undskyld, så ikke dit første svar. Tak for hjælpen.
Avatar billede tmi Nybegynder
16. oktober 2007 - 17:29 #10
Husk du kan ændre størrelsen i tekstboksen, men det ved du vel? ;-)
Ellers skal du bare ændre
<textarea name='htaccess'>
til:
<textarea name='htaccess' style='width: 500px; height: 100px;'>
eller evt. 100% i stedet for px? :-)
Avatar billede olebole Juniormester
16. oktober 2007 - 20:11 #11
<ole>

Du skal have _rigtig_ god indsigt i serversikkerhed for at lave en løsning, hvor du online-redigerer .htaccess-filer. Ellers sætter du vand over til en tom server og store smerter under håret  ;o)

/mvh
</bole>
Avatar billede tmi Nybegynder
16. oktober 2007 - 20:23 #12
Nåja, du skal passe på folk ikke kan se filen..
Tilføj evt lige efter <? på næste linje:
if ($_SERVER["REMOTE_ADDR"] != "123.456.789.123") die("Access denied");
hvor 123.456.789.123 er din IP :-)

se din IP på http://www.myip.dk/
Avatar billede olebole Juniormester
16. oktober 2007 - 20:33 #13
- eller bare:

<?
print "Min IP er: ".$_SERVER["REMOTE_ADDR"];
?>
Avatar billede ofirpeter Nybegynder
16. oktober 2007 - 22:59 #14
Hej olebole. Jeg forestiller mig bare at siden hvor man redigere .htaccess filen er bekyttet af en anden .htaccess fil?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester