電子書籍の厳選無料作品が豊富!

ウェブサイトのホームからlinuxサーバーのコマンドを打ちたいなと思い、
PHPで作っているのですが下記の通りにするとサイトは表示されるのですが送信を打っても
コマンドだけ起動しないんですよ。何が原因なのでしょうか?
<?php
$comment = $_GET["comment"];
system ($comment);
?>

<!DOCTYPE html>
<html lang = "ja">
<head>
<meta charset = "UFT-8">
<title>フォームからデータを受け取る</title>
</head>
<body>
<h1>フォームデータの送信</h1>
<form action = "in.php" method = "get">
<input type = "text" name ="comment"><br/>
<input type = "submit" value ="送信/">
</form>
</body>
</html>

質問者からの補足コメント

  • うーん・・・

    ご回答ありがとうございます。
    先ほどのコマンドを試してみるとサイト上に結果が出ました。
    しかし、mkdirなどのサーバーに編子を与えるようなコマンドは機能しません。
    どうすればいいのでしょうか?

    No.1の回答に寄せられた補足コメントです。 補足日時:2020/10/03 20:35
  • どう思う?

    ご回答ありがとうございます。
    idを起動してみてもあまり理解できなくて...
    恐らく一致しないとおもうのですがその場合どうすればいいのでしょうか?

    No.2の回答に寄せられた補足コメントです。 補足日時:2020/10/03 21:00

A 回答 (3件)

>恐らく一致しないとおもうのですがその場合どうすればいいのでしょうか?



[方法1]
変更を許可するディレクトリのパーミッションを変更すればよいです。

chmod o+rwx ディレクトリ名

[方法2]
Webサーバーで suEXEC を有効にして、PHP を CGI モードで実行すればよいです。
    • good
    • 0

id コマンドを実行すれば、現在のアカウントが表示されます。



PHP を実行しているアカウントと、ディレクトリのオーナーや書き込み権限が一致しないからでしょう。
この回答への補足あり
    • good
    • 0

PATH が通っていないのでは。



それを使って、下記コマンドを実行してみては。

echo $PATH

いっそのこと、PHPTerm を設置しては。

他人が悪用すると危険なので、Digest認証などを設置してください。
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!