質問をするのはこのカテゴリであっているのかわからないんですが・・・
今HPを作っていまして、会員登録しないと見れないものにしたいと思っています。
ログインボタンを押す→IDとパスワードを入力→で、会員専用ページにいきたいと思います。でも「登録申込書」を何で作ったら良いのかがわかりません。入力してもらうのは個人情報も含まれるので、セキュリティー面も考えないといけないので、それはどうしたらいいのか・・・わかる方教えてください!
私はこの春から独学でGoliveとDreamweaverを使ってHPを作ってきた初心者なので、わからない事がいっぱいで申し訳ないですが助けてください!
説明不足な部分があれば補足で質問してください!よろしくお願いします。
No.6ベストアンサー
- 回答日時:
共有SSLで見られないのは不思議ですね…。
TOPはHTMLページ(静的ページ)でしょうか。
もしかしたら、プログラムを置けるディレクトリが決まっている可能性があります。
もし良ければ、使用しているレンタルサーバの会社名とプラン名を教えていただけないでしょうか。
SSLページへは、通常のHTMLのリンク同様に、SSLではないページからSSLに飛ぶ際に、<a href="https://xxxxxx">と絶対パスで飛ばせば、その先は相対パスで大丈夫です。
手動で登録する際には、phpMyAdminを使用するのが一番安全で簡単です。
1. phpMyAdminのページを開き、「データベース」をクリックして次画面のユーザ名をクリックするか、左メニューのユーザ名をクリックします。(おそらくデータベース作成権限はないと思うので)
2. 「現在の DB に新しいテーブルを作成する」のフォームにDB名(英数字)、フィールド数(登録する項目数)を入力して「実行する」を押します。(フィールド数は後からでも直せます。)
3. フィールド名・フィールドタイプ・長さ等を入力して、「保存する」をクリックすると、テーブルが作成されます。
*フィールドの設定については、http://dev.mysql.com/doc/refman/4.1/ja/column-ty … の本家サイトに書いてあります。
基本的には、日付はdate,datetime, 文字列はvarchar, 数字はint, bigint辺りにしておけば無難です。
IDやパスワードなど重複しては困るものはunique(表右の方のUマーク), データが必ず入っていないといけないものはnot nullにします。
通し番号をつけてauto_incrementにしておくと(追加するのプルダウン)、何かと重宝します。
4. テーブルを作成したら、左メニューにテーブル名が現れるのでクリックし、上部タブの「追加」をクリックしてレコードを入力します。
(インポート機能があれば、その方が早いのですが、レンタルサーバなのでないのではないかと思います。)
本来は、ユーザを作成して閲覧できる範囲を限定する方がいいのですが、その機能はない可能性が高いです。
phpMyAdminで「特権」のタブが無い、または「権限なし」になっている場合は作成できません。
その場合は、公開情報と非公開情報の権限分けはできませんが、たとえば非公開情報と公開情報のテーブルを分けてリスクを多少でも減らす事は可能です。
(その場合は、どちらにもID・パスワードは登録します。)
公開情報のパスワードは暗号化をしておくと良いかもしれません。
http://phpspot.net/php/pg%82l%82c%82T%83n%83b%83 …
公開日が先に決まっているということなので、登録ページよりも先に、ログインページ、会員同士の閲覧ページを先に作成する事をお薦めします。
プログラム自体も、ログインの方が登録よりも簡単だと思います。
お礼が遅くなりまして申し訳ありません。
何回も詳しい説明をいただいて本当にありがとうございました。
phpを、父の知り合いに教えていただける事になり、今1から勉強中です。IE-9さんから教えていただいた事も参考にHP作り頑張っていきたいと思います。
phpがどういう仕組みなのか、実際にPCを操作しながら教えていただいたらすぐわかり、ここでご回答を寄せていただいた内容も、さらによくわかるようになりました。DBの事も、またphpが把握できてから教えていただける事になりました。
自習というか、自分1人で勉強する時に絶対必要になってくるので、いただいた参考URLなどはその時に参考にさせていただきます。
まだ少ししか勉強していませんが、少しわかると本当に分かりやすい説明だなぁと思い、すごく感謝しています。
本当に、本当に、ありがとうございました。
No.5
- 回答日時:
>php.iniを確認するか、phpプログラムでphpinfo()で情報を確認した方がいい
上記ですが、php.iniはレンタルサーバで公開していない限りは、一般の権限では見ることができません。
phpinfo()は、phpプログラムで、
<?
phpinfo();
?>
とだけ表記して、適当な名前(test.phpなど)をつけて、サーバ(実際にプログラムを動かすサーバなので、この場合は共有SSLサーバ)にアップします。
ブラウザからこのファイルにアクセスすると、phpのバージョンや初期設定が見られます。
この回答への補足
お返事さしあげるのが遅くなってすいません。
>サーバ(実際にプログラムを動かすサーバなので、この場合は共有SSLサーバ)にアップします。
SSLというディレクトリがあって、そこにアップしたのですが、ブラウザでのアドレスが間違っているのか確認ができません。。。共有SSLアドレスが発行されているのでそのアドレスと、ファイルを保存したディレクトリをアドレスに入れたのですが、ページが存在しないといわれました。topは共有SSLアドレスで見れましたのに何がいけなかったのでしょう・・・。
SSLのアドレスはあるのですが、どう一般の人が見るサイトのページのアドレスに設定するのかわからないので教えていただけますか?
私が思っているのはリンク先のURLを入れる時にSSLディレクトリのページを指定するのかなと思ったんですが。。。
親の手伝いで作っているのですが、サイトの公開日をいきなり決められてしまい、急いで会員登録ができるようにしないといけなくなったので、とりあえずメールなどでいただいた情報を私が手動で登録して、IDとパスワードを発行してメールを送るようにする事になりました。それが出来てからまた教えていただいた順番の登録ページを作っていく事にします。何度も色々質問して申し訳ないのですが、手動で登録する場合はどうしたら良いのですか?
本当に何回も何回も申し訳ないですが、よろしくお願いします。
すいません。補足の追加なのですが登録する内容は、個人情報の非公開情報と、公開する情報(登録種別など)を登録して、会員同士が閲覧できるようにします。
何度もご回答いただいてありがとうございます。
No.4
- 回答日時:
No.3
- 回答日時:
MySQLとphpmyAdminが入っているという事でしたら、DBはMySQL, プログラムはPHPが良いです。
相性もいいですし。(おそらくLinuxサーバなので、ASP, ASP.NETは使えません。JAVAはとっつきにくいので、CGIかPHPがいいと思います。)
ただし、レンタルサーバによっては共有SSL内で使えるプログラム等に制約がある場合があるので、確認が必要です。
また、PHPのバージョンによって初期設定が全く異なりますので、php.iniを確認するか、phpプログラムでphpinfo()で情報を確認した方がいいと思います。
(私はCGIが苦手なので、あまりアドバイスができません)
順序的には、SSL(https)通信で
フォームに入力(必要ならJavaScriptで入力内容チェック)
↓
入力内容のエラーチェックをしつつ、確認用に表示
(必須項目の有無、メールアドレスチェックなども含む)
↓
セキュリティの為に再度入力内容のチェックをしつつ、DBに登録。
必要ならメールを送信。
画面に送信後のメッセージを表示。
ログイン時は、
フォームから送られたID・パスワードをDBに照会。
違っていたらエラーページ、合っていればセッションを持たせて
会員ページへ飛ばす。
↓
会員ページを移動するたびに、セッションを確認する。
参考サイト
http://www.php.net/manual/ja/(本家マニュアル)
http://www.sound-uz.jp/php/tips/gpc.html
(フォームの受け渡し)
http://www.phpbook.jp/database/mysql/index3.html
(PHPとMySQLの連携)
参考本
PHP4 徹底後略改訂版
(PHPのバージョンが4ならお薦め。同じ本のPHP5はちょっとわかりにくいかもしれません。)
私もプログラムデビューは会社の業務命令で、初心者からの独学だったので他人事とは思えません。
がんばってくださいね。
この回答への補足
詳しく順序を書いていただいてありがとうございます。
何から順番にやっていけば良いのか全くわからなかったので、本当に感謝しています!!!!
>php.iniを確認するか、phpプログラムでphpinfo()で情報を確認した方がいい
というのはどうやって確認をするのですか?コマンドプロンプトですか?
参考サイトを見ながら頑張ってやっていきます。またわからないとこがあったら質問させていただくので、その時はよろしくお願いします。本当にありがとうございます。
No.2
- 回答日時:
今まで作られたのは、ただ見るだけの静的なWebページですね。
登録申込書のような機能は、YahooやGoogleなどで検索するのと同じように入力した情報に応じて返事を出力しなければいけません。
一般的には、フォーム入力ページを作ってサーバー上のプログラムに情報を送ります。情報をメールで転送するだけでしたら無料のプログラムがありますが、会員登録となると先回答にあるとおりデータベースうんぬんが必要となってきます。
まずは、Webページにフォームを作成して入力された情報を受け付ける仕組みあたりから調べていったらと思います。
検索ワード:フォームデコード、.htaccess
参考URL:http://www.tohoho-web.com/www.htm
この回答への補足
はい。今までは静的なページでした。
参考URLありがとうございます。フォームデコード、.htaccessで検索して調べてみます。
No.1
- 回答日時:
ピントが外れてしまっているかもしれませんが。
「登録申込書」というのは、Web上から会員登録をさせるということでいいのでしょうか?何で作ったら…というのはプログラム上でしょうか、設計上でしょうか。
もし、Web上から登録をさせるのであれば、何かしらのプログラム言語を使用します。
(ASP, ASP.NET, PHP, CGI, JAVAなど)
ログイン等で使用するのにデータを溜めて置くなら、データベースもあった方がいいでしょう。
(Oracle, MySQL, SQL Server, PostgreSQLなど)
また、個人情報の漏洩を考えるなら、SSLの導入は必須です。
何を使用するにしても、入力されたデータを確認画面で表示して、DBに登録するので、クロスサイトスクリプティングやSQLインジェクションなどに気をつける必要があります。
DBでも余計な権限はWEBからのアクセスには与えないようにします。
参考サイトはセキュアなサイトを作る為の基本的な注意点が書いてあるので、参考になるのではないかと思います。
もし外していたら、補足してください。
参考URL:http://www.ipa.go.jp/security/awareness/vendor/p …
この回答への補足
早速のご回答ありがとうございます。1E-9さんの考えている通りです!!
>Web上から会員登録をさせるということでいいのでしょうか?
はい、そうです!
プログラム言語の事がわからないのですが、考えているのはPHPかCGIかと思っています。今から1からやるには時間がかかりますか?また、いくつかあげていただいた中のどれが初心者には取り組み易いでしょうか?
DBは、レンタルサーバーに、DB「MySQL」と「phpmyadmin」がありました。SSLは、共有SSLアドレスがありました。が、どう・何をしたら良いのかはわかりません。
クロスサイトスクリプティングやSQLインジェクションというのは初めて聞いたので、はっていただいた参考URLで勉強します。ありがとうございます。
この補足でおわかりいただけるでしょうか?何もわかっていない初心者ですいませんがよろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- SQL Server DBのテーブルの設計ができず困っています。 2 2023/06/29 16:43
- その他(悩み相談・人生相談) 個人情報の削除に関して 2 2023/04/12 17:53
- Visual Basic(VBA) VBA 登録ボタンを省略してエンターキーで作業 4 2022/07/09 22:29
- ハッキング・フィッシング詐欺 OKWAVEのログインと会員登録と新規登録 1 2023/04/10 17:09
- Safari(サファリ) 他人にログインしたメールアドレスやIDを知られていたら、Safariの検索履歴を見られる可能性はあり 2 2023/03/15 17:24
- ポイントサービス・マイル nanacoカードでマイナポイントを受け取るとき 1 2023/01/04 18:12
- JavaScript ラジオボタンによるフォームの開閉を行いたい 3 2022/03/31 21:30
- その他(悩み相談・人生相談) 大至急!困っております。 LINE clothと言うサイトの7日間無料お試し期間に申し込んだのですが 2 2022/08/30 04:35
- Google+ 質問です。アンドロイドユーザーです。 スマホアプリの「nanaco」を入れてのですが、 残高少なくて 2 2023/06/29 15:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
HTMLフォームのデータ引き継ぎ...
-
header("Locationとリロードに...
-
ブラウザの更新ボタンでセッシ...
-
php 入力画面から確認表示画面...
-
セッション使用時のフォームの...
-
フォームを使わずにPOST送信す...
-
リストボックスにテキスト入力...
-
動的にhtmlテーブルを表示
-
POSTで受け渡したものを保存し...
-
「ページネーション」で検索キ...
-
Dosブロンプトでtabを出力したい
-
Yahoo! JAPAN IDを新規取得でき...
-
DTOとEntityの差は何ですか。
-
shシェルスクリプト 空白行の...
-
switch()文で値の大小比較
-
wordの差し込み印刷で文字...
-
「取得先」という表現について
-
phpでcookieがうまく保存されない
-
SESSION情報は、ブラウザを起動...
-
syntax error, unexpected 'ech...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
php 入力画面から確認表示画面...
-
ログイン画面から入って、「戻...
-
php history.back()の戻るボタ...
-
POSTで受け渡したものを保存し...
-
フォームを使わずにPOST送信す...
-
VBAで重複チェックの仕方を教え...
-
PHPで値を保持する方法
-
ブラウザバックしてもチェック...
-
IFRAME内PHPのセッション変数取...
-
【Java】投稿完了画面リロード...
-
HTMLエスケープ処理とデーター...
-
cURL関数を使用したphpからのpo...
-
asp.netでのセッションを使用し...
-
「ページネーション」で検索キ...
-
php に関して質問です。 各ユー...
-
閉じるボタン「×」を制御したい
-
PHPで名寄せするには?
-
セッションを使用したページ遷移
-
HTMLエスケープすべき場所につ...
-
GETのメリットについて
おすすめ情報