罪と罰++二律背反


* 新規登録規制 [#a5801658]

- ページ: [[罪罰改造板2]]
- 投稿者: [[じーく]]
- 優先順位: 普通
- 状態: 提案
- カテゴリー: こんなのが欲しい♪
- 投稿日: 2007-06-12 (火) 02:46:16
- バージョン: 

** メッセージ [#u0e63805]
初めて書き込みさせていただきます。
新規登録時、携帯と特定ホストからの登録を禁止したいのですが、
どのように記述すればいいかわかりません。
ご指導お願いいたします。
--------
- 携帯全てを弾くなら、config.cgiで $mv_mode='pc'; にすればいいかと。特定のホストを弾くのは同じくconfig.cgiの@denyに追加すればいいかと思います。 -- [[six]] &new{2007-06-12 (火) 11:17:49};
- 携帯にて特定の機体を弾くのならば、機体情報を取得した上で@denyの処理と同様になるように変更を加えれば良いかと思います。 -- [[三毛猫]] &new{2007-06-12 (火) 14:11:11};
- お答えありがとうございます。 弾きたいのは新規登録時のみで、それ以降は携帯でのプレイもOKとしたいのです。@denyに追加すればPC登録しても携帯でプレイできますか? -- [[じーく]] &new{2007-06-12 (火) 16:36:35};
- 機体情報の取得ができれば一番よさそうなんですが・・・ 三毛猫さんのサイトも何度か覗かせていただいておりますが、私には導入は困難そうで・・・^^; -- [[じーく]] &new{2007-06-12 (火) 16:39:37};
- まず、indexの時点で、mvのリンク欄の新規登録を削除。>ore_regのmvの処理部を「携帯じゃ登録できないよ〜」表示に変更。(完璧を期すなら、一応PC処理部に、ホスト名などに、ezやdocomoの固有詞等が含まれてればエラー。。。などの布石をする。)>>ore_reg内の任意の場所に、登録者のIPを取得する変数と関数を追加。>@denyではアク禁になってしまうので、@deny2など、登録禁止したいIPを収納する配列を準備する必要がある。>取得した登録者のIPと@deny2を比較照合し、合う場合は「登録が許可されていません」等のエラー表示。 -- [[三毛猫]] &new{2007-06-12 (火) 18:32:48};
- ↑↑ざっとですが、変更手順?を書いてみました。>ただ、PCで登録→携帯でログインすると、pcとmvの記録変数を分けでもしない限り、IPは上書きされるので、重複登録は可能です。>>また、PCサイトビューア等のフルブラウザはPCとして認識される上に、携帯と同様にIPが変動するため、ウチではフルブラウザは「対応策が見つかるまでアク禁」とさせていただいています。^^; -- [[三毛猫]] &new{2007-06-12 (火) 18:37:25};
- 三毛猫さんありがとうございます♪ 早速色々いじってみました。# キャラファイル追加処理のif($mv_mode eq 'pc'){print <<"EOM";の部分をif($mv_mode eq 'mv' || $host =~ /ezweb/ || $host =~ /docomo/){print <<"EOM";のように書き直してみました。携帯のindexの新規登録リンクを削除。もしアクセスされても携帯からは登録できないと表示。ここにPC登録時のホストを記入すれば重複も免れるかな?^^; --  &new{2007-06-13 (水) 12:43:21};
- 名前忘れてしまいました^^; すみません。  PC登録時だけじゃなく管理画面から拾ったホストを入れておけばいくらかましかな・・・? -- [[じーく]] &new{2007-06-13 (水) 12:46:31};
- フルブラウザのホストが分かれば排除することができますね〜  あ・・・この書き方だと*が使えないのかな?例えば「*.cctec.com」のように・・・ -- [[じーく]] &new{2007-06-13 (水) 12:58:43};
- "cache*.*.interlog.com"のように挟まれてる場合はワイルドカード(*とか)が必要ですが、「*.cctec.com」なら「cctec.com」だけでOKかと思います。(「その検索文字列が対象文字列に含まれているかどうか」で判定されるはずですので。。。>マッチング -- [[三毛猫]] &new{2007-06-13 (水) 15:38:47};
- ちなみにフルブラウザは、特定のホストになった上でエージェントに○○が含まれてる。。。とか、サービスごとに特徴があるので、管理画面等でその特徴をつかむと対処しやすいです。>フルブラウザで修行すると、デフォのプログラムがマクロと勘違いしてペナになりやすいので、使わないで貰った方が無難なんですよね。。。^^;>>>登録時の重複弾きですが、携帯を考えないのであれば、"同じプレイヤー名が既に使われています"のあたりの、foreach〜の前あたりに登録者のIP取得関数を置いた上で、プレイヤー名・IDと同様に同じIPがあればエラーになるようにするだけです。(○使えば全然意味ないですが。。。) -- [[三毛猫]] &new{2007-06-13 (水) 15:47:52};
- あ!それです。その挟まれてる状態のホストです。*を入れたらエラーになってしまいました^^; フルブラウザはいくつかホストを確認できましたのでそれを禁止するホストに追加。 携帯とわかってる分のフルブラウザで試したところきちんと弾くことができたようです。 -- [[じーく]] &new{2007-06-13 (水) 20:51:55};
- 管理画面よりプレイヤーのホストを拾うんですが、「cache*.*.interlog.com」こんな感じで毎回数字が変わるのがいくつか・・・ 対処不能かな?^^; -- [[じーく]] &new{2007-06-13 (水) 20:54:11};
- 「$_ =~ s/\*/\.\*/g;」で置換していますか?>それでもだめなら、「cache」と「interlog.com」両方含むもの。。。っとぃぅ条件にしてしまうとか。。。 -- [[三毛猫]] &new{2007-06-14 (木) 10:02:20};
- 「$_ =~ s/\*/\.\*/g;」 この書き方をしらないかも・・・(汗  ご説明いただけると勉強になります<(_ _)> -- [[じーく]] &new{2007-06-14 (木) 15:04:48};
- 化けましたね。。。^^;>\は¥(円のマーク)の半角です。*をメタ?させないため?のクオート?(単語をよく理解しないで書いてますが。。。orz -- [[三毛猫]] &new{2007-06-14 (木) 17:47:43};
- systemの@denyの処理の中にある一文です。>「$_ =~ s/¥*/¥.¥*/g;」 -- [[三毛猫]] &new{2007-06-14 (木) 17:49:00};
- 見つけることができました♪ むむむ・・・ 僕の書き直したものへの適用方法が分からない・・・(-"-;) あの書き方でこの$_ =~ s/¥*/¥.¥*/g;を適用させるには・・・ 聞いてばかりですみません<(_ _)> -- [[じーく]] &new{2007-06-14 (木) 21:33:25};
- @deny2の中身と比較するのは、systemの@denyの箇所と同じforeach (@deny) {〜〜}を使い照合→合致の場合はフラグをつける→フラグのあるものはエラー表示。。。っとする必要があります。>「$_ =~ s/¥*/¥.¥*/g;」は正規表現で役割を持つ「*」が@denyの中にある場合に混同しないために「¥」を含ませる処理です。(詳しくはPERLの正規表現とかマッチングとか置換で検索でもかけてください。) -- [[三毛猫]] &new{2007-06-16 (土) 13:48:14};
- ちなみに、ウチで携帯のアク禁用に使っている「@deny2」では、「$_ =~ s/¥*/¥.¥*/g;」は、何故かコメントアウトされています。>ダイブ前に行った改造なので微妙に朧な記憶なのですが、この一文を外して、前出のように複数条件で行わないと何故か上手くいかなかったような気がします。。。(筋の通らないエラーを応急処置で対処して、後で分からなくなる悪い例。 -- [[三毛猫]] &new{2007-06-16 (土) 13:51:49};
- 正規表現、マッチングについて少し勉強してきます。これをしっかりやれればかなりの対策ができそうですね。 -- [[じーく]] &new{2007-06-20 (水) 13:46:55};
- 一応…現在は上に書いたようにホストで携帯とフルブラウザ、現在登録中のプレイヤーのホストを禁止させています。タイトル画面、新規登録画面、はじかれたときのエラー表示の画面に解析を埋め込んでみました。登録時間は過去の栄光に出ますので登録後すぐ携帯になってもその時間の解析を見ればホストを拾えるようにしてみました。 -- [[じーく]] &new{2007-06-20 (水) 13:53:53};

#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS