- ベストアンサー
hidden以外で。。
フォーム→確認→送信 とメールフォームの流れですが、確認→送信にhiddenを使ってます。しかし、これだとセキュリティ的に問題があるようです。一般的には、どうやって値を渡すんでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
普通に PHPの$_SESSION 使えばいいんじゃないかな。 (画面の遷移のために、一旦サーバーに送ったデータを再度クライアントに送り直したりせず、 サーバー内で、データを保持させておいて、次の画面で使いまわす) ただ、ログインとか紐付けデータのがなく、自分で入力したデータだけが遷移していく メールフォーム程度でもHiddenでの状態遷移がセキュリティー的に危険というなら、 セッションハイジャック対策も必要だし、 それよりも、Formデータにメールの送信先アドレスを埋めていたりすると スパムの踏み台なって世界中に迷惑かけることがあるので、 そっちも気にしないとまずいように思えますが・・・ (送信先偽装の対策がPHPかjavascriptに必要)
その他の回答 (2)
- superside0
- ベストアンサー率64% (461/711)
> 送信先偽装とはどのようにしますか? #どのようにしますか?っていうのは、 #偽装されないための対策はどのようにしまうかっていう意味ですか? #それともどうやったら偽装できますかっていう意味ですか? #ここの流れでいうと、前者だと思いますので、それ前提で。 クライアントから送信されたデータによって 本来届けたい送信先以外のところへ、 メールが届いてしまわないように、プログラム側で対策します。 該当するメールフォームの機能次第ですので、どうやればいいかというのは、 一概には言えませんが、ざっくりでいうと、 送信先がPHPで決め打ちになっていれば問題ないけど、 Formデータ中に送信先のアドレスがあるなら、それをクライアントが変更して 送信することができるので、危険ということになります。 といっても、該当のメールフォームの機能が固定の送信先でなく 入力された任意のアドレスに対して送るという機能であるなら、 そもそも送信先の偽装をチェックする必要もない訳ですが・・・
- SAYKA
- ベストアンサー率34% (944/2776)
一回postしてその値を元に確認画面をphpでpush・・・じゃないかな。 そうでないならjavascriptでページ推移無しの形の物を作るしかないけどセキュリティ云々言うならその方法もユーザ側でゆがめられるから完全ではないね (javascriptはクライアントベースの駆動)
補足
送信先偽装とはどのようにしますか?