質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
IIS

IIS(Internet Information Services)はマイクロソフト社によって開発されたwebサーバーです。Windows上で動作します。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

2回答

112閲覧

HTMLを使って自PCからサーバのバッチファイルは実行可能か?

goldman99

総合スコア1

IIS

IIS(Internet Information Services)はマイクロソフト社によって開発されたwebサーバーです。Windows上で動作します。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2024/11/21 08:20

実現したいこと

自PCのブラウザからサーバのIPアドレスを打ち、HTMLを開く。
その後ページ内のボタンを押したら、サーバ内にある.batファイルを実行するようしたいです。
(ブラウザを使って自PCからサーバを遠隔操作したい)

セキュリティ的に、サーバ内の何かを操作するのは難しいでしょうか?
自PC、サーバ共にWindowsPCで、 サーバはIISを使ってサーバ化したものになります。

発生している問題・分からないこと

サーバ上でHTMLを実行してもバッチファイルが実行されず、バッチファイルの中身が文字でブラウザに表示されてしまう。

また、自PCからブラウザで操作した場合はそもそもバッチファイルを操作する段階まで行かない。(操作権限が無い?)

該当のソースコード

特になし

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

URLスキームを使うと良いという情報を得たが、上手くいかなかった。

補足

新たに言語やライブラリをダウンロードすることはできないので、メモ帳で解決できる方法があれば教えていただきたいです。
ライブラリ等必要な場合は、実現不可と考えてください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yambejp

2024/11/21 08:36

> サーバ上でHTMLを実行してもバッチファイルが実行されず ちょっと何を言っているかわかりません 具体的にどういった処理をしたのか明示ください
goldman99

2024/11/21 08:47

HTMLでボタンを表示させ、 ボタンを押した時、xxx.batを起動する。 という処理を作りました。 localhostで自身のWebページを開きボタンを押した所、バッチファイルは実行されずバッチファイルの中身の文字がページに表示されました。
yambejp

2024/11/21 08:51 編集

>という処理を作りました。 が、具体的にどうしたかわかりません batファイルにリンクを貼ってもそのファイルに移動するだけで実行にはなりません
juner

2024/11/21 13:18

> URLスキームを使うと良いという情報を得たが、上手くいかなかった。 具体的などんなことを行ったかというコード等は無いのですか? カスタムURLスキームで バッチファイルは叩けると思われますが……。 https://garafu.blogspot.com/2014/02/url.html?m=1
guest

回答2

0

クライアントのブラウザを使って、HTTPサーバー上のプログラムを起動することはごく当たり前に行われていて、
このサイトTeratailでもGoogleでもAmazonでも、サーバー上で何らかのプログラミング言語で書かれたプログラムが起動されて、そのプログラムがサーバー上のファイルやデータベースを読んだり書いたりしています。

ファイルをそのまま表示するのか、プログラムやスクリプトとして実行するのかは、HTTPサーバー(今回はIIS)の設定次第です。「IIS CGI」とかで検索すると良いかと思います。

セキュリティ的に、サーバ内の何かを操作するのは難しいでしょうか?

サーバー管理者が「このサーバーで実行すると決めたスクリプト」を動かす訳なので、何の問題もありません。全世界のウェブサーバーがそうやってます。

その後ページ内のボタンを押したら、サーバ内にある.batファイルを実行するようしたいです。

という記述からは、あらかじめ作っておいたbatファイルの実行のようなので、そうであれば問題ないです。

なお、今回は関係ないと思いますが、「クライアントのブラウザ画面で入力した文字列をバッチスクリプトとして実行する」ようなケースではクライアントからの入力文字列が実行して良い物かどうかを判断する必要があるので、知識が十分ない場合はやめましょう。例えば、shutdown /sとかdel *?とか入力されてそれをそのまま実行すると困った事態になります。
入力文字列をそのまま実行するのでなく、あらかじめ作っておいたスクリプトの動作内容を変えるだけであっても、よく考えないとセキュリティーホールになり得ます。

投稿2024/11/21 14:38

編集2024/11/21 14:42
otn

総合スコア85766

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

投稿2024/11/21 08:53

yambejp

総合スコア116443

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問