△▲ WebProg 初心者の質問 Part21 ▼▽at PHP
△▲ WebProg 初心者の質問 Part21 ▼▽ - 暇つぶし2ch685:nobodyさん
10/03/14 00:05:26 e6JahMR0
空メールを送ってもらい、登録URLを送り返して個人情報を入力してもらい登録、
登録後はメール配信を行うシステムの構築を考えています。
MySQLを使って情報をデータベース化しても良いのですが、
サーバーが専用サーバーではなくVPSでの運用で、さらにMySQLの知識や経験がほとんどなく、
セキュリティ面が心配なため、登録メールを端末PCで、メールで受信してローカルで保存することを考えています。
ローカルのデータベース化および配信は専用ソフトを使うつもりですが、
専用ソフトの登録情報取り込みがPOPのみでサーバから端末PCまでが暗号化されません。
多少無理してでもSQLで運用した方が良いのか、それともサーバから端末までの
経路での不安を抱えながらが良いのか、識者の方のお考えを伺えたらと思っております。

686:nobodyさん
10/03/14 00:18:42
DBに格納すれば安全なわけでもないし、
メール受信が平文なら他でいくら心配しても無駄ではない?


687:nobodyさん
10/03/14 00:21:56 nHgOFBBV
きっと気にしなくても平気だろうけど

専用ソフトがなんだかわからんけど
個人情報受け取ったcgiが暗号化してメール投げる
受け取っててもとで平文にしてdbにいれる
専用ソフトは暗号化されたsendmailを使う
とかできるんじゃね

688:nobodyさん
10/03/14 00:58:46 e6JahMR0
>>686
やはりDBでも安心はできないですよね。
>>687
PHPでの実装を考えています。
専用ソフトは、指定した書式のメールを受信して取り込み自動的にDBに書き込みます。
配信は別のソフトで、こっちはPOPoverSSLに対応しています。
別のメーラーで一度SSL通信で受信後、DBに書き込むことは可能ですが、
あまりにも手間がかかってしまいます。

ユーザー -登録情報(SSL通信)→ サーバー 

サーバー -PHPで指定書式にした登録情報のメール(非SSL POP)→ 管理PC
もしくは
サーバー -登録情報(SSL)→ 管理PC 指定した形式に都度変換→DB
といったところでしょうか。
登録ユーザーは別途名簿があり、対象者に直接書面で登録URLを知らせます。
登録情報はメールアドレスと氏名、登録区分程度で、ウェブなどには公開しないのですが、
それでも平文でメールが流れるのはリスクを伴いますよね。
リスクと手間、どこかで妥協しなければならないですよね・・・。

689:nobodyさん
10/03/14 03:42:39
ログイン機能のあるウェブサイトのDB設計で
「ユーザテーブル」と「ログイン情報テーブル」のように分けるケースをよく見かけます。
(ユーザテーブルに名前や住所や電話番号などを格納して、ログインテーブルにログインIDとパスワードを格納する感じ)

ユーザテーブルにログインIDやパスワードを保持するのは何か問題あるのでしょうか?
ユーザとログインIDは通常1:1の情報だから同じテーブルに入れるのが筋だと思うのですが。

690:nobodyさん
10/03/14 03:44:04
いや問題はない
利便性のために意図的に正規形を崩してるだけ


691:nobodyさん
10/03/14 05:17:43
>>689
ORMとかリレーショナルデータベースでググレ

692:689
10/03/14 10:09:58
>>690
>>691
ありがとうございます。
利便性というのは具体的にはどのような効果があるんでしょうか。
ORMがヒントであるなら、ユーザ情報とログイン情報を別のクラスとして扱いたいということですか?
むしろ面倒くさくなりそうです。
一般的にはログイン後にユーザ情報を取得すると思いますが、
ユーザテーブルとログイン情報テーブルにテーブルを分けてしまうと、ログイン処理の度に二つのテーブルを参照する必要がありますよね。

693:nobodyさん
10/03/14 21:21:48
たとえば、ログインするのに、そのユーザの住所や電話番号が必要か?
ログインIDとパスワードだけでいいのに、不要な情報まで取得するのは無駄だとも考えられるだろ

まあ、ログイン処理で実テーブルの構造考えるようじゃ、
ORMやる意味ないけどな

694:nobodyさん
10/03/14 23:04:07
すいません、xampp について質問する板はここでいいんでしょうか。
もし違うなら板を教えてください。よろしくお願いします。

695:nobodyさん
10/03/14 23:06:25
>>693
その理由だけだと、いらない情報はselectで外せばいい、と返されてしまうよーな。


696:nobodyさん
10/03/14 23:43:24
>>695
アプリ側だけみればその通りだがDBMSの動作って範囲で考えると違いがでてくることもある

まあ、実際に動作的な問題でテーブル分けてる場合は少ないと思うが
(とくにロックを長時間保持することのすくないWEBアプリなら)
ほとんどは設計が適当だったりした結果別テーブルなだけだと思われ
別テーブルであることに明確な理由はなく
将来の拡張に備えてとか言う言い訳がついたりするパターンだな

697:nobodyさん
10/03/14 23:47:37
利便性
拡張性
便利な言葉だね

698:nobodyさん
10/03/15 00:06:56
金取るためにゃ便利な言葉さ

699:nobodyさん
10/03/15 10:05:19
基本的に、変更がありえないものだけで1つテーブル作って
それ以外は分けるべき。キリが無くなるし、
あとで別の人がメンテしようとしたときにうんざりする

700:nobodyさん
10/03/15 16:32:50
もうDB板の範囲。WebProgに特化した話題じゃないし。

701:nobodyさん
10/03/16 00:42:52
>>694
下記にあったよ

xamppってどうよ?
スレリンク(mysv板)

とりあえず何につまづいてるのかわからないと詳しい誘導もできないだろな。

702:nobodyさん
10/03/16 01:23:04
投稿サイト作ってるのですが
各投稿に番号をつけようと思って
投稿時間(UNIX値)を使いたいのです。

これを重複させないようにするには
ファイルロックしながらtime()関数を使えばいいのでしょうか?

703:nobodyさん
10/03/16 01:41:43
何故データベース設計は軽視されるのか?
スレリンク(db板:446-447番)

704:nobodyさん
10/03/16 01:51:17
>>702
それなら時間+区切り文字+固有のID(プロセスでもなんでもいい。)かな。
IDはユニークでなきゃだめなんだから、ロックしていてもかぶるかもしれんのは使いたくない。

705:nobodyさん
10/03/16 02:52:29
いろいろ参考になりました!

706:nobodyさん
10/03/16 07:26:49
ファイルロックのときに1秒待てばいいんじゃね?

707:nobodyさん
10/03/16 13:03:13
>>702
あちこちで聞いてるね。
答えようと思ったけどどこで答えたらいいか迷うので答えない。

708:nobodyさん
10/03/16 13:07:20
答えなくていいよw
大した知識があるわけじゃないだろうし

709:nobodyさん
10/03/16 14:03:21
そんな風に煽ってみたってマルチには答えないよw

710:nobodyさん
10/03/16 17:18:04
あちこちってどこだよ

711:nobodyさん
10/03/16 17:21:36
そっちだよ

712:nobodyさん
10/03/16 17:33:39
あっちこちっていいとも!かよw

713:nobodyさん
10/03/16 18:38:06
んなこたーない

714:nobodyさん
10/03/17 00:59:17
>>701
ありがとうござます。

移動します

715:nobodyさん
10/03/17 01:57:10
ChatPadとかのWebベースのチャットって
ajaxとphpと共用サーバーで実現可能ですか?
やっぱプログラムを常駐させないといけないんでしょうか?

716:nobodyさん
10/03/17 02:26:38
とりあえずそこらに転がってるフリーのチャットとか設置してみ。

717:nobodyさん
10/03/17 02:40:39
d(゚Д゚ )☆スペシャルサンクス☆( ゚Д゚)b

718:nobodyさん
10/03/18 22:44:29
リンクをクリックすると、画面遷移させずにその下に詳細情報を表示させるような
画面を画面を作りたいと思っています。

詳細情報はクリック時に取得する必要はないので、
この画面をロードする際に予め取得していて、表示はさせない(隠しておく)、
というのが簡単なのかな、と考えているのですが
このような画面を実現するにはどのようにすれば良いのでしょうか?

719:nobodyさん
10/03/18 22:50:34
>>718
CSS

720:nobodyさん
10/03/18 23:19:45
>>719
リンクのonclickイベントハンドラでdisplayの値を切り替えれば良い、ということですかね。
ありがとうございます。

721:nobodyさん
10/03/18 23:19:53
javascript block 表示非表示

722:nobodyさん
10/03/18 23:52:27
>>721
ありがとうございます。
やりたいことそのもののサンプルを載せられてるページを見つけることができました。
URLリンク(www.plasmasphere.net)

723:nobodyさん
10/03/19 15:22:55 RgXX4bEl
pixivというイラスト投稿サイトを見てたら、
表示する画像&情報を指定するらしいパラメータがあり、適当に数字入れて変更したら
画像は表示されずにトップページやカテゴリトップにリダイレクトされました

これは、
・一度DBに変更後のパラメータで情報を問い合わせる。
・該当情報がなかったので指定のリダイレクト先に転送。
っていう流れをしているんでしょうか?

724:nobodyさん
10/03/19 15:37:40
そうだろうね

725:nobodyさん
10/03/19 17:02:00
親切に詳細なエラーとか出すと攻撃の糸口を教えてるようなもんなので、
Moved とか返したりしてリダイレクトするのが一般的

と、自分は勝手に解釈してる。


726:nobodyさん
10/03/20 02:45:47 Y7vxP7W2
>>718
ahah使えば、クリック時取得でも簡単だぜ。

727:nobodyさん
10/03/20 04:34:56 2Jzz4mSF
「<>'゙&」さえサニタイジングしておけばXSS対策は万全ですか?

728:nobodyさん
10/03/20 10:22:15
万全です


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch