-6
<?PHP

class couty{
   public function write ($a,$b){

       @session_start();
       if(!(isset($_SESSION[`login`]) && $_SESSION[`login`] != ``)){
         echo "you must Logged in to create a PHP file";
       }
       else{
            file_put_contents($a,$b);
            exit;
       }
}
}

$c = `<!DOCTYPE HTML><HTML>
<head><title></title></head>
<body></body>
</HTML>`;

if($_SERVER[`REQUEST_METHOD`] == `POST`){
   $new = trim($_POST[`coutyv`]);
   $dir = (mkdir(`folder/$new`));
   $d = new couty();
   $d->write(`$dir/$new.php`,$c);
}
?>
<form method = `post` action = ``>
<input type = `text` name = `coutyv`/>
<input type = `submit` name = `submit`/>
</form> 
4

2 に答える 2

0

私がすることはほとんどありません

  1. 変数の名前を $d、$a、$c から意味のある名前に変更します - > $new_directory、$output_filename など
  2. $new が有効な名前であることを確認してください。
  3. mkdir がディレクトリを正常に作成することを確認します。
  4. 失敗するすべての状況に対応するエラー処理を追加します。

次の可能性があります。または、将来発生する可能性があります。

$dir = (mkdir(`folder/$new`));  <--- $new might be bad / folder might be bad / call might fail
$d->write(`$dir/$new.php`,$c);  <--- maybe the $dir/$new.php generated a bad path.

// future potential errors:
$new = trim($_POST[`coutyv`]); <---- new might not exist, might be invalid, contain invalid 
于 2013-05-19T14:44:17.150 に答える