ソフト開発をしています。ユーザーは2000人以上を想定しています。インストールされたソフトから、ネット上のデータベースサーバーにアクセスする形で情報共有がしたいです。その接続は匿名を想定しています。月500円程度のサーバーを探してます。私が調べた情報ではクライアントから接続する場合、データベースのアカウントが必要になります。それはいくら暗号化してあってもネットワークキャプチャーで管理IDとパスワードが漏れます。そこでPHP+MySQL4の通常のWEBレンタルサーバーで、WEBアクセスとして匿名アクセスを許可するようにしたいと思います。使い方は、グループとグループのコメント、そのグループ内の単語と単語についてのコメント(ユーザー投稿)、全文検索です。PHPでそのようなクライアントソフトウェアはあるでしょうか? 英語版であれば日本語のエンコード方法を英語向けに改良します。 また他によい方法があれば教えてください。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2006/07/15 16:20:05
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:kuippa No.1

回答回数1030ベストアンサー獲得回数13

ポイント35pt

完全に仕様をくみとれているわけでもないので、様子をうかがいながら…。


まず、PHPでlocalhostでmysqlにつなげてその結果をphpで吐き出させ…それをユーザークライアントソフトが拾うのじゃだめですか?80番ポートをつかった専用ぶらうざっぽい形での実装になるかとおもいます。クライアントのポートの関係から80番でやるのがやっぱり一番らくちんだとおもいますよ。

プロキシだのルーターだのセキュリティソフトの関係から

クライアントがわとTCP接続するの厄介ですしUDPでだらだらやりとりするのがよいかと。


>WEBアクセスとして匿名アクセス

ここがわからないのですが、PHPでDBへの接続を管理すればWEBの閲覧ユーザーはあのにますでも問題はないですよね?



全文検索は格納のときに工夫したインデックスでもつくっておかないと難しそうです。日本語分かち書きの関係から外国のものを改良するよりナマズとかから一部機能を借りてきてやるのがよいかと・・・

http://www.boundless-ocean.ne.jp/archives/000484.html

MySQLはインデックスが貧弱に思えるので、これまた工夫が必要そうですが…。mySQLと全文検索は相性がわるそうです。


全文ではなくタグというキーワードを先に指定してもらうことにより検索能力をあげるという点では、ソーシャルブックマークのソースなどは流用できないでしょうか?

http://oss.moongift.jp/intro/i-1211.html



ただ、2000人ぐらいのアクティブユーザーとなると、

レンタルサーバはDBへのセッションが2~3本ぐらいしか張れないのでタイムアウトが連発すると結構修復不能な状態になりますよ。

(・・・今困ってます。。。)

id:oryaaaaa

ありがとう

データベースはMDBの経験はあるのですが、ネット上においた場合のものを知らないので質問が悪いかもしれません。同時のアクティブは3人ぐらいです。利用者数が2000人想定。ソフト側から投稿(データベースへの書き込み)をどうやるのかな?PHPで単純にPOSTとREADができればよく、んーできないかな?

2006/07/08 19:45:34
id:kuippa No.2

回答回数1030ベストアンサー獲得回数13

ポイント35pt

二回目。ちょっと質問の主題とはずれますが、コメントへのコメントです。

通常のクライアントサバのDBシステムでなら、DB-クライアントは特定のポートをパイプしてセッションを持ちます。mySQLなら3306とか。ただこれだとおっしゃる通りパケットモニタリングをすればDBへのアクセスのID/PASSがユーザーに漏れてしまうので…

この役割をPHP側に一任するという意味です。

通常は

DB-PHP (サーバー

|(Http通信)

IEなどのブラウザ(クライアント

とやれば、DBへのアクセスはサーバから外へはでないので、セキュアになります。

このIEなどのブラウザの変わりに特定のアプリをつかったらどうですかというのが最初の回答です。

DB-PHP (サーバー

|(Http通信)

アプリ(クライアント

なのでソフト側からの投稿はHttpリクエストをすることになります。極論ですがURLにパラメータ付けて渡すようなものです…。

このケースだとあまりクライアントサイドのアプリケーションの意味がインターフェイスをコントロールできるぐらいの意味しかありませんが……。

DB-アプリ (サーバー

|(tcp/ip通信)

アプリ(クライアント

レンタルサーバーなら多分80番とか25番以外のアクセスはできないと思うので結局Httpになりそうですが、イメージとしてはこんな感じです。

このサーバー側のアプリがPHPになっただけ。

id:oryaaaaa

DB-PHP (サーバー

|(Http通信)

IEなどのブラウザ(クライアント

HTTPライブラリを持っているので、それを使えばよいかな

一通りみました。Namezuはレンタルでは難しそうです。無料は突然消えるケースがあるので嫌だから、超格安のレンタルでできそうなCGIがあると良いです。知りませんか?

2006/07/09 01:19:01

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません