- PR -

ユーザサイドプログラムだけでユーザ認証をしたい

投稿者投稿内容
Wingard
大ベテラン
会議室デビュー日: 2004/10/04
投稿数: 168
お住まい・勤務地: 頭の中はファンタージェン
投稿日時: 2007-03-19 11:40
お世話になります。

ちょっとわかりにくいと思いますので、単刀直入にお伺いします。
HTML・Flash(ActionScript)・JavaScriptなどのユーザサイドで動作するプログラムで、
ユーザ認証を行うことは可能でしょうか?

入力されたユーザ名が、ユーザリストと一致すれば、
そのユーザ名を別のリストに保存する、という仕組みを作ろうとしています。
保存先はテキスト形式でも何でも構いません。

認証に使うユーザ名などは、現在はAccessでローカルに保存されているだけで、
DBサーバと連携しているわけではありません。
ですので、使うときはテキスト形式などにインポートすると思います。

使用可能な言語は、HTML・JavaScript・Flash(ActionScript)などの、
ローカル環境でも動作するものしか使えません。
(CGIなどのサーバをセットアップしないと使えない言語も使えません。)


以上ですが、足りない情報とかがありましたらご指摘いただけますでしょうか。
ご回答よろしくお願いいたします。

_________________
◇◇◇ 社内SEを兼務する文系プログラマです。
◇◇◇ WinXP VisualStudio2005(C#メイン) MS・SQLServer とかを使っています。
◇◇◇ 周囲にプログラマがいないので、みなさんだけが頼りですヽ(`Д´;ノ
冬寂
ぬし
会議室デビュー日: 2002/09/17
投稿数: 449
投稿日時: 2007-03-19 12:00
引用:

Wingardさんの書き込み (2007-03-19 11:40) より:
ちょっとわかりにくいと思いますので、単刀直入にお伺いします。
HTML・Flash(ActionScript)・JavaScriptなどのユーザサイドで動作するプログラムで、
ユーザ認証を行うことは可能でしょうか?


無理っす。

「クライアントは、いくらでも改造が出来る前提」で作るのが原則です。
極端な話、WEBブラウザの代わりにtelnetクライアントでもアクセスできるし、web server へ好きなリクエストを送り込めるツールや、ロボットなどまで公開されています。

「社内だけで使うから、なんとか認証してるふりだけでも・・・」という心積もりかもしれませんが、将来、どう使われるか分からないので止めた方が無難です。
(知らないうちに「〜のプログラムは認証してるみたいだし、公開しても大丈夫だよね」で公開される可能性を考えてみてください。「釘さしておけば大丈夫」と思っても、何年かするうちに、恐らくそういう話がでる/になる と思います。)
Wingard
大ベテラン
会議室デビュー日: 2004/10/04
投稿数: 168
お住まい・勤務地: 頭の中はファンタージェン
投稿日時: 2007-03-19 13:15
ご回答ありがとうございます。

Flashなどでは一度ビルドしてしまえば、
内部のスクリプトがどう動いているかとかはわからないと思うのですが、
Flashでもこのような機能を持たせることはできませんか?
冬寂
ぬし
会議室デビュー日: 2002/09/17
投稿数: 449
投稿日時: 2007-03-19 13:42
Flashについてよく知らないので間違えているかもしませんが、どこかに「暗号化するプログラム」があったと思います。
(flash自体は、フォーマット(規格)が公開されていますので、そういうプログラムを使えば内容が分かります。open source で flash を編集するプログラム自体ありますし。)

ってか、最初早とちりして回答した感があるのですが、結局のところ、一体何をしようとしているんでしょうか?

1. 「プログラムの使用自体」を制限したい。
 (例えば、ユーザ名を入力しないと word が使えない、というようなイメージ。それを使って作ったドキュメント自体には自由にアクセスできる。)
2. 「プログラム自体(もしくは、周辺のファイル)にデータあり、それらを制限したい。」
3. 「WEB上にデータがあり、プログラムに制限を課して、結果としてそのデータに制限を課したい。」
 (私が早とちりして理解したのが、このケース。)

後で考え付いたのがこの3つのケースなんですが、具体的に(例えば、〜というデータがあって、それがクライアントにあって・・・などと)説明されると、もっといい回答が得られるのではないかと思います。
Wingard
大ベテラン
会議室デビュー日: 2004/10/04
投稿数: 168
お住まい・勤務地: 頭の中はファンタージェン
投稿日時: 2007-03-19 13:55
ご回答ありがとうございます。

具体的に言います。
あるローカルPCに「顧客番号」と「パスワード」の情報がAccessで保存されています。
これはローカル上にだけ存在し、DBとの連携などは一切取っていません。

そして今、メール配信を希望する顧客に対してのみ、
メールで情報を配信する仕組みを作ろうとしています。

そのため、まずWEB上で顧客番号とパスワードを入力してもらい、
それがAccess上のデータと一致した場合、
メールアドレスを入力してもらい、今後メール配信を行いたいと考えています。

しかし、諸事情から現在使用しているWEBサーバ上に、
ApachやSQLなどのサーバサイドプログラムを載せることができません。
そのため、上記のような質問となりました。


Flashでも解析のプログラムとかがあるんですね。知りませんでした。
以上の点を踏まえて、再度ご回答いただけると幸いです。

かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2007-03-19 15:44
クライアント(ブラウザでWEBを開いている端末)が「A」として、
サーバ(WEBサーバ)が「B」として、
「A」と「B」は物理的に違うコンピュータである。という状態ですか?

ローカルとかWEBサーバとか言っても、
どの視点からのローカルなのかWEBサーバなのかわからないのですよね。

そして、「A」が「B」にアクセスして、「A」に表示されたページのJavaScript等で、
「A」のローカルのACCESSのファイルを読みたいということでしょうか。


簡単に言うと、ローカルのファイルを自由に読み書きすることはできません。
ローカルのファイルを自由に読み書きできれば、
悪意のあるサイトを作れば、ありとあらゆる情報を盗むことができますよね。
ただし、方法がないわけではなく、ActiveX経由なら可能になります。
冬寂
ぬし
会議室デビュー日: 2002/09/17
投稿数: 449
投稿日時: 2007-03-19 16:17
引用:

Wingardさんの書き込み (2007-03-19 13:55) より:
しかし、諸事情から現在使用しているWEBサーバ上に、
ApachやSQLなどのサーバサイドプログラムを載せることができません。
そのため、上記のような質問となりました。


「WEBサーバ上」と書いていながら、Apacheを載せる事ができない・・・という所がよくわかりませんが・・・

引用:

そして今、メール配信を希望する顧客に対してのみ、
メールで情報を配信する仕組みを作ろうとしています。

そのため、まずWEB上で顧客番号とパスワードを入力してもらい、


メール配信を希望される顧客に対して「WEB上から、希望を入力してね」という事でしたら、Apache(WEBサーバ)が無いのでしたらどうにもなりません。

私の理解した範囲でまとめると、
「Accessに入っている顧客について、メール配信を希望する方の情報を収集して、メール配信したい。」
という事でしょうか?

・メール配信を希望する方の情報を集める段階
 ・データを元に「〜というメールマガジン(?)を配信する事になったのですが、もしご希望でしたら〜にメールお願いします。」というメールを送って、希望を聞く。
 (もしくは、営業の人に聞いてもらってくる。)
 ・WEBサーバで、「希望する/希望しない」の入力の出来るプログラムを動作させる。
 (WEBサーバ(Apache)が入ってなければどうしようもない。)

・実際にメール配信をする段階
 ・bccで送ってしまう。
 ・何らかのプログラムで送る。
 (これについては、まず、何か使えるプラットフォーム(.netとかphpとか)を決めるべきだと思います。)

という感じでしょうか?
mio
ぬし
会議室デビュー日: 2005/08/25
投稿数: 734
お住まい・勤務地: 神奈川県
投稿日時: 2007-03-19 16:47
以前知人が、共有フォルダでファイルベースの通信をしてましたね…。

スキルアップ/キャリアアップ(JOB@IT)