C言語、CGIでボタン制御について教えて下さい。
(apacheを使用してます。JAVA SCRIPTは、使用禁止です。)
CGI画面からボタンを連続で3回押下した場合に
最初の1回目、または、3回目のPOSTだけを有効にしたい場合
どうすればできますか?アドバイスください。
下記の方法は自分なりに方法を考えました。
(1)セッション管理
1 CGI全てのPOST、GET指定に、
セッションID(ユニーク)を付加させる。
ID+time
問題点:
いつセッションIDの生成するのか?、
いつセッションIDをチェックするのか?、
いつセッションIDを削除するのか?
自分自身わかっていません。
(2)セマフォ制御
CGIのmain関数の開始と終了で排他制御をする。
問題点:セマフォ制御をCGI自身にしていいものなのか?
URL:セッション管理
http://memo.blogdns.net/session.html
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
セッションも一種のデータベースですから、セッションIDに関連づければどんなデータでも保存できます。
関連づけたデータの方にアクセス時刻やアクセス回数を保持しておきます。
> 1 CGI全てのPOST、GET指定に、
> セッションID(ユニーク)を付加させる。
> ID+time
IDがユニークなはずですから(でなきゃ「ID」じゃない)、timeは不要では?
よくユニークにするためにtimeを付加することがあると思いますが、
サーバーへのアクセスは、2人のクライアントが同時にアクセスすることもあるので、
ユニークな文字列が作れなければ、IPアドレス+timeでIDにできます。
> いつセッションIDの生成するのか?、
最初にアクセスしたとき。
セッションIDが存在しなければ、それが1回目のアクセスと言うこと。
> いつセッションIDをチェックするのか?、
アクセスしたとき。
> いつセッションIDを削除するのか?
任意。
自分(CGIアプリケーション制作者)が不要と判断したとき。
たとえば、このくらいの時期が過ぎれば古すぎて使えないデータになるだろう、という期間。
> 最初の1回目、または、3回目のPOSTだけを有効にしたい場合
3回目のアクセスを有効期限としても良し、4回目以降のアクセスを全て無効にするなら数日とか数年とか。
ただし、ネカフェから別の人が1時間後にアクセスすることもありますので、IPアドレスで管理するなら、有効期限の調整は結構考えさせられます。
> (2)セマフォ制御
何時、何人がアクセスしてくるかわからないセッション管理にセマフォは無駄、
有効期限が1年なら、その1年間、メモリが使いっぱなしになります。
ホスティングサービスを利用すれば、間違いなく過負荷によるアカウント剥奪ですね。
通常はファイルに保存して管理します。
また、forkによって起動したアプリケーションも一定時間でOSにより強制終了させられることもあります。
この辺はサービスの利用規約やサーバーの仕様書を確認してください。
No.1
- 回答日時:
ボタン表示のところでセッションなり、timeなりで一意の値を作成。
データが飛んできたらまずは一意データを調べ、重複が無ければ登録。重複してればエラーを返す。
ボタン連打だけを止めたいのならば10分程度値を持っていれば良いでしょう。
もしくは単純に同一IPは弾くとか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP 「ログイン機能を持たせる」説明が気難しいです。 2 2022/10/11 02:59
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- その他(IT・Webサービス) ホームページにカウント数を表示する 2 2022/10/28 10:37
- PHP PHPのセッション有効期限について 5 2023/06/14 12:40
- JavaScript [Java] Edgeでのアドレスバー非表示について 3 2022/04/20 17:51
- ホームページ作成・プログラミング CGIが実行可能なHP領域又はレンタルサーバーでおすすめの所を教えてください 現在ホームページ領域の 1 2023/01/01 11:47
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- Wi-Fi・無線LAN PCWi-Fiの設定方法がわからなくて困っています。 4 2022/12/28 18:30
- iPhone(アイフォーン) iPhone初期化について質問です。 親から使用時間や勝手にアプリをインストールできないように規制が 2 2022/08/21 11:52
- PHP 掲示板のセキュリティについてアドバイスお願い致します 1 2023/08/11 20:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで集計したい。
-
apacheでPerl CGIが作動せず、5...
-
太鼓
-
掲示板専用スクリプトなどを使...
-
フォームを再送信しますか?
-
入力フォーム(電話番号)
-
ホームページでCGIのフォームを...
-
htmlからパラメータで、cgiに渡...
-
文字コード変えたら動かなくな...
-
チェックボックスでのvalue値の...
-
ラジオボタンの内容を受けてCGI...
-
めちゃきれい
-
number 改行が追加できない
-
生成AI画像について
-
3DCG
-
ホームページにメールフォーム...
-
cgi アクセス制限 エラー
-
CGIの記述について教えてくださ...
-
CGIの設置が分かりません・・・
-
ホームページにCGIを設置したの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
1日1回しかアクセスできないページ
-
フォームの文字数制限を解除したい
-
無料掲示板で書き込みは特定の...
-
会員登録のシステムについて
-
ホームページへのパスワード設...
-
Perlでブラウザのようにクッキ...
-
PHP・セッションでのユーザー認...
-
フォーム要素の文字数制限について
-
Perlでマックアドレスの取得
-
クエリーが含まれるURLを特定の...
-
perl/cgi セッションについて
-
ASP+Access(Jet4.0)のユーザ...
-
fc2無料HPのディレクトリアクセ...
-
シェアウェアの試用制限のかけ方
-
HPのアドレス統一?
-
基本認証でどのようにユーザー...
-
月の第一週とは
-
6月の第2 第4火曜日は何日...
-
よくある 『 第○(1・2・3・4・...
-
DBを10件毎に表示ページング...
おすすめ情報