スクリプト改造工房 Part3
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
2001/05/02(水) 21:59ID:nr93n3doという人がいましたらここで聞いてください。
ひょっとしたらアドバイス出来るかもしれません。
前スレ
Part1 http://tako.2ch.net/test/read.cgi?bbs=perl&key=958370869
Part2 http://tako.2ch.net/test/read.cgi?bbs=perl&key=986986227
#板移動に伴い「CGI改造工房」→「スクリプト改造工房」に改名
なお、質問するときは
1)そのスクリプトのある場所(URL必須、拡張子".txt"でアップすればなお良し)
2)どんな風に改造して欲しいのか? (完成イメージHTMLを用意すればなお良し)
を必ず明記しよう。
0377名無しさん@お腹いっぱい。
01/09/13 23:43ID:???0378名無しさん@お腹いっぱい。
01/09/19 17:02ID:???0379名無しさん@お腹いっぱい。
01/09/20 03:09ID:???貴方はそれでもいいのですか。
0380名無しさん@お腹いっぱい。
01/09/21 03:46ID:???自ら「初心者です」などとのたまうような恥知らずばかりですから。
0381名無しさん@お腹いっぱい。
01/09/25 09:27ID:ErFieO12ここで配付されている一行掲示板ShortMessageで、
新しい書き込みが下に追加されるように改造したいのですが。。。
どなたか教えて下さい。お願いします。
ソース
http://www.geocities.co.jp/HeartLand-Namiki/9384/shortmessage.txt
0382名無しさん@お腹いっぱい。
01/09/25 09:35ID:???0383名無しさん@お腹いっぱい。
01/09/25 14:09ID:???while ($logmax <= @readed) { pop(@readed); }
unshift(@readed,"$name\t$comment\t$date\n");
↓
while ($logmax <= @readed) { shift(@readed); }
push(@readed,"$name\t$comment\t$date\n");
0385名無しさん@お腹いっぱい。
01/09/28 00:11ID:n9dzVmQQ>だけだとファイルが無いときに自動で作ってくれなくはないでしょうか。
0386385
01/09/28 00:14ID:n9dzVmQQ0387名無しさん@お腹いっぱい。
01/10/02 02:44ID:79J.0mBgこの「分野一覧」の
Ver.Final (4)
Ver.Finalβ (1)
Ver.1.20 (32)
Ver.1.20β (2)
という部分を、
Ver.Final (4) Ver.Finalβ (1)
Ver.1.20 (32) Ver.1.20β (2)
と表示させていきたいんですがどうすればいいのでしょうか。
どなたかご教授お願いします、、
ソース
http://nac_h.tripod.co.jp/tbookmarkp.txt
0388387
01/10/02 03:54ID:???申し訳ありません…
0389名無しさん@お腹いっぱい。
01/10/02 04:00ID:???526行目に $count++;
514行目を if ($count/2 == int($count/2)){$htmlbuf .= "</TR>\n<TR>\n";}
524行目を $htmlbuf .= "<TD COLSPAN=\"$checkbox\"$cb_flag> <B>$sgname</B></TD>";
if ($count/2 == int($count/2)){$htmlbuf .= "</TR>\n<TR>\n";}
0390名無しさん@お腹いっぱい。
01/10/02 04:00ID:???0391387
01/10/04 23:41ID:???すみませんわざわざありがとうございました、、
0392当方へたれですが
01/10/05 19:09ID:y9heCKyc35:require './jcode.pl';#日本語コード変換
163: &jcode'convert(*value,'sjis');
をコメントアウトして,
232: print "Content-type: text/html; charset=Shift_JIS\n\n";
234: print "<META HTTP-EQUIV=\"Content-type\" CONTENT=\"text/html; charset=x-sjis\">\n";
のcharset指定を消すと,日本語変換はされない。と思います。
あと,
174: print "<form action=$script method=$method>\n";
350: print "<form action=$script method=$method>\n";
363: print "<form action=\"$script\" method=\"$method\">\n";
を
print qq/<form action="$script" method="$method" accept-charset="UTF-8">\n/;
とかaccept-charset指定するようにしておけば,UTF-8以外の投稿をはじけるはず。
accept-charsetを使うなら,上のcharsetで同じUTF-8使うようにしといたほうがいいかも。
0393392
01/10/05 19:10ID:???0394名無しさん@お腹いっぱい。
01/10/05 19:12ID:???スレ的にもこっちが合っている。
0395あっちの66
01/10/05 20:13ID:IlecsqKU参考にさせていただいて、頑張ります!
こっちのスレの方が良かったですね。すみませんです。
0396名無しさん
01/10/09 17:03ID:zp21xSuI[リロード] 参加者(0): ROM:(1)
を参加者とROMを逆に置き換えたいんですが、改造の仕方がわかりません
分かる方いますか?
それと、管理人 >あいうえお(10/9(火)16:49 ) ←のように
発言の最後の所に発言するたびに、時間が表示されるんですが
されないようにするにはどこを消せばいいんですか?
分かる方教えて下さい。お願いします。
0397名無しさん@お腹いっぱい。
01/10/09 17:07ID:???スクリプト見せれ。
できたら拡張子を".txt"にしてアップしたやつのURL出してね。
0398たまひめでん
01/10/09 22:26ID:485Lm8iI返信レスを20迄等、返信レスを制限したいのです。
改造、お願いします。
0399名無しさん@お腹いっぱい。
01/10/09 22:29ID:???スクリプト見せれ。
できたら拡張子を".txt"にしてアップしたやつのURL出してね。
0400お役所仕事
01/10/09 22:31ID:???ハイ次の人
0401たまひめでん
01/10/09 23:06ID:???さんへ
ガーン、忘れてました。。
CGIの勉強もしたいので、暫くは自分でやってみようと思います
どーしても、判らない時、アドバイス等頂けましたら幸いです。
0402名無しさん@お腹いっぱい。
01/10/10 00:10ID:???頑張りな。
0403よいち
01/10/10 19:47ID:n8dYHpRcKENT WEBのaskaBBSに、訪問者が表示件数変更出来るようにしたいです。
例えばカール板みたいな感じで...。
askaBBS http://www.kent-web.com/bbs/aska.html?
カール板 http://www.zero-web.net/perl/bbs.html
宜しくお願いします。
0404方法を書けば良いの?
01/10/11 00:17ID:???↓
次に何かのアクション(リロードボタンとか新規投稿とか返信とかの)が
あった時にSet-cookieみたいなサブルーチンがある筈だからそこに
上の表示件数($User_p_viewと仮定)の値を足す(ASKA=〜〜〜みたいな形式のクッキーを吐いてる筈)
↓
Get-cookieした時に表示件数($User_p_view)に値が設定されていたら、多分1ページ辺りの
記事表示数($Default_p_viewと仮定)みたいのが設定項目に有る筈だから、それを$User_p_viewで上書きする、
この代入が総ページ数の
算出なんかをした後だと、不整合が起きるから適宜上書きの場所を決める
こんな感じ、漏れは最近Perlのソース見てないからちょっと勘弁 (笑
0405よいち
01/10/11 17:35ID:563HBBg.HTMLは少し判るので、1番目のプルダウンメニュー付けたりとかは出来ました。
それで、2番目のcookieのサブルーチンの場所も判ったんですけど
どうやって書き換えればいいのかがわかりません。
できればもう少し具体的に教えていただきたいのですが。
他力本願で申し訳ないですけど宜しくお願いしますm(_ _)m
0406111
01/10/11 17:52ID:8p2Cw8ao0407名無しさん@お腹いっぱい。
01/10/11 18:03ID:???0408名無しさん@お腹いっぱい。
01/10/11 18:09ID:???こういうアホはほんと新でほしいね。
0409名無しさん@お腹いっぱい。
01/10/11 18:23ID:???使ってる人いる?公式ページによると、ファイル公開専用で、
Apacheより軽いと書いてあるんだが。いま落としてみた。
0410409
01/10/11 18:26ID:???0411JAPU@見知らぬ国のトリッパー ◆180pJAPU
01/10/11 18:32ID:???機能を最小限に絞っているから軽くて安全という話は良く聞く。
でも、イマイチ物足りなそうで私は使ってない。
ちなみに、CGI とかは全く使えないぞ。
0412名無しさん@お腹いっぱい。
01/10/11 19:09ID:2.aobSCcどもどもJAPUさん。
publicfile少しいじって遊んでみます。
#いいトリップ見つけましたね。180ページ?
0413名無しさん@お腹いっぱい。
01/10/11 19:27ID:???見つかったら、User=$user,Email=$email,Url=$url みたいなの
が有るからそこに P_view=$User_p_view みたいな感じで追加する
それでGet-cookieの方も他の変数とかと同じ様に代入すればOK
0414JAPU@見知らぬ国のトリッパー ◆180pJAPU
01/10/11 19:35ID:???# トリップの検索ソフト (?) は Windows 用しか無かったのでやむを得ず書き起こしたよ...
0415落したぞ
01/10/11 19:44ID:???    if ($in{'comment'} eq "") { &error("コメントが入力されていません"); }
の下に
    if ($in{'view_page'} && $in{'view_page'} !~ /^[\d]{2}$/) {
        &error("表\示件数の設定が異常です"); 
    }
    $p_log = $in{'view_page'} if($p_log != $in{'view_page'});
これを追加
781行目
    $cook = "name\:$in{'name'}\,email\:$in{'email'}\,url\:$in{'url'}\,pwd\:$in{'pwd'}";
これを
    $cook = "view_page\:$in{'view_page'},name\:$in{'name'}\,email\:$in{'email'}\,url\:$in{'url'}\,pwd\:$in{'pwd'}";
これに置き換え
805行目
    $c_pwd   = $ck{'pwd'};
の下に
    if ($ck{'view_page'} && $ck{'view_page'} !~ /^[\d]{2}$/) {
        &error("クッキーの値が不正です"); 
    }
    $p_log = $ck{'view_page'} if($ck{'view_page'});
これを追加
807行目
    if ($in{'cook'} eq 'on') {
の下に
        if($in{'view_page'}) { $p_log = $in{'view_page'}}
これを追加
0416落したぞ
01/10/11 19:45ID:???以下フォームの例、255行目辺りから
(view_pageを書き換えると***動かない***)
<tr>
  <td><b>削除キー</b></td>
  <td>
    <input type=password name=pwd size=8 maxlength=8 value="$c_pwd">
    <small>(記事削除用。英数字で8文字以内)</small>
    <input type=checkbox name=cook value="on" checked>
    <small>クッキー情報を保存</small>
  </td>
</tr>
<tr>
    <td>
        <b>記事表\示数</b>
    </td>
    <td>
        <select name="view_page">
        <option value="">
        <option value="10">10件
        <option value="20">20件
        <option value="30">30件
        <option value="40">40件
        </select>
    </td>
</tr>
こんな感じ、たぶん maybe・・・
0417よいち
01/10/12 05:30ID:???# 404さんと同じ方でしょうか(^^;
今教えて頂いたとおりに書き換えて、
表示件数を変えながら何度か投稿テストしてみました。
とくにエラーなどは出ず、問題無く動いております。
フォームの部分で、初訪問の時に表示がカラなのが気になったので
<select name="view_page">
<option value="$p_log">$p_log件
<option value="10">10件
と変えさせて頂きました。 すみません。
本当に有難うございましたm(_ _)m
0418ななしさん
01/10/12 16:39ID:OeiSq0oMそれにわざわざひとつひとつ教えてくれるなんて、やさしいね。
0419名無しさん@お腹いっぱい。
01/10/12 17:15ID:???相手にさとらせず、しかし相手の潜在意識には強く植え付ける。
そんな技術が回答者には望まれる。
0420名無しさん@お腹いっぱい。
01/10/12 19:17ID:???あ、そっちの方がいいかも
>>419
何か後輩に似てたからね、俺も普段はこのスレエスケープしてる (笑
0421419
01/10/13 04:02ID:???わはは。おれも回答したことあるから気持ちはわかるよ。
おれは「リハビリ代わりにコードを書いて確認するヤツ」でした。
んーしかし電動氏はナイスだ(スレ違い
0422396
01/10/13 13:41ID:FFS9a4BY>>397
http://isweb35.infoseek.co.jp/diary/his734/chat.txt
http://isweb35.infoseek.co.jp/diary/his734/enter.txt
http://isweb35.infoseek.co.jp/diary/his734/pref.txt
です。お願いします。
0423名無しさん@お腹いっぱい。
01/10/16 03:16ID:???もう解決してるかもしれんけど,あげついでに。
自信無し。
>参加者表示順変更
chat.txtの39行目あたりのを↓
#参加者表示
open(DBS,"$sanka_file");
@lin = <DBS>;
close(DBS);
$aaa = @lin;
$num = @sanka3;
$bbb = $aaa - $num;
if($aaa < $num){
$bbb = 0;
}
print '<FONT size="2">';
print "ROM:($bbb)\n";
print "参加者($num):";
print "@sanka3\n";
print '</FONT><HR>';
#ログ表示
↑こう置き換える
>時間表示削除
pref.txtの63行目あたりのを↓
sub jikan{#$dateに時刻を代入します。
$date = '';
}#jikan END
↑こう置き換える
0424名無しさん@お腹いっぱい。
01/10/16 23:19ID:A3KdiC8Aプチボードのレス表示させるやつ
消えてるので
もう1回、UPしていただけないでしょうか?
0425名無しさん@お腹いっぱい。
01/10/16 23:47ID:???0426しっぽなしきつね
01/10/17 01:02ID:???今の所依頼は無し、 かな?
0427396
01/10/17 15:41ID:DasRCtmyありがとうございます。
変えてみたんですけど、なんか変になっちゃいます・・・
時間の中の()←枠だけが消えないし、入室したときに、おかしくなってしまいました。
0428名無しさん@お腹いっぱい。
01/10/17 16:08ID:eEGCYKUq.docomo.ne.jp .ezweb.ne.jp .ido.ne.jpなどのモバイルのアクセスしか
カウントしない(PCからの投票制限機能)ように改造をお願いいたします。
The Room Link Ring:http://dream.lib.net/room/cgi/e_linkring.html
The RoomのRanking Linkは携帯/PCからの投票制限機能があります。
The Room Ranking Link:http://dream.lib.net/room/cgi/e_ranklink.html
Link Ringのスクリプトをアップロードしましたのでご覧下さい。
http://waiwaiwai_00.tripod.com/linkring.txt
http://waiwaiwai_00.tripod.com/lr_admin.txt
http://waiwaiwai_00.tripod.com/lr_mail.txt
http://waiwaiwai_00.tripod.com/lr_prf.txt
http://waiwaiwai_00.tripod.com/lr_user.txt
お手すきの時にでもよろしくお願いいたしますm(_ _)m
0429名無しさん@お腹いっぱい。
01/10/18 18:11ID:???この掲示板の
引用色は半角の>しか対応してなので
全角にも対応させたいのです
http://isweb37.infoseek.co.jp/diary/kentapyu/plug/all.pl.txt
これの
# 引用部分強調
if ($quotation_color) {
$in{'comment'} =~ s/([\>]|^)(>[^<]*)/$1<b style=color:$quotation_color>$2<\/b>/g;
$in{'r_comment'} =~ s/([\>]|^)(>[^<]*)/$1<b style=color:$quotation_color>$2<\/b>/g;
ここをどーかえたらいいのでしょうか?
よろしくお願いします。
0430名無しさん@お腹いっぱい。
01/10/18 19:33ID:???.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
$in{'comment'} =~ s/([\>]|^)((?:>|>)[^<]*)/$1<b style=color:$quotation_color>$2<\/b>/g;
$in{'r_comment'} =~ s/([\>]|^)((?:>|>)[^<]*)/$1<b style=color:$quotation_color>$2<\/b>/g;
0431430
01/10/18 19:34ID:???「正解は30行後に。」
だった。鬱だ死のう。
0433名無しさん@お腹いっぱい。
01/10/19 01:30ID:???まだそんなに見てないけど、具体的にどれ位アクセスさせたく無いです?
(PCは一切駄目とか、投票のみ不可とか)、一応しょぼいサブルーチンが有ったので
#端末に含まれるHOST名をならべます
@allowhost = (
'.docomo.ne.jp',
'.ezweb.ne.jp',
'.ido.ne.jp',
);
以下をソースの一番下にでも追加します
sub Host_check{
    my ($stat,$pack);
    if (!$ENV{'REMOTE_HOST'}||$ENV{'REMOTE_HOST'} eq $ENV{'REMOTE_ADDR'}){
        $pack = pack('C4',split(/\./,$ENV{'REMOTE_ADDR'}));
        $ENV{'REMOTE_HOST'} = gethostbyaddr($pack,2)||&error('携帯以外からのアクセスは出来ません<br>');
    }
    foreach (@allowhost){
        if ($ENV{'REMOTE_HOST'} =~ /$_/){
            $stat = 1;
            last;
        }
    }
    unless($stat){&error('携帯以外からのアクセスは出来ません<br>');}
}
後は、制限したい処理の手前でHost_check;で呼び出せば、エラールーチン(既存)に飛ばされます
照合部分が泥臭いですが10件位なら問題無いと思います(突っ込み歓迎です)
0434428
01/10/19 21:21ID:???レスありがとうございますm(_ _)m
>まだそんなに見てないけど、具体的にどれ位アクセスさせたく無いです?
>(PCは一切駄目とか、投票のみ不可とか)、一応しょぼいサブルーチンが有ったので
PCはアクセスは自由で、ランキング投票のみ不可(↓のサンプルの「<Previous」などをクリックしてもカウントせず、ランキングに反映しない)といった感じになれば、と思います。
http://dream.lib.net/room/cgi/s_linkring.html
#Link Ringは「<<Previous5」「<Previous」「Random」「Next>」「Next5>>」をクリックするとクリック数がカウントされ、ランキングに反映されるという仕様みたいです。
そして、以下のホストのクリックのみをランキングに反映する、といった感じです。
.ezweb.ne.jp .ido.ne.jp .docomo.ne.jp .cmchuo.uttpnet.ne.jp .em.nttpnet.ne.jp .mnx.ne.jp .mopera.ne.jp
.jp-c.ne.jp .jp-d.ne.jp .jp-k.ne.jp .jp-q.ne.jp .jp-n.ne.jp .jp-h.ne.jp .jp-t.ne.jp .jp-s.ne.jp .jp-r.ne.jp
0435名無しさん@お腹いっぱい。
01/10/21 00:03ID:O7up0kSg  # カウントするホスト
  my @allowhost = (
  '.docomo.ne.jp',
  '.ezweb.ne.jp',
  '.ido.ne.jp',
  以下略
  );
  my ($stat,$pack);
  if (!$ENV{'REMOTE_HOST'}||$ENV{'REMOTE_HOST'} eq $ENV{'REMOTE_ADDR'}){
    $pack = pack('C4',split(/\./,$ENV{'REMOTE_ADDR'}));
    $ENV{'REMOTE_HOST'} = gethostbyaddr($pack,2)||return(0);
  }
  foreach (@allowhost){
     if ($ENV{'REMOTE_HOST'} =~ /$_/){
      $stat = 1;
       last;
    }
   }
   if (!$stat){return(0);}
  else{return(1);}
}
56行目に my $countstatus = &Host_check(); ←これを入れる
後76、77、81、82、114行目をそれぞれ下の様に書き換え
76 $access[$num{$act}]++  if $countstatus;
77 $access[0]++          if $countstatus;
81 $y2[7]++              if $countstatus;
82 $y2[7+$siteaccess]++  if $countstatus;
114 $access[1]++  if $countstatus;
こんな感じでどうでしょう、後は細かい所でインクリしたくなければ
if $countstatus; を足していけばokです。
# この人、インデントが変で凄く読みにくい (-_-...
0436名無しさん@お腹いっぱい。
01/10/21 00:06ID:???総カウントとかは増やした方が良いんじゃないかな....
0437428
01/10/21 18:27ID:???エラーが出てしまって動かなくなってしまいました。
添削お願いできませんでしょうか…。
http://waiwaiwai_00.tripod.com/x_linkring.txt
>総カウントとかは増やした方が良いんじゃないかな....
ですね。すっかり忘れておりました(汗
0438428
01/10/23 19:15ID:uIcZ1pAzなのですが、、、HELPです。どなたか437の添削お願いします…
とりあえず、あげさせていただきます。
0439名無しさん@お腹いっぱい。
01/10/23 19:38ID:???空白は正しくは なのに、 >>435氏は   として
いる為そのまま表示されるブラウザがあります。(IEは空白になるけど。)
ソース内の   を スペースに置き換えましょう。
0440名無しさん@お腹いっぱい。
01/10/23 23:55ID:???エラーメッセージはわかる?
2行目あたりに
use CGI::Carp qw(fatalsToBrowser);
を入れればブラウザに出るはず。
0441395
01/10/24 11:05ID:RlInA2Z+http://ebi.2ch.net/test/read.cgi/php/988808396/392-395n
これは本当に助かりました。無事に掲示板を設置できました。
で、またわからないことがあります。
今度は、フォームメールとゲストブックの両方の機能のあるcgiを使いたいので
ですが、これの日本語機能を除く方法がまたわかりません。
(前回教えていただいたことを参考に少しいじったりしたのですが、ちょっと
違うみたいで。)
ここ↓にテキストでアップしてみました。
ttp://k_napper.tripod.co.jp/kakimacho_cgi.txt
(設定画面の日本語はそのままで問題ないです。)
御教授いただけるとありがたいです。
0442しっぽなし
01/10/24 17:44ID:???元が動いてたなら追加分は文法的に正しいっすよ。。
>>438、えっとリンク先のポインタが誤爆っててイマイチ
理解出来ねっす ;;
取り合えず日本語絡みを全部外すだけなら、
42,197,932,938,941,955行目の読み込みと置換部分を、削除又はコメントアウト
次に、HTTPヘッダとHTMLヘッダからもコード指定部分を外す。
(方法はリンク先に書いてるのと同じ)
477 print "Content-type: text/html\n\n"; #修正
479 削除かコメントアウト
これで、取り合えずBBSはプリミティブな状態になります(lang特定はブラウザ任せ)
メールの方は、漏れは良く分かりません、Content-Transfer-Encoding:を
UTFにすれば良さそうだけど、、、(UTFってしょぼいメーラで読めるのかな??)
詳しい方、お願いしまする
取り合えず上でjcodeを外したら、日本語のメールを出すと良くないので注意!
(us-asciiは勿論OK)
※もしかして全言語、全UA対応とかの壮大なプロジェクトだったら
このレスは全く役立たねッス w
0443しっぽなし
01/10/24 17:45ID:???同じく編集した部分の" "は全て不用。
↓
同じく編集した部分の" "は全て不用。
0444名無しさん@お腹いっぱい。
01/10/25 22:22ID:nmTEnId3私はThe Room のRanking Lingでi-mode用ランキングサイトを
やっています。不正行為が多いので投票ページを付けようとし
たのですが、The Roomの掲示板を見るとi-mode用ではリファラ
ーが取れないので投票ページは使用は出来ないと書いてありました。
でも、以下のサイトのように使用出来るよう改造している所もあり
ました。
http://homepage1.nifty.com/nttdocomo/pink/
上のようにするにはどこを改造すればいいのでしょう?
ranklink.cgiと関連のcgiは以下のURLにUPしました。
どなたかよろしくお願いしますm(_ _)m
http://203.174.72.111/hiro-1977/
0445428
01/10/26 15:17ID:???439さんとしっぽなしさんのおっしゃる通り、
 をスペースに置き換えることによって解決しました。
とてもわかりやすかったです、ありがとうございました。
0446名無しさん@お腹いっぱい。
01/10/26 22:12ID:???>不正行為が多いので投票ページを付けようとしたのですが、
この文が理解できない。「上のように」の意味も判らない。
そのCGIをまたーく知らない俺に判るよう説明すれ。
0447444
01/10/26 23:53ID:isB2gMjhRanking Linkでは投票ページを使用しない場合、リンクタグをクリック
しただけでカウントされてしまいます。だからサムネイル画像にリンクタグ
を入れるなどの不正行為があるわけです。
でも投票ページを使用した場合は例えば、
http://hpcgi1.nifty.com/nttdocomo/pink/02/ranklink.cgi?id=aibou
のようにリンクをクリックすると投票ページに飛ばされ、そこでENTERを
クリックすることにより初めてカウントされるので不正が防げるのです。
だから投票ページを付けたいのですが、Ranking Linkは携帯用のバージョン
では投票ページが使用出来ないのです。PCでアクセスすれば何も問題ないの
ですが、i-modeでアクセスすると投票ページでENTERをクリックすると投票
ページにバックしてしまいます。
しかし上のURLや、以下のようなサイトは投票ページが使用出来るよう
改造しています。
http://www.zukozuko.com/rank/01/ranklink.cgi?id=jyky
どなたか改造の方法わからないでしょうか?
0448名無しさん@お腹いっぱい。
01/10/26 23:58ID:???0449名無しさん@お腹いっぱい。
01/10/27 11:44ID:oMov98wThttp://www.linkclub.or.jp/~k-tamura/aputt/
こちらの「たむたむ日記帳」を改造して同じ日に複数投稿と
記事No.をつけたくと考えています。
自分でいろいろ考えてやってはみたものの編集すると
その日の日記がすべて同じになってしまいます。
詳しい方改造のアドバイスをいただけると幸いです。
よろしくお願いします。
0450名無しさん@お腹いっぱい。
01/10/28 00:14ID:YNxVfWza0451450
01/10/28 00:15ID:???0452名無しさん@お腹いっぱい。
01/10/28 01:30ID:???みちついみにのちみちみんななすんらのな・ゅてちすち
0453名無しさん@お腹いっぱい。
01/10/28 01:33ID:???ソースをテキストで上げてリンクした方が良いよ。
答えを貰っているのは殆どこのパターン。
0454名無しさん@お腹いっぱい。
01/10/28 03:45ID:OOZtNYYb自分なりにあれこれ考えてますがどうしてもわかりません(T_T)
誰かアドバイス下さいm(_ _)m
0455名無しさん@お腹いっぱい。
01/10/28 18:12ID:???「i-modeでリファラが取れない」から無理なら、
$ENV{REMOTE_HOST} =~ m/docomo|jp-q|skyweb|ezweb/i;
で、リモートホストに携帯特有の情報があったらリファラチェックせずにカウント、
とすればいいんじゃないかなぁ〜と思い、
448で煽られたので改造しようと思ったけどソース見て面倒になって挫折。悪いね。
0456名無しさん@お腹いっぱい。
01/11/01 16:25ID:2j9P7UBD修正できるように改造するのって難しいでしょうか?
ちなみに俺がやりたいのはtackyさんの「書きま帳」の改造なんだが・・。
0457名無しさん@お腹いっぱい。
01/11/01 17:22ID:???2:同じくログにパスワードが埋まっている
なら適当にコピペすれば出来ると思う
無ければ機能を足す手間が掛かる
書きマ帳は知らない
0458つーか・・・
01/11/01 17:29ID:???0459456
01/11/02 11:28ID:???管理人しか修正できないんですよ。
それを投稿者本人が修正できるようにしたいんです。
>>457
1:に該当するみたいなので、ちょっとがんばってやってみます。
ありがとうございました。
ここ、sage進行なんですか?
一応sageます。
0460456
01/11/02 14:13ID:???>>458
initializeって、質問の項目のinitializeで、
書き込みの修正は出来ないんでした。(管理人も)
やっぱりダメかなー。
0461名無しさん@お腹いっぱい。
01/11/05 02:04ID:HWi+Nt0Aを使用しているんですけど、スレッド一覧を飛びにくくするには
どのように改造すればよろしいのでしょうか?
連続投稿規制等、色々やってみましたが駄目でした。もうウンコ投げまくり
0462名無しさん@お腹いっぱい。
01/11/05 02:16ID:???0463名無しさん@お腹いっぱい。
01/11/05 02:28ID:???0464名無しさん@お腹いっぱい。
01/11/05 02:44ID:???flock空振りしてるんなら他の関数使って
ロック組むとか
ロックが甘いなら他の関数に変えてみるとか
open (FH,">hogehoge");
flock FH,2;
とかなってるんだったら
open (FH,"+<hogehoge");
flock;
seek FH,0,0;
print FH "hugahuga";
$foo = tell FH;
truncate FH,$foo; とか。。
飛びまくってるって事は前者だと思うけど。
これ以上はワカラソ
0465461
01/11/05 05:06ID:???レンタルサーバーでも、当りハズレがあるん?
>>464
bbs.cgi内を検索してみました
この個所がロック?でどうすれば良いんだろう・・・
eval{flock(SUBW,8);};
close(SUBW);
0466461
01/11/05 20:39ID:HWi+Nt0A0467仕様書無しさん
01/11/05 22:58ID:D9DffOEh> レンタルサーバーでも、当りハズレがあるん? >勿論
他のプログラム(カウンタとか)は置いてないの?
もしそっちが�dで無いなら、それのソース見てロック用のサブルーチンを
使ってみなよ、大体 lock、unlock って言う対になってるか
lock(1)みたいにパラメータ渡すかのどっちかだから。。。
それとflock,8 はロック解除だから全然関係無いよ。
バンガレ(・∀・)
0468461
01/11/06 00:56ID:Ud61Q7HAなるほど、数字は時間かと思った
取り合えず $| = 1; を追加してみた
0469名無しさん@お腹いっぱい。
01/11/06 06:19ID:AMScTkU5するとエラーが出ます。
i-modeはリファラーがとれないのでHTTP_REFERERが怪しい
と思うのですが、どう改造すればいいのでしょう?
# ◇サブルーチン12:「IN処理」
sub link_in {
if ($in{'act'} eq 'vote' || $vote_key == 0) {
if ($in{'act'} eq 'vote') {
$ref = $ENV{'HTTP_REFERER'};
$ref =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
if ($ref !~ /$script_pass/i) { &error("不正なアクセスです"); }
}
0470名無しさん@お腹いっぱい。
01/11/06 06:40ID:???sub link_in {
if ($in{'act'} eq 'vote' || $vote_key == 0) {
if ($in{'act'} eq 'vote') {
$ref = $ENV{'HTTP_REFERER'};
$ref =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
if ($ref !~ /$script_pass/i) { &error("i-modeはいやづら。。。"); }
}
0471名無しさん@お腹いっぱい。
01/11/06 07:03ID:???エラーを消すだけ?
$refを他で使ってないなら#でコメントに。
# $ref = $ENV{'HTTP_REFERER'};
# $ref =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
# if ($ref !~ /$script_pass/i) { &error("不正なアクセスです"); }
0472名無しさん@お腹いっぱい。
01/11/06 07:24ID:???はじく効果なくなるが
$ref = $ENV{'HTTP_REFERER'} || $script_pass;
use of undefined valueでエラー出てるなら
$ref = $ENV{'HTTP_REFERER'} || '';
0473名無しさん@お腹いっぱい。
01/11/06 18:46ID:???本文中のURLを自動リンクさせるという機能を追加しようと思って
タグ禁止処理の場所に
$comment =~ s/(https?|ftp|news):\/\/([\w|\!\#\$\%\&\'\(\)\=\-\^\`\\\|\@\~\[\{\]\}\;\+\:\*\,\.\?\/]
+)/<a href=\"$1:\/\/$2\">$1:\/\/$2<\/a>/g;
を追加したら、抹殺とかの機能がでなくなった・・・。鬱。
未熟者が改造するとどこかにボロが出る。
0474469
01/11/06 23:34ID:GKzEAczp$ref = $ENV{'HTTP_REFERER'} || $script_pass;
でとりあえずi-modeでもアクセス可能になりましたが、困ったことに
PCの重複投票がチェック出来なくなりました。
「はじく効果なくなる」とはそういう意味だったのですか?
ちなみにPCで連続アクセスすると重複投票のチェックは出来るのですが、
一旦i-modeでアクセスしてから再びPCでアクセスすると、チェックされ
ずにカウントされるようです。
i-modeでアクセスすることによりログの一部が消えるとか・・なんかわ
かりませんが、解決方法ありませんか?
0475461
01/11/07 00:27ID:1ns3B3ND今日も元気よく投げまくり、感動した。人数が多すぎなのかな
0476名無しさん@お腹いっぱい。
01/11/07 01:59ID:w4jQYe5D>>471氏のは当然検討済みだよね?
$ref = $ENV{'HTTP_REFERER'} || $script_pass;
は,リンク元のアドレス(リファラ)が取得できなかった時に,
「正規のリンク元から来た」ということにしているだけ。
$refは$script_pass以外からのアクセスをはじくのに使う。
下段の重複投票は,多分直前のアクセスしか記録してないため。
もっと知りたいなら,そのソースもどっかに上げよう。
0477名無しさん@お腹いっぱい。
01/11/07 02:07ID:???eval{flock(SUBW,8);};
は消してもかまわない。
closeで自動的にflock解除してくれる。
■ このスレッドは過去ログ倉庫に格納されています