• ベストアンサー

ソース表示でも見れないデータの受け渡し方法

こんにちは! ブラウザでソース表示をしても判らないように、データを受け渡しできないかと悩んでいます。 データ送信する時、見えないようにPOSTで送っていますが、 ブラウザでソース表示すれば渡しているデータが見えてしまいます。 これをさらにソース表示しても見れないようにするにはどうしたら良いでしょうか? 渡したいデータは5つくらいあります。 PHPが絡むのであれば、どんな書き方でも構いませんので 教えて頂けないでしょうか?

  • PHP
  • 回答数3
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
noname#208124
noname#208124
回答No.1

一例としてCookieを使う フォーム表示の時点でCookieを送って、POSTされたデータの処理と一緒にCookieも受け取る 欠点としては 大きいデータには使えない(保証値はRFC 2109によると4KiB×20/1ドメイン) フォームはhtmlファイル単体で出来ない(PHPかCGIでHTTPヘッダでCookieを仕込むか、外部JavaScriptにしないとソース表示で見られなくならない) 確実性がない(ブラウザの設定やセキュリティソフトの所為でフォームデータは送られてきてもCookieが送られてくるとは限らない) 他にもあるだろうなぁ

その他の回答 (2)

  • mpx
  • ベストアンサー率71% (149/209)
回答No.3

// ブラウザでソース表示をしても判らないように、 // データを受け渡しできないかと悩んでいます。 クライアント側にてCookieが有効になっているのが確実なら セッションを使うのが最も簡単な解になるとは思いますが、 任意のブラウザに対応させたい場合、渡したいデータを暗号化して送信する方法が有ります。見られても内容は分からなくなります  hidden属性のinputのvalueに暗号化したデータを送り、受け側で復号するだけです。

  • notnot
  • ベストアンサー率47% (4846/10257)
回答No.2

そういう方法は無いです。 そもそも「(ブラウザに送った物を)見られては困る」という問題設定がおかしいので、そこから考え直すべきです。セッションに保存することを検討しましたか? Cookieを使うと、「ソースを表示」では見えませんが、「Cookieを表示」で見えますので、あまり違いはないです。「相手に見られても、それが"ソースを表示"の機能でなければ問題ない」というおかしな条件の場合なら別ですが。

関連するQ&A

  • PHPによる問い合わせフォームのデーターの受け渡し

    Webサイトを作成しており、現在は問い合わせフォームに取り組んでおります。 そこで、問い合わせフォームで入力したデータを送信した後の、確認画面が上手くできません。 PHPのファイルには以下のように記載しました。 しかし、実際のブラウザの問い合わせフォームのページから送信ボタンを押しても、全く何も表示されておりません。真っ白のままです。 そういえば、問い合わせフォームのページ全体のデザインのまま、データを引き継ぐにはどうしたら良いのでしょうか? PHPファイルに何か特別なコードを記載する必要があるのでしょうか? ちなみに、htmlファイルとphpファイルのhead情報は同じです。 何かアドバイスをして下さる方、お願いします!! <?php $name=$_POST['name']; if($name=='') { print'入力されておりません。'; } else { print $name; } ?>

    • ベストアンサー
    • PHP
  • データの受け渡し(表内に収めたいのですが)

    phpで表から表へデータを飛ばし表示させようとしています。 例 ___________________ |_A___|__B___|___C__| |_____|______|_______| ↓ ___________________ |_A___|__B___|___C__| |_____|______|_______| 例えば、下記のようなソースsample.php→sample4.php を作りました。 データは飛ばすことが出来ますが、表内に収める場合 どのようにすればよいですか? ちなみに、YPHPSampleは、ソースがおいてあるディレクトリです。 (1)sample.php <html> <head> <title>サンプル</title> <head> <body> <table border="2"> <tr bgcolor="#AAAAAA"> <td><th>都市名</th></td> <td><th>最高気温</th></td> <td><th>最低気温</th></td> </tr> <tr bgcolor="#AAAAAA"> <td><th> <form action="http://localhost/YPHPSample/sample4.php" method="post"> <input type="text" name="aut"/> </th></td> <td><th> <form action="http://localhost/YPHPSample/sample4.php" method="post"> <input type="text" name="soft"/> </th></td> <td><th> <form action="http://localhost/YPHPSample/sample4.php" method="post"> <input type="text" name="hard"/> </th></td> </tr> </table> <input type="submit" value="送信"/> </form> </body> </html> (2)sample4.php <html> <head> <title>サンプル</title> </head> <body> <table border="2"> <tr bgcolor="#AAAAAA"> <td><th>都市名</th></td> <td><th>最高気温</th></td> <td><th>最低気温</th></td> </tr> </table> <?php if($_POST["aut"]) print"{$_POST["aut"]}<br/>\n"; if($_POST["soft"]) print"{$_POST["soft"]}<br/>\n"; if($_POST["hard"]) print"{$_POST["hard"]}<br/>\n"; ?> </body> </html>

    • 締切済み
    • PHP
  • phpファイルに書いたhtmlソースが表示される

    php側で用意した変数にhtmlタグと合わせて $tempHTML=<tr><td>$data1</td><td>$data2</td></tr>"; のように文字列を代入して、表形式でデータを表示させようとしているのですが、 なぜかhtml部分のソースのみがブラウザに表示されてしまいます。 ファイル名"search_result.php" --------------------------- <html> <body> <script type="text/javascript"><!-- function dataFunc(txt){ alert("search_result_data"); document.search_result.search_result_data.value = txt; } --></script> </head> <body> <form name ="search_result" method="post action="./search_result_test.php"> <input type="hidden" name="search_result_data" value=""></input> </form> <script type="text/php"> <?php 処理の記述 ?> </script> </body> </html> --------------------------- と書いて実行させると、 --------------------------- <html> <body> <script type="text/javascript"><!-- function dataFunc(txt){ alert("search_result_data"); document.search_result.search_result_data.value = txt; } --></script> </head> <body> <form name ="search_result" method="post action="./search_result_test.php"> <input type="hidden" name="search_result_data" value=""></input> </form> <script type="text/php"> </script> </body> </html> --------------------------- と表示され、phpの記述(<?php・・・?>)以外のソースがまるまるブラウザで表示されてしまいます。 しかも肝心の処理結果も表示できません。 どなたか原因が分かる方がいらっしゃったら教えていただけますか?

    • ベストアンサー
    • PHP
  • ファイル間のデータの受け渡しについて hidden? session?

    1.php (フォームを表示) 2.php (入力内容の確認ページ) 3.php (最後のページ、送られた値を使用し、メール送信やデータベースに書き込むなどの処理をしたい。) とhiddenを使い、3つのファイルを作成しました。 ファイル"1.php" <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title></title> </head> <body> <form action="2.php" method="post"> <input type="text" name="data1" value="データその1"> <input type="hidden" name="data2" value="隠しデータ"> <input type="submit" name="" value="送信"> </form> </body> </html> ファイル"2.php" <?php echo "<h1>確認ページ</h1>"; echo $_POST[data1]."<BR>"; echo $_POST[data2]; print<<<_HOGE_ <form action="3.php" method="post"> <input type="hidden" name="data1" value="$_POST[data1]"> <input type="hidden" name="data2" value="$_POST[data2]"> <input type="submit" name="" value="送信"> </form> _HOGE_; ?> ファイル"3.php" <?php echo $_POST[data1]."<BR>"; echo $_POST[data2]; ?> 2.phpの(入力内容の確認ページ)を見ているときに、他の人が2.phpにアクセスして入力内容を盗み見る事は出来るのでしょうか? (2.phpに直接アクセス出来ないように、リダイレクト処理はするつもりですが。) 2.phpから3.phpに値を渡す場合、このようなhiddenの使い方は間違っていますか? セッションを使った方が良いのでしょうか?

    • ベストアンサー
    • PHP
  • formで送信したPOSTデータの削除について

    いつもお世話になっております。 PHPでカートを作っております。カートに入れるボタンを押した際に、どのボタンを押したかを識別する為に、POSTで識別データを送信しております。 このPOSTデータが含まれている場合にカートに入れる動作が実行される様に設定しておりますが、POSTで送信すると、ブラウザの更新ボタンを押すたびにカートに同じ商品が追加されていってしまいます。 ですので、カートに入れる動作が終了した時点で、このPOSTのデータを無効にしたいのですが、PHPのunset関数を実行しても、ブラウザの更新を押した時点で、再度POSTを送信してしまうので、やはり重複登録されてしまいます。 このPOSTのデータを無効にする方法があれば、是非お教え頂けると助かります。

    • ベストアンサー
    • PHP
  • データの受け渡し

    A.aspで入力されたFormデータをGETで送信し B.aspで内容を判断し、C.aspまたはD.aspにデータを受け渡す。 という事を行いたいと考えています。 B.aspのソースは下記の感じです。 If Request.QueryString("Add") = "C" THen Response.Redirect "C.asp" Else Response.Redirect "D.asp" End If C及びDへデータを受け渡すには、どのようにしたらよいでしょうか? また、今回GETを利用していますがPOSTを利用して同様な事は出来るのでしょうか? よろしくお願い致します。

  • javascript と php とでのデータの受け渡し

    既出の質問かもしれませんが、どの回答を読んでもいまいち理解できなかったので質問させて下さい。 phpからjavascriptへ、その処理結果をphpに送りたいと考えております。 まず phpの変数のデータをjavascriptでクライアント側で処理させるために、 print(<script type='text/javascript'>);~などなど、 printを使ってphpの変数を入れ込んだスクリプトを出力しています。 そして、出力したjavascriptの中にクライアント側の処理後のデータ をphpに送るために、 XmlHttpRequestのopenメソッドで("GET",url,true)とし、 urlには"***.php" + "?a=" + aの値 をいれて request.send(null);で送信するようにしています。 最後に、送信先のphpで $a = $_GET["a"];として受け取ろうとしています。 ちなみに、これらは全て同一ファイル上に書いてあり、 XmlHttpRequestのopenメソッドのurlには、 そのファイル自身を記述してあります。 ブラウザでアクセスしてソースを見てみると、 javascriptは記載されていますが、処理がされていないようで、よって 最後にGETでデータも取得がされていないようです。 そもそもこういったことは可能なのでしょうか? 自分の考え方は間違っているのでしょうか? javascriptもphpも初心者なもので、考え方があっているのかいないのかも 判断できない状況です。また、このjavascriptが何をきっかけに実行されるようにすればいいのかもよくわかりません。 それでは、宜しくお願い致します。

  • htmlとphpのデータ受け渡し???

    いつもお世話になり誠にありがとうございます。 標記の件。 まだ、ボク自身、解っていないようです。 htmlとphpのソースコードを提示します。 どうすればデータの受け渡しができるか? 添削してくださらないでしょうか? html <!--入力画面--> <form action = "./Blog.php" method = "get"> <label class="label" for="name">お名前(ニックネーム)</label> <center><input id="name" type="text" name="name"></center> <label class="label" for="e-mail">メール</label> <input id="e-mail" type="e-mail" name="e-mail"> <label class="label" for="category">カテゴリー</label> <input id="category" type="category" name="categoryl"> <label class="label" for="message">本文</label> <textarea name="area1" style="color:rgb(8, 8, 8); font-size:100%;" cols="50" rows="30"></textarea><br> <input type="submit" name="confiem" value="確認"> </form> CSS <meta charset="utf-8"> <?php session_start(); $mode = 'input'; if( isset($_POST['back']) && $_POST['back'] ){ //何もしない } else if( isset($_POST['confirm']) && $_POST['confirm'] ){ $_SESSION['name'] = $_POST['name']; $_SESSION['e-mail'] = $_POST['e-mail']; $_SESSION['category']= $_POST['category']; $_SESSION['message'] = $_POST['message']; $mode = 'confirm'; } else if( isset($_POST['send']) && $_POST['send'] ){ $mode = 'send'; } else { $_SESSION['name'] =""; $_SESSION['e-mail'] =""; $_SESSION['category']=""; $_SESSION['message'] =""; } ?> <!--確認画面--> <?php if( $mode == 'input' ){ ?> お名前(ニックネーム)<?php echo $_POST['name'] ?><br> Eメール<?php echo $_POST['e-mail'] ?><br> カテゴリー<?php echo $_POST['category'] ?><br> 本文<br> <?php echo nl2br($_POST['message']) ?><br> <input type="submit" name="back" value="戻る" /> <input type="submit" name="send" value="送信" /> <?php } else { ?> <!--完了画面--> <?php } ?> 上記の通りです。 全然ダメだと思います。 添削のほど、宜しくお願い申し上げます。

    • ベストアンサー
    • PHP
  • php $_POSTにデータが受け取れない。

    いつもお世話になりありがとうございます。 標記の件。 windows10の場合、URLの欄にデータを受け取っている感触の データが入っています。でも、ブラウザには表示されず エラーメッセージが出ています。 UBUNTU22.04の場合、ダウンロードに入り、開くと ソースコードが出てきます。 一つのファイルにhtml,css,JavaScript,phpを書くという YouTubeを見ましたが、 最初のインプット欄のhtmlのフォーム欄が色々なコードが 表示されて汚くなりました。 一つのファイルにhtml,css,JavaScript,phpを書くという事は 不可能ではないかと思っております。 ファイルを分けて(複数作って)コードを書かなくては ならないと思っております。 htmlの<form action = “./Blog.php” method = “post”> とphpファイルの$_POSTで紐づけされていると 理解しております。 それなのにどうして、ブラウザでは表示されないのでしょうか? もう何日もそこから進んでいません。 どうか教えてください。 宜しくお願い申し上げます。

    • ベストアンサー
    • PHP
  • ブラウザでPHPのソースを見る方法

    1.ブラウザ(ex.IEなんか)でhtmlのソースを見るには  表示→ソース、とします  xx.htmlファイルであればそうできます。 2.xx.phpファイルで一部、PHPを使っていると  (1.)のようにソースをみることできませんね(?) 3.PHPの作成段階でソールがどうなっているのか  知りたい時、何か手段がありますか 4.最悪の場合、知りたいところのソースをファイルに  書き込んでおいて、これを見ながらDebugもできるんですが、もっと簡易な方法を探しています 5.環境は、サーバはレンタルサーバです  自分はWindowXPを使ってます  ので、PHPソースを作っては、FFFTPでサーバに  送り、実行してテストしています よろしくお願いします

    • ベストアンサー
    • PHP

専門家に質問してみよう