• ベストアンサー

掲示板はMySQLとテキストファイルのどちらで作るほうがよいでしょうか?

初心者です。 掲示板を作ろうと思うのですが、MySQLとテキストファイルのどちらにデータを渡して保存するべきか迷っています。管理の際のセキュリティ面やレスポンスの早さなど、それぞれのメリット・デメリットを教えてください。また、個人的なおすすめを教えていただけるとありがたいです。 よろしくお願いします。

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

  • ベストアンサー
回答No.4

> 今回、最終的にはPHP+Ajaxによって掲示板orチャットシステムを作ろ > うと思います。 ならばJavaScriptのセキュリティ強化も必要ですね。 > そこで、今回考えていたことは、掲示板がセキュリティホールになってア > カウント情報が漏洩しないか不安であるため、テキスト使用にすべきか、 > DB使用にするべきか迷っておりました。 テキストであってもアカウントを利用しているスクリプトやデータベースに脆弱性が存在するのであれば、 掲示板云々関係なく問題になります。 なので、問題にするのはデータベースのアクセス権限とセキュリティを考慮したスクリプトです。 それらのセキュリティに問題があれば、テキストファイルでも情報を改ざんしたりする事が出来てしまいます。 また、ログはwwwrootより上(httpでアクセス出来ない場所)にテキストファイル として吐き出すのが一般的だと思います。

saak888
質問者

補足

ありがとうございます。 いろいろと参考になりました。最終的にどうするかは微妙ですが、とりあえずの形でMySQLを使用することになると思います。 アドバイスありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

noname#24096
noname#24096
回答No.3

目的によると思います。 作った掲示板を本格的に運用することが 目的ならば、MySQL(DB)の方がよいでしょう。 SQLをマスターするのは必須ですが、 排他処理などは、基本的にDBMSがやってくれますし よほどのことがない限り レスポンスが悪くなることもないでしょうから。 ただ、他のサーバへ移転したり、 作った掲示板スクリプトを公開したりする場合は、 MySQL(DB)環境がないと動作しない訳ですから 敷居は高くなります。 こちらの用途があるなら、 PHPだけで動かせるテキスト方式の方が 汎用性は高いでしょう。 あるいは、 この掲示板スクリプトはあくまで通過点に過ぎず、 さらに勉強して、本格的なシステムを作るのが目的 と考えるのであれば、どちらも必要な方法だと思います。 内容によって、 データベースが簡単、有利な場合もあれば、 テキストファイルの方が扱いが楽な場合(ログファイルなど)も ありますので。

saak888
質問者

補足

みなさんさまざまな意見ありがとうございます。こちらの補足画面よりみなさま宛てに返答させていただきます。da12aem0nさま申し訳ありません。 まず、MySQLに関してですが、私は構築できる程度の知識は持っております。また、PHPもある程度のシステム構築はできる程度です。しかし、PHP/MySQLのセキュリティ面に関してはまだまだ勉強不足といったところです。 今回、最終的にはPHP+Ajaxによって掲示板orチャットシステムを作ろうと思います。 ちなみに、データベースにはここで、質問した内容の「掲示板」以外にユーザのアカウントを保存するテーブルを既に作ってあります。 そこで、今回考えていたことは、掲示板がセキュリティホールになってアカウント情報が漏洩しないか不安であるため、テキスト使用にすべきか、DB使用にするべきか迷っておりました。レスポンスにそこまで、大差がないようであれば、残るはセキュリティ面ですね。。。。 何か良い案などありましたら、是非お願いします。ちなみに、ログ情報など、すべての情報をDBに保存して正解なのですかね?

全文を見る
すると、全ての回答が全文表示されます。
回答No.2

書いて出してだけなので、動作自体はDBでもテキストでも同じでしょう。 セキュリティ面においてはどっちもどっちだと思います。 DBにすれば脆弱性がないようにスクリプティングしなければなりませんし、 テキストでも同様のスクリプティングとファイルの位置・パーミッション設定などが必要になってきます。 テキストの場合はサーバの内容を改ざんされるような問題になる挙動が少ないかもしれないが、 DBであればそちらは多く存在します。 初心者ならば、まず何も考えないでよさげな方を選べばいいと思います。 そこから書籍などから知識を得て、自分が作ったプログラムだと何がマズいのかを 知っていけば良いと思います。 レスポンスについてはDBの方が早いでしょう。 DBなら管理画面を作って、簡単にUPDATE出来ますよ。 テキストだとちと苦労します(内容を全部書き換えになる)。 まぁ、書籍やネットだとまずMySQLかPostgreSQLを利用しているでしょうから、 情報が多い分、DBを使った方が楽だと思います。

全文を見る
すると、全ての回答が全文表示されます。
  • foreach
  • ベストアンサー率51% (43/84)
回答No.1

データベースの有無はサーバー環境に左右されますが、質問を見る限りMySQLは選択できるようなので、私なら迷わずMySQLを選びます。 まず掲示板ということは、複数人が同時にアクセスしてしまうかもしれないという事を念頭に置かねばなりません。書き込みをしてる間はロックして・・なんて管理を自分でやるとなると案外大変で面倒です。 また、テキストファイルであればセキュリティ面も十分考慮しなければなりません。普通においておくとブラウザで丸見えになりますからね。 更には書き込み属性やらも絡んで来ます。 個人的意見ですがこのケースの場合、テキストファイルを選択するメリットは無いと思います(勉強になるとかの副産物的なメリットはあるかも)。 スレ主さんは初心者のようなので、この場合であればMySQLを選ぶのが吉かと思います。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Mysqlについて

    お世話になります。 PHP初心者なので根本的に間違っている質問でしたらすいません。PHPとMysqlの組み合わせで使用する場合に、画像ファイルをWeb上のディレクトリ上に保存せずにMysqlのテーブル内にバイナリデータとして保存することは可能なのでしょうか?画像情報とそれに画像に関する付随情報(画像に対するコメント)などをなるべく同一に管理したいと思い質問します。このような用途ですと本来であれば画像はファイル、付随情報はテキストファイルかMysqlなどのDBでの管理となると思いますが、なるべく一元管理したいと思い質問しました。宜しくお願いします。

    • ベストアンサー
    • PHP
  • 複数掲示板の設定ファイルの保存方法について

    PHPとMySQLを使用して作成した掲示板を index.php?id=aaaa index.php?id=bbbb index.php?id=cccc のように複数管理しています。 設定ファイルはそれぞれ、 aaaa.dat bbbb.dat cccc.dat のように用意しています。 設定ファイルには設定項目が30近くあり10KB近くあります。 そこでこの設定ファイルをMySQLに保存することでサーバー負荷などメリットがあるのかと疑問になりご教授願いたく投稿しました。 今後、掲示板の数も数十近くになる予定なのですが、 設定ファイルはテキストベースの方がよいのでしょうか? よろしくお願い致します

    • ベストアンサー
    • MySQL
  • 掲示板データをテキスト・ファイルに変えてくれるソフト

    掲示板に書かれた内容をコピペして、テキストファイルとして保存したりしています。 この一連の作業を一度にしてくれるソフトはないでしょうか? 掲示板のWebページを指定すれば、あとは勝手にテキストファイルを作ってくれるものがよいかと思います。いらない余分はあとで削除すればいいのですから。 よろしくおねがいします。

  • キャッシュをhtmlとmysqlのデータではどちらの方が読み込む・書き込むのが速いでしょうか?

    取得したデータをキャッシュファイルとして、html形式で保存しているのですが、最近mySQL を使用し始め、データベース内に保存したほうが速いのではないかと思うようになりました。 そこでお尋ねしたいのですが、実際どの程度、処理速度に差があるのでしょうか?ディレクトリにファイルを作成、書き込み、読み込みを繰りかえすのと、mysqlのテーブルに行を追加したり、内容をアップデート、または読み込むのではスピード、CPUの負担等に違いがあるかと思います。 個人的に感覚的に、書き込む際はテキストファイルの場合遅く感じるのですが、気のせいでしょうか?また、読み込む際は逆にテキストファイルの方が速いような気もします。 同じ最新のマシン、同様のデータを扱った場合に、両者間で生じる違いがあればご教授いただけると感謝いたします。ご存知方おられましたらどうぞよろしくお願いいたします。

    • ベストアンサー
    • PHP
  • なぜMySQLを使うのか。

    先日、MySQLの入門書を図書館で見つけて借りてきてみました。 勉強するにあたって、まず、MySQLがなんなのかを調べてみると データベース管理システムとあり、入力された情報などを管理するシステムだとありました。 しかし、どうしてそうしたものが必要になったのかが分かりません。 情報を管理するのであれば、普通にテキストファイルに書き出して、 その場所を明記しておけばいいと思えますし、 情報を取り出したり探したりするのであれば、該当ファイルにgrepなどをかければすむように思えます。 MySQLなどのデータベース管理システムがどうして開発され、使われ続けるのか、 どういった利点があるのか、わかりやすく教えてください。

    • ベストアンサー
    • MySQL
  • テキストファイルのコピー

    あるデータ(数値が入ったデータ)をテキストファイルで保存しました。 で、これと全く同じテキストファイルを500個作りたいです。 そうなるとコピーして貼りつければ良いのですが、500個も作りたいので、1個1個コピーして貼りつけしたらかなりの時間がかかります。 いっぺんに1つのテキストファイルを500個コピーして全く同じテキストファイルを500個にしたい時はどうすればいいでしょうか? やり方ありますか? 詳しい方教えてください。

  • VBAで、テキストファイルの編集

    プログラムの初心者です。 困ってます。お教え下さい。 VBA上の制御で、あるテキストファイルのデータをコピーして、 別のテキストファイルに貼り付けして、別保存したいのですが、 分かりません。 テキストファイルを開くだけでしたらできたのですが、 それからが・・・・ Call Shell("C:\WINNT\system32\notepad.exe c:\text1.txt") すいません、お教え下さい。

  • テキストファイル

    教えてください。テキストファイルをエクセルで開き、データを加工した後、カンマ区切りのテキストファイル(csvではなくて)には保存できないのでしょうか?ソフトが必要ならフリーソフトが良いのですが、良いものがあったら教えてください。

  • MYSQLで画像の取り扱い

    ■質問対象環境:Mysql5.0.33 以降で判断してください。 Mysql内で画像を管理する場合について、教えてください。 過去のスレを読んで、Mysql内での画像(バイナリデータ) の取り扱いに関して、賛否両論があるようですが。 別ファイルでの呼び出しは、今回無い物としてご回答 頂きたいのですが、Mysql内で直接画像データを管理す る場合の事で過程してください。 ●メリットとディメリットについて詳しく教えていただけませんか。 ●画像の質はどうなりますか? ●レンタルサーバの場合データの制限有りなどの場合いくつか  のMYSQLサーバに分散して画像データを管理する事は出来ますか?  可能なら、その場合のディメリットがあれば教えて頂け  ませんか?※1 ※1 MySqlの書籍等でデータを分散管理等の記事を読んだのですが、 Mysql導入初期段階(特別な技術を導入しないで)で使えるのか等 すら解かっておりません、不適切な質問でしたら申し訳ございま せん。

    • ベストアンサー
    • MySQL
  • MySqlの物理ファイルの安全性について

    MySqlの物理ファイルの安全性について 以前古いMySqlを利用して驚いたのが、 管理者ユーザのパスワードが分からなかったが、 別のPCで作成したMySqlに『*.MYD』『*.MYI』『*.frm』といったファイルをコピーする事でデータが見れたことです。 最近のバージョンではどうなのでしょうか?

    • ベストアンサー
    • MySQL