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

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

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

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

Q&A

解決済

2回答

6297閲覧

HTMLのみでログイン処理は書ける?

tetsutail

総合スコア81

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

0グッド

0クリップ

投稿2017/07/30 02:37

編集2017/07/30 02:38

最近、初心者から(私自身も初心者ですが)、Djangoやrailsについて、「webページを作る際、なぜそれが必要なのか、HTMLだけではダメなのか」という質問を受けました。
私は「HTMLだけではログインや投稿機能を実装できないから」と答えましたが、実際のところ、これは合っているのでしょうか?
HTMLだけではPOSTなどでデータ送信はできても、ユーザーデータの書き込みや読み込みなどはできないと思い、こう答えているのですが、実際「ないことを証明するのは難しい」わけで、疑問に思いました。
詳し方、ご回答よろしくお願いします。

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

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

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

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

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

guest

回答2

0

ベストアンサー

GET や POST は Web サーバに対するリクエストです。
ですから、何かしらサーバ側でそのリクエストを処理してやる必要があります。それは HTML ではできません。
一般的な<A href="..."> 形式のリンクも、実際には Web サーバに対して「GET ...」といったリクエストを送っています。それをWebサーバが解釈して、適切なコンテンツをレスポンスとして返しているだけです。Web ブラウザはレスポンスをさらに解釈して、画面に表示したりダウンロードさせたりしているわけです。

インタラクティブなページを作るための最初の方法として、CGI(Common Gateway Interface)というのができました。GET や POST された URL を元に、Webサーバで別のプログラムを起動して処理をさせ、その結果を受け取ってレスポンスとして返すための仕組みです。
これに利用されたのが Perl ですね。
その後、CGI から PHP や Java Servlet といったものもできてきます。それは、HTML + CGI だと処理が分離してしまって面倒になることから、より統一して簡単に、かつ複雑な処理ができるようにしようという欲求があったからです。
※特に MVC という概念が登場してからは、これを実現するための各種フレームワークを使うことが当たり前となってきました

ちなみにパスワードだけであれば、HTMLすらなしでも保護することはできます。ただしそれは Web サーバの機能ですが(Basic/Digest認証)

投稿2017/07/30 03:09

tacsheaven

総合スコア13703

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

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

tetsutail

2017/07/30 04:11

ありがとうございます。やはり、サーバー側で何らかの処理を行うしかないのですね。私も回答者様のように自信を持って回答できるよう勉強に励みたいです。
guest

0

少なくともHTMLだけでは難しい気がします。
まあ、ログイン処理をどう定義するかによりますが……

一昔前、そう、2ちゃ○ねるがまだperlで動いてた頃……おもしろフラッシュ倉庫が流行りだした頃は、
HTMLのフォームに、パスワードとしてファイル名を入力してアクセスするという手法はありました。
送信されるのはファイル名なわけですから、パスワードがあっていればページが表示され、間違っていれば404エラーページが表示されます。
これはHTMLだけでできますね。

次に、HTML+JavaScriptを用いる方法ですかね。

フォームから送られてきたデータをJavaScriptで受取、パスワードのチェックをHTMLにべた書きすると言うものです。
これはパスワードはコードを見ればモロバレですね…

と、まあ、このように不可能ではないですが、セキュリティの観点から危ないのであまり推奨はされません。

投稿2017/07/30 02:46

nnahito

総合スコア2004

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

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

tetsutail

2017/07/30 04:13

ありがとうございます。 パスワードとしてファイル名を入力して擬似ログインという発想はなかったので参考になりました!
退会済みユーザー

退会済みユーザー

2017/07/31 23:28

後者は私も想像したことがあったのですが、やはりそうですよね。怖い怖い
nnahito

2017/08/01 00:10

まあ、前者のやり方はアドレスを適当に入力されればバレますしね…… cookieを組み合わせてやれば、なんとかそれっぽく対策はできますが、WEB言語なしでは厳しいですよね。 でもまあ、「できなくはない」というのが私の持論です
退会済みユーザー

退会済みユーザー

2017/08/01 01:39

そうなんですか。ありがとうございます すでに解決していますしコメントを続けるのも悪いと思うのでさようなら
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問