人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

シェアウェアなどのCGIでxx日間をすぎると機能が制限され使えなくなるというように書かれてるものがありますが、どうすればそのような制限ができるのでしょうか?具体的に書かれてるページをお願いします。

●質問者: korokuro
●カテゴリ:ウェブ制作
✍キーワード:シェアウェア CGI
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● mcq
●9ポイント

CGIプログラムは大半がperlで書かれたフリーの物で、より複雑な物はオーダーメイドの事が多いと思います。

しかし、期限付きのシェアウェアが存在するのであれば、それは改変の容易なperlではなくC言語等で書かれており、CGI以外の一般シェアウェアと同様に、初回起動時に何らかの情報を保存して制限を掛けているのだと思います。

具体的にシェアウェアのCGIを挙げて頂ければ、回答も具体的にしやすいです。

◎質問者からの返答

ありがとうございます。あまり知識がないのですが確かにperlみたいです。ここの物なんですが…ttp://www.linkstaff.com/


2 ● mi-si
●20ポイント

見た限りでは、初回登録時にレジストレーションファイルを掃き出すか登録して、その登録情報をチェックしているような感じです。

これを簡単に実現するには、初回起動時に暗号化された起動時間をファイルに掃き出し、cgiを動かすときにその情報をデコードして読み出して、現在時間との差分を取るというやり方になるかと思います。

制限を解除するにはcgi登録時にシリアルIDを入力させるようにし、そのシリアルIDを元に作成した暗号化されたに解除コードを送ると言う感じでしょうか?

Perlで書くと知識がある人には読まれてしまうのが欠点ですけど。Perlのコードをわかりにくくする事も可能ですが、あまり複雑なことをやるとcgi本体が重くなってしまうので。

◎質問者からの返答

勉強になります。


3 ● sasada
●20ポイント

お尋ねのcgiですが、確かにPerlですね。

最初の起動時に、とあるファイルを作るようになっていて、そのファイルのタイムスタンプをチェックして日数制限しているようです。

具体的なコード解説は差しさわりがあると思いますので、勘弁してください。m(_ _)m

◎質問者からの返答

そうですね具体的には…やっぱり駄目ですね。


4 ● Iwa
●40ポイント

私もPerlで期限付きのCGI書いてますが、どんなものであれ基本的には以下の順序でチェックしてます。

1.初回動作時に現在時刻を記録

2.次に動作したとき、現在時刻と初回起動時の時間を比較

3.比較した結果、期間を過ぎていれば終了

時間の保存先は

・DBM

・普通のテキストファイル

・SQLサーバー

保存形式は

・そのまま(UNIXタイムのまま)

・暗号化してから

等が考えられます。

ただ、ソースコードが丸見えな以上、破られる可能性が極めて高いので気休めにしかならない場合がありますが私の場合は二重三重の防御策を採って気休めに磨きをかけてます。(ぉぃ

◎質問者からの返答

なるほど簡単なのではすぐ破られてしまいますよね。


5 ● n4d
●1ポイント

ソースコードを見ましたが、Perlですのでどうとでもなります。

但し、試用期限を越えて試用することは利用規約に抵触する可能性が高いため、方法はお答えできません。

また、このシステムでは、代金を払わずに利用するのは不可能な気がするのですが・・・

◎質問者からの返答

代金を払わずに利用するつもりはありません…

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ