Avatar billede spidr Nybegynder
25. august 2003 - 16:14 Der er 16 kommentarer og
1 løsning

Upload script

Jeg har lavet et upload script (med hjælp fra jer her på Exp.dk) http://www.goog.dk/upload/
Men har lige fået kolde føder da jeg er kommet i tanke om at alle jo kan kode et script der f.eks. kan gå ind og slette alle mine andre sider på serveren, nogen idéer til hvordan man kan klare det eller skal jeg have den hosted for sig selv?? Selv der kan de jo slette selve upload sitet..

Og så lige en ting mere, kan man lave et script så man kan redigere i alle php, asp, txt og htm filerne online? som i kan se på http://www.goog.dk/upload/ har jeg lavet så man kan omdøbe dem, der ville jeg også gerne have at hvis det var en af nævnte fil typer ville den give mig en lille box med koden i hvor jeg kunne rette i den. Hvis nogen har nogen idéer til dette??
Ville gerne give mere men som sagt før, spørger for meget og svare for lidt ;)
Avatar billede detox Nybegynder
25. august 2003 - 16:31 #1
Du kan jo tjekke filtypen på den uploadede fil og kun tillade bestemte typer.
Avatar billede spidr Nybegynder
25. august 2003 - 16:37 #2
jaja det er ikke noget rpoblem mere det at få det i en box hvor man kan få ALLE tegn og sådan med og få lov at redigere det ;)

f.eks.

            $pathinfo    = pathinfo($mydir.$file);
            $extension    = $pathinfo["extension"];
              $extension    = strtolower($extension);

            if (($extension == 'asp') OR ($extension == 'php') OR ($extension == 'htm')){
            $acces    = 'yes';
            }
            else{
            $acces    = 'no';
            }
Avatar billede detox Nybegynder
25. august 2003 - 17:23 #3
Til redigering kan du bruge noget i den her retning:

test.php
--------

<?php
$str = file_get_contents('text.txt');
?>
<form action="test2.php" method="post">
<textarea name="str" cols="100" rows="30"><?=$str?></textarea>
<input name="send" type="submit" value="send" />
</form>

test2.php
---------

<?
if (isset($_POST['str'])) {
    $str = stripslashes($_POST['str']);
    $fp = fopen('text.txt', 'w');
    fwrite($fp, $str, strlen($str));
    fclose($fp);
    echo "Filen er redigeret";
}else{
    header("Location: test.php");
}
?>

Vel og mærke, hvis du har koden stående i 'text.txt', men du ser nok idéen.
Avatar billede spidr Nybegynder
25. august 2003 - 17:25 #4
ja og har også sidet og leget med
<textarea name=text rows=10 cols=50 class=knap>
<?php
$fil = strip_tags($fil);
htmlentities(implode(file('$fil')));
?>
</textarea>
strip_tags($fil) der i det tilfælde jeg har prøvet er index.php gir mig følgende error:
<br />
<b>Warning</b>:  Unable to access $fil in <b>/customers/goog.dk/goog.dk/httpd.www/host/edit.php</b> on line <b>73</b><br />
<br />
<b>Warning</b>:  file("$fil") - No such file or directory in <b>/customers/goog.dk/goog.dk/httpd.www/host/edit.php</b> on line <b>73</b><br />
<br />
<b>Warning</b>:  Wrong parameter count for implode() in <b>/customers/goog.dk/goog.dk/httpd.www/host/edit.php</b> on line <b>73</b><br />
Avatar billede spidr Nybegynder
25. august 2003 - 17:27 #5
Din siger bare:
<br />
<b>Fatal error</b>:  Call to undefined function:  file_get_contents() in <b>/customers/goog.dk/goog.dk/httpd.www/host/edit.php</b> on line <b>73</b><br />
Det er vidst fordi jeg kun er php 4.2.2 :)
Avatar billede detox Nybegynder
25. august 2003 - 17:32 #6
Ja, det er en nyere function. Her er en workarround. Smid funktionen ind i test.php:

function file_get_contents($filename) {
    $fd = fopen("$filename", "rb");
    $content = fread($fd, filesize($filename));
    fclose($fd);
    return $content;
}
Avatar billede spidr Nybegynder
25. august 2003 - 18:18 #7
Nu virkede text area men den anden som jeg har lavet lidt om på:

<?
if (isset($_POST['kilden'])) {
    $navn = $_POST['navn'];
    $str = stripslashes($_POST['kilden']);
    $fp = fopen('$navn', 'w');
    fwrite($fp, $str, strlen($str));
    fclose($fp);
    header("Location: filer.php");
} else {
echo "En fejl er sket!<br> Tryg tilbage i din browser!";
?>

Skriver:

Parse error: parse error, unexpected $ in /customers/goog.dk/goog.dk/httpd.www/host/redigerfil.php on line 12
Avatar billede detox Nybegynder
25. august 2003 - 18:21 #8
$fp = fopen($navn, 'w');
Avatar billede spidr Nybegynder
25. august 2003 - 18:23 #9
<?
if (isset($_POST['kilden'])) {
    $navn = $_POST['navn'];
    $navn = $_POST['file'];
    $str = stripslashes($_POST['kilden']);
    $fp = fopen('./$navn/$file', 'w');
    fwrite($fp, $str, strlen($str));
    fclose($fp);
    header("Location: filer.php");
} else {
echo "En fejl er sket!<br> Tryg tilbage i din browser!";
?>
er koden even ;)
Avatar billede spidr Nybegynder
25. august 2003 - 18:24 #10
ejj vrøvl prøver lige det du sage :D
Avatar billede spidr Nybegynder
25. august 2003 - 18:26 #11
Nu ser den sådan ud:

<?
if (isset($_POST['kilden'])) {
    $navn = $_POST['navn'];
    $file = $_POST['file'];
    $dir = './$navn/$file';
    $str = stripslashes($_POST['kilden']);
    $fp = fopen($dir, 'w');
    fwrite($fp, $str, strlen($str));
    fclose($fp);
    header("Location: filer.php");
} else {
echo "En fejl er sket!<br> Tryg tilbage i din browser!";
?>

og siger:

Parse error: parse error, unexpected $ in /customers/goog.dk/goog.dk/httpd.www/host/redigerfil.php on line 14
Avatar billede detox Nybegynder
25. august 2003 - 18:35 #12
Så skal du nok bruge:

$dir = "./".$navn."/".$file;
Avatar billede spidr Nybegynder
25. august 2003 - 18:36 #13
Den siger stadig:

Parse error: parse error, unexpected $ in /customers/goog.dk/goog.dk/httpd.www/host/redigerfil.php on line 14
Avatar billede spidr Nybegynder
25. august 2003 - 18:37 #14
det værste er at der ikke er en line 14 kun op til 13 :S
Avatar billede detox Nybegynder
25. august 2003 - 18:38 #15
Du mangler osse en } til sidst.
Avatar billede spidr Nybegynder
25. august 2003 - 18:46 #16
Heh havde jeg da set, eller ik ;)
Tusind tak :) Send lige et svar ;)
Avatar billede detox Nybegynder
25. august 2003 - 18:48 #17
Ok c",)
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