5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

CGIスクリプト評価スレッド

1 :nobodyさん:02/04/28 01:24 ID:WlAStrLr
おまえらの作ったスクリプトを晒してください。
当方PerlしかわからないのでPerlのみで。
ただし自作スクリプトに限る。


2 :nobodyさん:02/04/28 01:48 ID:b3pLvKk0
>1
まずはあんたのスクリプト公開せーや

3 :nobodyさん:02/04/28 01:50 ID:???
>>2
くそ、3時間くらい放置して悲惨な1のいるスレにしようと思ったのに(ワラ

4 :nobodyさん:02/04/28 01:53 ID:???































5 :nobodyさん:02/04/28 01:54 ID:???

































6 :1:02/04/28 02:02 ID:???
正直、1つも作ったことがない。

7 :nobodyさん:02/04/28 02:11 ID:???
じゃあ今から書いて公開すれ。

8 :nobodyさん:02/04/28 13:11 ID:???
#!/usr/local/bin/perl

$Pass = "pass"; #パスワード
$File_Access = "log.txt"; #ログファイル
$File_Print = "print.txt"; #プリントファイル
$max_log = 100; #最大保存件数
$prt_log = 10; #表示件数

#引数チェック
if ($ENV{'REQUEST_METHOD'} eq "GET") { $buffer = $ENV{'QUERY_STRING'}; }
else{ read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); }

unless($buffer){ &lock; }
if($buffer eq $Pass){ &print; }
exit;

#ロック処理開始
sub lock{
$rename = "lock".time(); $cnt = 0; $check = 0;
while($cnt > -1){
if(rename("lock",$rename)){
#リネームできたら処理をする
&count;
#処理が終わったら名前を戻し、ループを抜ける
rename($rename,"lock");
last;
}else{
#リネームできなかったら1秒待って繰り返す
$x[$cnt] = substr(<lock*>,4); sleep(1); $cnt++;
#5秒待ってリネームできない場合は「以前に異常終了していた」とみなす
if($cnt > 4){ rename("lock".$x[0], "lock"); $cnt = 0; $check++;}
if($check > 1){ exit; }
}
}
}

9 :nobodyさん:02/04/28 13:12 ID:???
#カウントアップ処理
sub count{
#アクセスログファイルオープン
open(IN,"$File_Access"); $log = <IN>; close(IN);

#各構成子作成
$count = substr($log,0,index($log,",")) + 1;
$referer = $ENV{'HTTP_REFERER'};
$addr = $ENV{'REMOTE_ADDR'};
$host = $ENV{'REMOTE_HOST'};
$agent = $ENV{'HTTP_USER_AGENT'};
if ($host eq "") { $host = gethostbyaddr(pack('C4',split(/\./,$addr)),2)
|| $addr; }
elsif ($host eq $addr) { $host =
gethostbyaddr(pack('C4',split(/\./,$host)),2) || $addr; }
$ENV{'TZ'} = "JST-9";
($sec, $min, $hour, $mday, $mon, $year) = localtime(time());
$date_now = sprintf("%02d/%02d/%02d", $year - 100, $mon + 1, $mday);
$time_now = sprintf("%02d:%02d:%02d", $hour, $min, $sec);
$times = $date_now."-".$time_now;

#構成子整理
if($log){ $log = "$count,$times,$agent,$addr,$host,$referer<>$log"; }
else{ $log = "$count,$times,$agent,$addr,$host,$referer"; }


10 :nobodyさん:02/04/28 13:12 ID:???
#プリントファイル作成
($sec, $min, $hour, $mday, $mon, $year) = localtime(time() - 86400);
$date_yes = sprintf("%02d/%02d/%02d", $year - 100, $mon + 1, $mday);
@log = split(/<>/,$log);
($t,$y) = (0,0);
foreach $x (@log){
@x = split(/,/,$x);
if($date_now eq substr($x[1],0,8)){ $t++; }
elsif($date_yes eq substr($x[1],0,8)){ $y++; }
else{ last; }
}
$print = "Total: <b>".$count."</b> Hit<br>[T]".$t."/[Y]".$y;
open(OUT,"> $File_Print"); print(OUT $print); close(OUT);

if($#log >= $max_log){ @log = @log[0..($max_log - 1)]; $log = join("<>",@log); }
#アクセスログファイル書き込み
open(OUT,"> $File_Access"); print(OUT $log); close(OUT);
}


11 :nobodyさん:02/04/28 13:13 ID:???
sub print{
print "Content-type: text/html\n\n";
print "\n";
print "<html>\n";
print "<body bgcolor=#eeeeee text=#000000>\n";

open(IN,$File_Access); $log = <IN>; close(IN);
@log = split(/<>/,$log);
$cnt = 0;
while($cnt < $prt_log){
@x = split(/,/,$log[$cnt]);
print "$x[0]     $x[1]<br>\n";
print "[USER_AGENT] : $x[2]<br>\n";
print "[REMOTE_ADDR] : $x[3]<br>\n";
print "[REMOTE_HOST] : $x[4]<br>\n";
print "[REFERER] : <a href=$x[5] target=_blank>$x[5]</a><br>\n";
print "<hr>\n";
$cnt++;
}
print "</body></html>\n";
}


12 :nobodyさん:02/04/28 13:41 ID:???
>8-
評価する価値もないね。 最低レベルのコードに目を覆いたくなるだけだ。



13 :nobodyさん:02/04/28 14:47 ID:???
>>11

sub print{
print "Content-type: text/html\n\n";
print "\n";
print "<html>\n";
print "<body bgcolor=#eeeeee text=#000000>\n";

open(IN,$File_Access); $log = <IN>; close(IN);
@log = split(/<>/,$log);
$cnt = 0;
while($cnt < $prt_log){
@x = split(/,/,$log[$cnt]);
print "$x[0]     $x[1]<br>\n";
print "[USER_AGENT] : $x[2]<br>\n";
print "[REMOTE_ADDR] : $x[3]<br>\n";
print "[REMOTE_HOST] : $x[4]<br>\n";
print "[REFERER] : <a href=$x[5] target=_blank>$x[5]</a><br>\n";
print "<hr>\n";
$cnt++;
}
print "</body></html>\n";
}


ダメな奴は何をやってもダメ。

14 :nobodyさん:02/07/20 14:26 ID:Q8IDA5BM
このテンプレで良スレ化期待上げ

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■■ 評価を依頼する手順 ■■
※以下の手順【1】【2】を踏んでいない依頼はすべて『無視』されます。
……………………………………………………………………………………………
【1】まず、スクリプトのソースの2行目に# 2ちゃんねるで評価中と加えてください。
……………………………………………………………………………………………
【2】次に、このスレッドに
●スクリプトのソースのURL ●スクリプトの簡単な説明 ●実際走らせてる場所のURL
●特に評価を希望するポイント
の4点を書き込んでください。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■■ 評価を依頼する時の注意 ■■
・評価対象HPの制作・管理者本人以外は依頼できません。
・まだ制作途中でコンテンツが不十分な段階での評価依頼は避けましょう。
・過去に評価を受けたスクリプトを修正して再評価を依頼する時は、その旨を書き添え
 ましょう。なお、同一スクリプトの評価は3回程度までとします。
・評価依頼を終了したい時は、このスレッドでその意思を明示したうえで
 コメントタグを削除してください。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■■ 評価する時の注意 ■■
・上記の手順を踏んでいない依頼や煽りレスはすべて『無視』してください。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

15 :nobodyさん:02/07/20 14:31 ID:???
2行目って何か書いていいの?

16 :nobodyさん:02/07/20 15:26 ID:w1bL2jRz
>>12
ウザイから消えろ!
お前は何もレスするな!
このスレから消えろ!
この板からも消えろ!
2chからも消えろ!
ネットからも消えろ!
社会からも消えろ!
地球からも消えろ!
100万光年先まで消えろ!

17 :nobodyさん:02/07/20 20:37 ID:???
( ´,_ゝ`)プッ

8 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)