[過去ログ] CGI設置について質問【Part3】 (983レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
180
(4): 2007/08/06(月)10:43 ID:??? AAS
既存CGI改造の話ではないんですが、質問です。

ブログのスパム対策で、POSTリクエストが来たら人間判定を行い、
OKなら本来のCGIにチェインし、NGならそのPOSTは捨てるような
Perlスクリプトを考えています。

そのPOST要求がNGとなれば、「それじゃあ受け付けられねーぜ」
みたいなメッセージを表示して終了するんですが、このとき標準入力の
内容は読み捨てておいた方がいいんでしょうか。それとも勝手に破棄されるんでしょうか。
182: 180 2007/08/06(月)15:21 ID:??? AAS
>>181
なるほど、同時に複数のPOSTリクエストが来ることもありえるんだし、
ずっと保持されるわけないですよね。

となると、今度は本(?)CGIにチェインするまでに、どうやってもとの
POSTデータを保持しようかという問題が。本処理(書き込み)の前に
2回余計なCGI経由するわけで、プロセス間通信てわけでもないし…。
ちゃんと応答があるとは限らないから(というか、応答の有無でロボット
判定するようなもんだし)ファイルもよくないだろうし、困った。

何かいい方法あれば教えていただけるとありがたいです。
184
(2): 180 2007/08/06(月)20:23 ID:??? AAS
>>183
元のCGIはHTTPプロトコルでは触れないところにあって、
execで直接呼び出そうと考えています。
Locationとかでリダイレクトするようにすると、直接アクセスされたら
意味ないですからね。

(1) フォームからのPOST受付&人間判定フォーム表示CGI
(2) 人間判定フォームからのPOST受付&判定(スパムの場合はここで終了)
(3) 元CGI呼び出し

(2)と(3)は処理の流れが引き継がれると思うのですが、(1)と(2)の間を悩んでおります。
何かいい方法あるでしょうか。
186
(1): 180 2007/08/07(火)22:31 ID:??? AAS
>>185
サーバーはLinuxなんですが、Linuxでのプログラム暦は浅いんで、
どんな方法があるのかよくわかりません。
>>184の(2)では新しいプロセスが起動するわけで、どうやって(1)と関連付けるか
ちょっと検討つきません。
常套手段等教えていただけるとありがたいです。
188: 180 2007/08/08(水)12:33 ID:??? AAS
>>187
えー、>>184の(1)は判定用のフォームを表示して終了してしまうし、
(2)は関係のない新しいプロセスだし、そもそも(2)は起動されないかもしれない。
さらに複数のPOST要求もありうることを考えると結構難しそうですが…。
設計変かな。もう少し考えてみます。

# ここって意外と静かなんですね。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.036s