Ajaxでパスワードによって表示を変える方法はあるのか?

このQ&Aのポイント
  • Ajaxを使用してパスワードによって表示を変える方法についてご質問されています。
  • 質問者は、ユーザの操作レベルによって表示するフォームやボタンを制御したいと考えており、Ajaxを使用する場合にはタグの表示非表示の変更が可能かどうかについて知りたいと述べています。
  • また、cgiを使用する場合、3つのhtmlファイルを作成する必要があると言及されています。
回答を見る
  • ベストアンサー

Ajaxについて

いつもお世話になっております。 今回はAjaxについてお聞きしたいです。 たとえばアクセスレベル1が閲覧のみ、レベル2が閲覧と変更、レベル3が閲覧、変更とメンテナンスなど、ユーザとパスワードによってできる操作が違うものがあるとします。 そのパスワードなどはサーバにあり、入力されたものと比較して、操作レベルを分けるのですが、ここで質問があります。 あらかじめ一つのhtmlファイルに設定するフォームや設定変更ボタン、メンテナンスモード移行ボタン等を配置しておいて、パスワードによって、表示するものを選択することができますか? たとえばレベル1でアクセスしたときは、フォームはreadonlyでメンテナンスモードボタンが非表示となっているというものです。 cgiでやればできそうですが、その際は、3つのhtmlを作らないとできないような感じでした。 Ajaxだとフォームは変えられそうでしたが、タグの表示、非表示は変えられるかどうかよくわからなかったので質問させていただきました。 以上の件、ご教授願います。

  • HTML
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
  • inu2
  • ベストアンサー率33% (1229/3720)
回答No.1

Ajax(というかJavaScript)なんて 送信データをいくらでも偽造できるので、そういったパスワード的な権限ものをAjaxでやるものではありません。 権限に応じて、表示非表示なんて制御をAjax任せにしていたとします レベル1の人が意図的に自分のパソコン内でレベル3用のJavaScriptやHTMLを作って送信したらどうなるでしょう 怖いことになりますよね。 なにかしらのサーバーサイドスクリプトをベースにしているでしょうから、そこらへんで権限制御すべきだと思います

iec1128
質問者

お礼

ご回答ありがとうございます。 確かにそのとおりです。 そちらで考えて見ます。

関連するQ&A

  • こんなAJAXを探しています

    巷でちらほらと見られるAJAXがあります。 http://leandrovieira.com/projects/jquery/lightbox/ これと似たような機能が色々ありますが、SWFやメールフォームが表示できるものはありますか? 例えばメールフォームのページを作成し、「mail.html」とします。 ボタンをクリックするとサイズを指定した「mail.html」が出るといったAJAXがありましたら教えてください。 SWFも「1.swf」を用意しておき、ボタンをクリックすると「1.swf」が表示できるものも望ましいです。 宜しくお願いします。

    • ベストアンサー
    • AJAX
  • Ajax&CGI

    Ajax勉強中の者です。 勉強のために簡単なAjaxプログラムを作成しているのですが、早速上手くいかず困っているので質問させて頂きます。 ※ソース等は手元にないのであまり詳しい状況は説明できないかもしれませんが・・。 実現したいことはテキストボックスがあり、そこにIPアドレスを入力しボタンを押すとサーバへ入力した値を送信し、サーバ側では送信された値を受け取りいろいろ処理をした後にクライアントへレスポンスし、クライアントで表示する みたいなことをやりたいのですが(説明下手ですみません・・)。 サーバ側はCGI(Perl)で作成しており、処理は簡単に説明するとクライアントから受け取ったIPアドレスでPingを打ってその結果をクライアントへ返すみたいな感じなのですが、上手く動作せず困っています。 PerlではNet::Pingモジュールを使ってIPアドへPingを実行しています。エラーの内容ですがXMLHttpRequestのstatusは500(サーバー内部エラー)となっており、”エラーを特定できません”と表示されます。 使用しているWebサーバはApacheですがこれは自分がテスト用PC(Linux)へインストールしたもので、もしかしたらサーバ構築に問題があるのかなぁ~なんて不安にもなっています。 テキストボックスに入力したIPアドをサーバで受信し、ブラウザにAjaxで”入力されたアドレスは~です”と表示させたりは動作したのですが・・。 また、Apacheの設定で拡張子.plをCGIとして扱わないようにすると(httpd.confファイルのAddHandlerへ.plを追記しない)サーバの処理結果でなくソースが丸ごと表示されてしまい困っています・・。 ただ拡張子.plをCGIとして扱うと処理結果がレスポンスされます。 この現象についてもどなたか原因を説明して頂けると感謝です。 原因&解決方法など分かる方はぜひご教授ください。 よろしくお願い致します。

  • Ajax環境のつくり方

    Sigma Visual Ajax GUI Builder http://www.sigmawidgets.com/ http://www.sigmawidgets.com/products/sigma_visual/VisualJS/index.html と言うWEBサービス上でWEBインターフェイスを作成したのですが WEB技術の知識が殆ど無く、興味本位でテストしてみたかったのですが。 作成したデータをローカルサーバに置いてブラウザからアクセスしてみ たのですがJSファイルを延々と読込み状態のままUIが表示されません。 Sigma Visual Ajax GUI Builder側の実行ボタンでの確認時は正しく 表示されるので、ローカルのサーバー等の設定の問題かと思います。 JSの知識すら無いので、「.HTML」ファイルと同じように ROOTフォルダにダウンロードしたファイルをただ置いただけですが それでは動かないものなのでしょうか? 実行エンジン等との関連付け等が必要なのでは無いかと思いだ しましたが、どのファイルが実行エンジンなのかわかりません。 説明すら検討違いでしたら申しわけありません。 要は、Sigma Visual Ajax GUI Builderをローカルサーバで動かす には、どのデータを何処に保存して、どのような設定をすれば良いか と言う事が知りたいのですが、お解りになられる方お願いします。

    • ベストアンサー
    • AJAX
  • AJAXチャット

    AJAXを利用したチャットを作っています。 Prototype.jsの.PeriodicalUpdaterを使って定期的にリロードすると同じ情報が繰り返し表示されてしまいます。 例えば ------------------------ 名前:aaa コメント:テスト ----------------------- とフォームに入力すると、 この情報がPeriodicalUpdaterで指定した秒数ごとに増えていってしまいます。。。 改善策を教えてください。 JavaSciriptの部分 function chat() { // パラメータを作成 var parameter = "name=" + $F('name').escapeHTML() + "&" + "email=" + $F('email').escapeHTML() + "&" + "comment=" + $F('comment').escapeHTML(); // Ajax.Updaterオブジェクトを作成 var myAjax = new Ajax.Updater( 'placeholder', // 差し込む要素 'test.php', // 呼び出し先のURL { method: 'post', // メソッド postBody: parameter, // ポストされるボディ部 } ); var myajax = new Ajax.PeriodicalUpdater('placeholder', 'test.php', {postBody: parameter,frequency: 10}); } postでサーバに送信してPHPで受け取ってます。 JavaScriptはフォームの送信ボタンによって呼び出されます。

  • アクセスでモーダルモードでフォームを開く方法

    アクセスでモーダルモードでフォームを開く方法を教えてください。 フォーム1にコマンドボタンを置いて、 それを押すとフォーム2が開くようにしたいのですが この時、フォーム2が開いてる時はエクセルのモーダルモードのように 他の操作はできないようにしたいのですが、どうすればいいですか? いまのままだと、フォーム2を開いてもフォーム1を触ることができます。

  • Ajaxでラジオボタン

    いつもお世話になっています。 現在製作したいものがあるのですが知識不足故に形にできず困っていますx_x; 会員式のサイトで各ユーザーIDが「$mid」という形で読み込んでいます。 ここでユーザーがラジオボタンで「表示」を押すと「$mid.cgi」というファイルに「1」という数字を書き込み、「非表示」を選択すると「0」という数字をAjaxを用いて書き込みたいと思っています。 <FORM>などを用いるとページ遷移が出てきてしまうので・・・。 また2回目以降そのページを表示すると、以前選択した方にずっとチェックが入り続けているようにするのはどのようにすればいいのでしょうか? お手数お掛け致しますがよろしくお願い致します。

  • Accessフォームでのパスワード設定

    お世話になります。 Accessで、あるフォームから管理者専用フォームへのリンクするボタンを作ろうと思っています。 イメージは、ボタンを押した時にパスワードを入力するInputBoxを出し、予め設定された 正しいパスワードが入力されたら管理画面フォームを表示。間違っていたら、パスワードが 違う旨を伝えるメッセージを表示するといった感じにしたいのですが、この様なフォームを 作成するにはどのようなVBAを記述したら宜しいでしょうか。 どなた様か良い方法をご存知の方がいらっしゃいましたらご指導をお願い致します。 (初心者のため出来るだけ詳しく教えて頂けたら幸いです)

  • ASP.NETの新しいWEBサイトでAjaxテンプレートがでない

    ASP.NET初心者です。 本の通り操作し、VWD2008(VisualStudio2008無償版)を インストールしました。 もちろん、IISの設定もVWD2008をインストールする前にしました。 VWD2008をインストールすると、自動でAjax1.0がインストール されるらしいのですが、「新しいWEBサイト」のダイアログに Ajax関連のテンプレートが表示されません。 VWD2008を起動すると、ツールボックスにはAjaxの機能は追加 されているようです。 VWD2008をインストールした時に、Ajaxがうまくインストール できなかったのかもしれない???と思い、 ネットからAjax1.0をダウンロードし、インストールしましたが、 やはり「新しいWEBサイト」のダイアログにAjax関連のテンプレートは 表示されません。 何か設定方法があるのでしょうか? この作業ができないと、本の学習で前にすすめません・・・ 誰か、ご存知の方、助けて下さい!

  • フォームの送信ボタンについて

     Fireworks MX のボタン作成機能を使い、イメージをロールオーバーさせ、[ファイル]->[書き出し]で「HTMLとイメージ」に書き出したボタンを、perlCGIのフォーム送信のボタンにしたいのですが、どのように記述したらよいのかが分かりません。  DreamWeaver MX の機能を使ってそれらボタンをフォームのボタンとして設定することは可能でしょうか? もし可能であればどのような操作をすればCGIのボタンとして設定することができるのか教えて下さい。  また、もし手書きでHTMLのソースを変更することになるのであれば、どこをどのように書き換えれば良いのかご存知の方がいらっしゃいましたら教えて下さい。  よろしくお願いします。

    • ベストアンサー
    • HTML
  • AJAXで新規表示されたボタンが稼働しない

    下記のようなものを作りました。 1 通常は下記のような <100購入>というボタンが表示されています。 <button class="button8" type="submit" name="volume" value="100">100購入</button> 2 <追加表示ボタン>を押すと、 <button class="button8" type="submit" name="volume" value="500">500購入</button>という<500購入>ボタンが新たに追加されます。 3 <100購入>ボタンか<500購入>ボタンを押すと、お好きな数値が購入できます。 前提条件 <100購入>ボタンは、当初から<form></form>内に直接記載されているボタンです。 <500購入>ボタンは、<追加表示ボタン>を押した際、AJAXにより、<form></form>内に新たに設置されるボタンです。 問題点 <100購入>ボタンは問題なく稼働します。 しかしながら、AJAXにより新たに設置された<500購入>ボタンを押しても、Formが稼働しません。 どのようにすれば、AJAXにより新たに設置された<500購入>ボタンが稼働するようになるでしょうか? よろしくお願いいたします。 +++++++++++++++++++++++++++++++++++++++++++++++++++ 当方が作ったソース <script type="text/javascript" src="./js/jquery.js"></script> <form action="abc.cgi" method="post" name="form1" id="form1"> <div id="msg">ここへ出力</div> <button class="button8" type="submit" name="volume" value="100">100購入</button </form> <BR> <button id="btn0">追加表示</button> <script type="text/javascript"> jQuery(function($){ $("#btn0") .click(function () { $.ajax({ beforeSend:function(BTN){ $("#msg").append("<BR>新規ボタンを表示します<BR>"); }, complete: function (BTN, textStatus) { $("#msg").append("<button class=\"button8\" type=\"submit\" name=\"volume\" value=\"500\">500購入</button><BR>"); } }); }); }); </script>

専門家に質問してみよう