トップページ⇒php
1001コメント363KB

スクリプト改造工房 Part4

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。02/02/05 01:20ID:CZVDHHph
「こういうふうにスクリプトを改造したいけどやりかたわかんないよー」
という人がいましたらここで聞いてください。
ひょっとしたらアドバイス出来るかもしれません。

前スレ
Part2 http://pc.2ch.net/test/read.cgi/perl/986986227
Part3 http://pc.2ch.net/test/read.cgi/php/988808396

なお、質問するときは
1)そのスクリプトのある場所(URL必須、拡張子".txt"でアップすればなお良し)
2)どんな風に改造して欲しいのか? (完成イメージHTMLを用意すればなお良し)
を必ず明記しよう。
010110002/03/01 02:24ID:enmjRXxk
(レスのチェック部分です)

# - レス付与 -------------------------------------
sub res {
   〜〜〜〜〜〜〜
     # age_______________________________
     if (!$sage) {
          push(@DATA,splice(@DATA,$no,1));
      }
   〜〜〜〜〜〜〜
}

# - フォームチェック ------------------------------
sub formcheck {
   〜〜〜〜〜〜〜
     # E-mailチェック____________________
     if ($mail =~ /sage/) {
          $sage = 1;
      }
   〜〜〜〜〜〜〜
}
0102名無しさん@お腹いっぱい。02/03/01 02:47ID:???
>101
スクリプト読んでないけどこれでどうかな?
〜〜〜
#age____
if (!$sage) {
 if ($dame) {
  unshift(@DATA,splice(@DATA,$no,1));
 }
 else {
  push(@DATA,splice(@DATA,$no,1));
 }
}
〜〜〜

〜〜〜
# E-mailチェック____
if ($mail =~ /sage/) {
 $sage=1;
}
elsif ($mail =~ /dame/) {
 $dame=1;
}
〜〜〜
010310002/03/01 03:32ID:???
>>102
ありがとうございます!

今試してみたんですが、なんか500エラーになってしまいました…。
もう一回やってみます。。
010410202/03/01 03:38ID:???
>103
全角スペースで字下げしてるから,そのままコピペじゃ動かないです。
半角スペースに置き換えてください。
010510002/03/01 04:16ID:???
>>104
DATファイルにもちゃんと書き込まれて、スレッドも下がりました…!

ただ、トップ表示と一覧表示でデータを読み込めないみたいです。。
http://www.42ch.net/UploaderGeneral/source/226.htm
0106名無しさん@お腹いっぱい。02/03/01 04:46ID:???
>105
スマソ,さっきのでログ壊れたかも。
unshift(@DATA,splice(@DATA,$no,1));
を
unshift( @DATA, (shift(@DATA),splice(@DATA,$no,1)) );
に変えるとどうかな
0107名無しさん@お腹いっぱい。02/03/01 05:03ID:jSI4cIj+
>>99
サーバーの設定で制限さてれるんじゃない?
http://www.php.net/manual/ja/function.ini-set.php
http://www.php.net/manual/ja/configuration.php
010810002/03/01 20:20ID:???
>>106
下の方に書き替えたら、壊れなくなりました!

しかし今度は、「書き込んだスレッドの一つ上にあるスレッド」が
一番下に下がるようです...(;´Д`)
01099902/03/02 10:48ID:???
>>107
ありがとうございます。
何故か5Mまでしかあぷ出来ませんが
スクリプトのせいじゃないのがわかっただけでも助かりました。m(_ _)m
0110名無しさん@お腹いっぱい。02/03/04 19:46ID:xVeLh+HA
ずるぼんあぷろだ
ttp://zurubon.strange-x.com/upload.txt
のトップページをhtmlファイルとして吐くように改造していただけませんでしょうか?
無理なお願いかもしれませんがよろしくお願いします
0111名無しさん@お腹いっぱい。02/03/04 23:36ID:???
> 110
意味がわかりづらいが、トップページをリクエストするとHTML形式の
ファイルをダウンロードするってこと?
011211002/03/04 23:54ID:xVeLh+HA
http://www2.makani.to/akutoku/upload/index.html
のようにトップページはhtmlとして吐き出させて負荷を減らし
アップロード作業や2ページ目以降の表示をCGIにさせたいのです

わかりにくくて済みません
0113nobodyさん02/03/05 00:10ID:???
>>110
perl勉強中だけど、答えてみる。
index.htmlをopenして、「sub html」の中の表示部分をそっちに吐くようにすればいいんじゃないかな。
他にも弄るとこあるかもしんないけど、そこは識者にお任せします。
011411102/03/05 00:23ID:???
単純にこれをCGIとして実行したときのトップページのHTMLをファイルとして
用意するとできるのでは? だいたい以下の感じに。(■■■部分は呼び出すCGI)

<FORM METHOD="POST" ENCTYPE="multipart/form-data" ACTION="http://■■■" >
アプするファイル<strong>(300 Kまで)</strong><br>
<INPUT TYPE=file SIZE="40" NAME="filedata">
<select name="ext">
<option value="ext" selected>特殊拡張子選択
<option value="css">css
<option value="csv">csv
<option value="htm">htm
</select>
<br>コメント<i><small>(※コメント無記入の場合リロードになります
/URLはオートリンクします)</small></i><br>
<INPUT TYPE=text SIZE="45" NAME="comment">
<INPUT TYPE=submit VALUE="Up/Reload" class="button"><INPUT TYPE=reset VALUE="Cancel" class="button"><br>
</FORM>
011511002/03/05 06:37ID:ZPKxkzAd
>113
openでhtmlファイルを開いてprintするところまでは思いついたのですが、
クッキーを使った環境設定や、print_postdataとの絡みが分からずに挫折しました
>114
???
済みません、意味がわからないです
0116nobodyさん02/03/05 20:29ID:???
先にhtmlファイルを作ってから
クッキーをはいてLocationでhtmlファイルに飛ばせばよい。

htmlファイルを作る処理はprint_postdataなどを直接弄ると
副作用があるので、コピペで名前を変えた関数を作って
ファイルに書き出すようにすればよい。
0117nobodyさん02/03/06 15:45ID:???
改造依頼なのですが。。
ReverseAccess(逆アクセスカウンタ)
http://www.cj-c.com/
スクリプト
http://waiwaiwai_00.tripod.com/access.txt
http://waiwaiwai_00.tripod.com/acmgr.txt
http://waiwaiwai_00.tripod.com/set.txt

私のサイトに上記の逆アクセスカウンタを設置しているのですが、
私のサイトにリンクを貼っていただいている方の中で、
自分が一番でないと気が済まない負けず嫌いな方がいるのです。

続く。。。
0118nobodyさん02/03/06 15:56ID:???
続き。。。

たとえばhttp://pc.2ch.net/から私のサイト(http://hoge.com/)にリンクされているとして、
毎日、*.2ch.net及び012.345.678.*というリモートホスト・IPアドレスを駆使して
http://pc.2ch.net/からhttp://hoge.com/にアクセスしまくってhttp://pc.2ch.net/のランキング順位をつり上げてくるのです。

おまけに、http://pc.2ch.net/001.html、002.html、003.html、…を作成して、
そこからも波状攻撃を仕掛けてくるのです。

普通ならpc.2ch.netをカウントしないようにset.txtに書き込めばいいのですが、
http://pc.2ch.net/からは普通(?)のアクセスもあるのです。

そこで不正排除のため、*.2ch.net及び012.345.678.*のみ(指定したリモートホストやIPアドレス)を
カウントしないように改造お願いできないでしょうか?
0119nobodyさん02/03/06 16:00ID:???
http://hoge.com/が本当に存在するというのがヘボナイス
0120nobodyさん02/03/07 01:54ID:WTUe3Qf1
>117-118
警告書いて,それでもダメならカウントしないほうにするほうがいいんじゃない?
改造してもいたちごっこになるだけと思われ。
0121nobodyさん02/03/07 08:25ID:???
>>117-118
動くか試してないけど。

set.cgiの
1;#削除不可
の上辺りに
@AbornLink = ("*.2ch.net","*.yahoo.co.jp");
@AbornHost = ("127.0.0.1","1.2.3.*","anonymizer.com","squid");
を追加。

access.cgiの
#--- ここまで ----------*
の下に
&aborn;
sub aborn {
for (@AbornLink) { s/([.@%$\])/\\$1/g; s/\*/.*?/g; &haa() if $ENV{HTTP_REFERER} =~ /$_/i }
for (@AbornHost) { s/([.@%$\])/\\$1/g; s/\*/.*?/g; &haa() if $ENV{REMOTE_HOST} =~ /$_/i or $ENV{REMOTE_ADDR} =~ /$_/ }
}
sub haa {
print <<_HTML_;
Content-type: text/html

(゚д゚)ハァ?
_HTML_
exit;
}
を追加。
012211002/03/07 18:21ID:???
>>111-116
遅くなりましたが有難うございます
頑張ってみます
0123利用者02/03/08 06:39ID:???
チャットの参加者表示なんですが、room1に人がいる時にroom2に入ると、参加者してる人の名前が表示されなくなります。
この書き方ではおかしいんでしょうか…?
0124利用者02/03/08 06:40ID:???
…と失礼。
問題の部分の簡易スクリプトです。
http://upsenyou.tripod.co.jp/test.text
0125nobodyさん02/03/08 06:42ID:w/NM/Dyo
あげれ
0126利用者02/03/08 06:42ID:???
なんかこれも表示がおかしいですね…
申し訳ないですが、ソースを出して見てください…
0127nobodyさん02/03/08 07:00ID:yTPx6PIp
質問です。
メールフォームで、メールの送信先を、曜日毎に変えたいのですが、
どうすればよろしいでしょうか。
フリーのメールフォームを改造して作ろうとしているのですが、
Perlに関しては初心者で、手がでない状態です。
どなたか、どうぞよろしくお願い致します。

改造しようとしているCGIで、メールの宛先は、
configファイルに
$MailTo = '[email protected]';
として明記し、CGI本体で
$MAILTO = &config::MAILTO;
というふうに読み込ませる形になってます。
0128nobodyさん02/03/08 07:53ID:???
localtimeの返値の最後に曜日のデータが渡される。
0129nobodyさん02/03/08 17:42ID:???
【Perl】初心者コーナーPart10
http://pc.2ch.net/test/read.cgi/php/1014556702/289-

そのうち現れると思いますが。
たらい回しにされて可愛そうなので答えてあげてください。

ていうか答えるのは同じ人間ぽいけどなー。w
0130nobodyさん02/03/08 23:27ID:???
つうか、最近お前ら、こことか初心者スレとか見てないだろ
0131nobodyさん02/03/09 06:45ID:???
一生懸命回答している何人かを、粘着馬鹿が追い出しました
ただでさえ人少ないのに。
0132nobodyさん02/03/09 09:35ID:???
>>131
あゆあゆもいなくなったな。。。
013311002/03/09 18:16ID:???
こんにちは、以前ずるぼんあぷろだのトップページhtml化をお願いした110です

指導のおかげでhtmlファイルは吐き出すようになったのですが、投稿・削除
したときに http500 内部サーバエラー となってしまいます
(htmlファイル自体はちゃんと吐き出される)
もう一度ご指導頂きたく思います

改造後のスクリプト(.cgiに変換してください)
ttp://hpcgi3.nifty.com/syouwakayou/up.cgi?dir=&view=&sort=&get=up.txt

#前回こちらで聞いたので、初心者スレではなくこちらでお聞きします
013412702/03/10 02:00ID:???
>128
ヒントを元に考えてみても謎が謎を呼びエラーが出て
泣きそうです。

ここは今人が少ないのですか…
0135nobodyさん02/03/10 10:01ID:Pl5m+TdB
あげ。
>134 localtime関数の仕様を調べれ。
0136nobodyさん02/03/11 22:51ID:???
>>133
長いし、途中からなので良く分からんが
&locationindex;
&print_postdatafile;
とか(他にもあるよね)付け加えたサブルーチンを、行わせたい処理の順番にならべてみなされ。
場所は #以下はスクリプトのエンジン部分。無闇にいじくると動かなくなるかも(ワラ
のすぐ後でいいと思うけど。

できたら、sub locationindex{ } とかいうブロックはまとめて
#以下関数定義&実装
から下に持っていったほうがいいかな
0137初心者スレにも書きましたが02/03/12 14:59ID:h6G3oh/x
すみません。
掲示板CGIの改造をしたいのですが、
チェックボックスを付けて、それがオフの場合投稿を弾いてメッセージを表示するにはどうしたらいいのでしょう?


全くの初心者なので、適当に

コメント入力欄の近くあたりに
<INPUT TYPE="checkbox" NAME="a" VALUE="b">書きこみをOKする<BR>

って入れて、名前が入ってないとエラーを返す部分があったのでそこに
if ($a eq "") { &error("オンにしてちょ。",'NOLOCK');

ってやってテストしてみたらオンでもオフでもエラーを返されてしまいました。
if ($a eq "a:")としたら逆にオンでもオフでも書きこみできました。

別にvalueがbの場合用の処理(?)を書かなくてはいけないのでしょうか?
ちなみに上のは名前が入ってないとエラーを返す部分をちょっと変えただけです。

0138初心者スレ417=42102/03/12 15:12ID:???
>>137
>>1
> なお、質問するときは
> 1)そのスクリプトのある場所(URL必須、拡張子".txt"でアップすればなお良し)
> 2)どんな風に改造して欲しいのか? (完成イメージHTMLを用意すればなお良し)
> を必ず明記しよう。
---

なんとなく、$aに中身入れてないような感じがするんだけど。。
途中省略箇所有りですが、、、
こんな感じになってると考えて良いのかな、、、。

&decode(*FORM);

sub decode{
local(*DATA) = @_;read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@buffer = split(/&/,$buffer);
foreach (@buffer) {
($name,$value) = split(/=/);
$DATA{$name} = $value;
}
}

$a = $FORM{'a'};

if ($a eq "") { &error("オンにしてちょ。",'NOLOCK');


---
0139初心者スレにも書きましたが02/03/12 15:37ID:???
>>138
できた〜!!マジでありがとうございます。$a = $FORM{'a'}; が足りなかったようです。
勉強になりました。
0140nobodyさん02/03/13 09:19ID:Z/LJjIzD
くずはすくりぷと Rev.0.1 Preview 9を2ch風に改造したいと考えています。

追加したい機能は「トリップ」と「名無しさん」
あと投稿にアスキアートなどをコピペした場合にアスキーアトが崩れるのを防止したいです。

ソースはこちらになりまます。
http://www.geocities.co.jp/HeartLand/6269/bbs.txt
0141nobodyさん02/03/13 13:50ID:???
>くずはすくりぷと Rev.0.1 Preview 9を2ch風に改造したいと考えています。

頑張って下さい。応援してます。
014214002/03/13 14:10ID:Z/LJjIzD
17さんの16aのBBS CGIのソースを移植しようと考えてたけど
所詮は厨房のボクにはムリか・・・

0143nobodyさん02/03/13 22:13ID:Dc5/budY
KENTのプチ☆ボードにlastpost機能をつけるにはどうしたら良いのでしょうか?
0144nobodyさん02/03/13 23:17ID:???
>>143
日よりを選んで策を巡らせれば、5万の兵力で20万の軍勢に勝つことだって出来るよ
0145nobodyさん02/03/14 09:33ID:VZM6DSSw
えーと広告をサイトに掲載してるんですが、広告主がクリック数を数えてくれと言ってきました。
理屈は大体わかるんですが、いざ組もうとしても改造ばっかで一からはほとんど組めなくて…
0146nobodyさん02/03/14 15:01ID:???
KENT-WEBのYY-CHATについて質問があります。
YY-CHATのどっかからデータを読み込んで
参加者一覧を作りたいのですがよくわかりません。

とりあえず↓のような感じに表示されるCGIってどうやったらいいでしょうか?

=======================================================

参加者(3)

名無しさん
太郎さん
花子さん
014714602/03/14 16:40ID:???
こんな感じのやつです↓

http://www.i-cha.ne.jp/cgi/yychat_custom2/r01/member.cgi
0148ぴいころ02/03/14 20:33ID:d2y5/VKo
改造依頼なのです。
ReverseAccess(逆アクセスカウンタ)
http://www.cj-c.com/
スクリプト
http://waiwaiwai_00.tripod.com/access.txt
http://waiwaiwai_00.tripod.com/acmgr.txt
http://waiwaiwai_00.tripod.com/set.txt

上記のスクリプトでURLマッチングログ$ulog= "url.log";
に記述したリンク元以外はデータをとらないようにするにはどうしたらいいのでしょう?
つまり登録したサイトだけの逆アクセスランキングをつくるには。
もう、ずーっと試行錯誤してみたけど変数が多くてわけわからず
どうしてもできませんでした。どなたかご教授下さい。。。
0149nobodyさん02/03/14 20:34ID:???
こら住民、やる気出せよ
0150nobodyさん02/03/14 20:34ID:???
>>148
りゅういちにきいてみろよ。
0151nobodyさん02/03/14 20:55ID:???
>>148
お前は>>117で質問した時、回答した人間に何も報告しなかったクソ野郎ですね?
0152ぴいころ02/03/14 20:58ID:d2y5/VKo
>>150
りゅういちさん引っ越しで忙しいみたいで悪いかなあと思いまして。
>>151
ちがいますよ。過去ログ参照してるときに同じスクリプトがあったので
借りただけです。
0153はぁ?02/03/14 21:09ID:???
>>152

>>ちがいますよ。過去ログ参照してるときに
>>同じスクリプトがあったので借りただけです

死ね
0154nobodyさん02/03/14 21:28ID:???
>>146
多分「member.dat」見れば判ると思うんだが
こいつの中身でも晒してくれればもう少しヒント出せると思う
0155nobodyさん02/03/14 22:08ID:???
使ってるのは改造品の「わいわい☆チャチャット」なので
「member.txt」です。

一人参加しているときの中身
--------------------------------------
1016101994<>名無しさん<>127.0.0.1<><>
0156ぴいころ02/03/14 22:44ID:d2y5/VKo
>>153
何言ってるかわかんないんですけど。
答えられないんだったらレスしないでいいですよ。
0157nobodyさん02/03/14 22:54ID:???
>>156 死ね。z
0158nobodyさん02/03/14 23:01ID:???
>>156 市ね
0159ぴいころ02/03/14 23:15ID:???
>>156 氏ね
0160りゅういち02/03/14 23:19ID:???
絶対教えません。
0161ぴいころ02/03/14 23:48ID:d2y5/VKo
なんかくだらないな。
どういう類の人間が書き込んでだろうね。
0162ぴいころ02/03/14 23:49ID:???
>>161 お前みたいなアホ
0163ぴいころ02/03/14 23:51ID:d2y5/VKo
・・・で?それが何なの?(笑)
0164ぴいころ02/03/14 23:52ID:???
>>163 日本語が理解できない馬鹿発見
0165nobodyさん02/03/14 23:53ID:???
電波は放置しろよ。
0166ぴいころ02/03/14 23:54ID:d2y5/VKo
・・・で?その次は?(笑)
0167ぴいころ02/03/14 23:56ID:???
>>165 了解
0168ぴいころ02/03/15 00:03ID:gwfeegs0
おかしいなあ・・・普通に質問しただけなんだけど(^_^;)
0169ぴいころ02/03/15 00:19ID:+8TxHXVk
結局答えられないのかあ・・・(笑)
0170ぴいころ02/03/15 00:20ID:eGIGdxRo
お前らみたいな無能な奴らにきいたのが間違いでしたね(^_^;)
0171nobodyさん02/03/15 00:22ID:???
>ちがいますよ。過去ログ参照してるときに同じスクリプトがあったので
>借りただけです。

これの何処が普通よ。寝言は寝て言えボケ。
0172ぴいころ02/03/15 00:24ID:???
>>168-170
独り言は纏めて書け。ウザい。
0173nobodyさん02/03/15 00:27ID:???
だから電波は放置しろって
0174nobodyさん02/03/15 00:41ID:???
もう春なんだね。
マターリマターリ
0175ぴいころ02/03/15 00:43ID:+8TxHXVk
頭の固い人多いなあ。2ちゃんねらー気取りですか?(笑)
0176nobodyさん02/03/15 01:21ID:X8j7h0mS
>>146,155
これでどう?

#!/usr/bin/perl

$file = './member.txt' ;

open ( FILE , $file ) || &print("開けません") ;
@data = <FILE> ;
close FILE ;

$len = @data ;
$out = "参加者($len)<br><br>\n" ;
foreach ( @data ) {
$name = ( split /<>/ )[1] ;
$out .= "$name<br>\n" ;
}

&print( $out ) ;

exit ;

sub print {
print <<"_HERE_" ;
Content-type: text/html\n
<html>
<body>
$_[0]
</body>
</html>
_HERE_

exit ;
}
0177nobodyさん02/03/15 02:47ID:???
>頭の固い人多いなあ。2ちゃんねらー気取りですか?(笑)
はぁ? 既知害は消えてください
0178nobodyさん02/03/15 03:36ID:???
>>177
まぁまぁ。
放置してたら自然と消えるだろうから。
マターリマターリ
0179ぴいころ02/03/15 04:11ID:gwfeegs0
>>177
いやーお陰様でずっとやってたらできました。ありがとうございます。
WEBプログラミング板って役に立つなあ。特にこのスレ。(笑)
なんといっても、何一つまともに答えられない住人が最高です。
0180nobodyさん02/03/15 04:16ID:???
>176
馬鹿相手に奉仕感が得たかったのか?
018117602/03/15 04:53ID:X8j7h0mS
そうかも。
奉仕してるフリして本当は
「俺はこんなすげーコード書けるんだぜ。神と呼べ」
などと心の底で思ってたりする(w
0182nobodyさん02/03/15 07:00ID:???
コード有難う御座いました。
ただ、あれだと参加者0のときも(1)と表示されてしまいます。
参加者がいない場合↓
------------------------------------------------------

1016142616<><>127.0.0.1<><>
0183180(つーか20才)02/03/15 07:30ID:???
>181
若いな。
俺ももうちょっと体力と気力があればそんな気にもなるかもしれんが。

>182
foreach(@data){
  if($name = (split(/,/))[1]){ $len++; }
  $out .= "$name<br>\n" ;
}

もうちょっといじらんとあかんがそれは宿題。
春休みなんだから時間あるだろ。
0184nobodyさん02/03/15 20:33ID:???
まあ歳なんて聞いてないけどな
0185 ◆AnfivKvE 02/03/16 08:44ID:???
http://pc.2ch.net/test/read.cgi/php/1015127347/422-423
の続きです。

大絶賛(藁 のKENTさんのYYBBSにトリップ機能を付ける方法について

# YY-BOARD v4.54 (2001/09/06) の場合
以下の方法で出来ました。
設置例:http://www.pweb.ne.jp/~fpm2/trip_yybbs/yybbs.cgi

549行目
# クッキーを発行
&set_cookie;

#トリップ機能
$in{'name'} =~ s/◆/◇/g;
$in{'name'} =~ s/\x23(.+)$/ "◆".trip($1)/e;

ファイル最後に

#----------------#
# トリップ生成 #
#----------------#
sub trip {

my $key = shift;

$key =~ s/"/&quot;/g;
$key =~ s/</&lt;/g;
$key =~ s/>/&gt;/g;

my $salt = substr("${key}H.", 1, 2);
$salt =~ tr/\x00-\x2d\x7b-\xff/./;
$salt =~ tr/\x3a-\x40\x5b-\x60/A-Ga-f/;

return substr(crypt($key, $salt), -8);
}
0186nobodyさん02/03/16 09:32ID:???
>>185
と、言うかお前の掲示板はトリップが必要なほど荒れているのかと小一時間。
0187 ◆0z.4Is5E 02/03/16 09:38ID:???
>>185

すいません、、純正のYY-BBSでやってみたところうまくいったのですが
自分の使ってるのが改造品なのかよくわからないのですがそれだと出来ませんでした。

http://home.catv.ne.jp/kk/space/gakuyuu/yybbs.htm

ここのYY-BBS改造バージョンを使っていて、
同じように


# クッキーを発行
&set_cookie;

#トリップ機能
$in{'name'} =~ s/◆/◇/g;
$in{'name'} =~ s/\x23(.+)$/ "◆".trip($1)/e;

ファイル最後に

#----------------#
# トリップ生成 #
#----------------#
sub trip {

my $key = shift;

$key =~ s/"/"/g;
$key =~ s/</</g;
$key =~ s/>/>/g;

my $salt = substr("${key}H.", 1, 2);
$salt =~ tr/\x00-\x2d\x7b-\xff/./;
$salt =~ tr/\x3a-\x40\x5b-\x60/A-Ga-f/;

return substr(crypt($key, $salt), -8);
}

とやってみたのですがダメでした・。。どこを直せばいいのでしょうか?
0188 ◆AnfivKvE 02/03/16 10:31ID:???
>>186
別スレで質問したときは、2ちゃんねらー用に設置しました。
(ほのぼの板なんですけどね^^;)
たしかに必要性っていう観点からは、荒れない限りトリップいらないっすね。

>>187
それをダウンロードして調べて欲しいっていう意味でしょうか?
スクリプトをテキストファイルでアップロードする等の方法もありますので・・・。
あなたのPerlへの理解度も含めておしえてください。
0189 ◆AnfivKvE 02/03/16 10:48ID:???
>>187
とかいいつつダウンロードしてやってみました。

結論から言うとできましたよ。
http://www.pweb.ne.jp/~fpm2/0z.4Is5E/yybbs.cgi

おせっかいかもしれないですが、
コピペでは動かなくて当然かも…。

その改造版yybbsは、ちょっと古い(失礼^^;)みたいですね
本家のバージョンだと2.2を改造したものみたいです。
最新版yybbsは4.54みたいです。
変数の名前や用途も少しずつ違いますし、
処理も少しずつ違う見たいです。
どの変数に名前が格納されるのか等の、
簡単な構造はわからないと厳しいかも…

m(_ _)m
0190 ◆0z.4Is5E 02/03/16 11:27ID:???
>>189

本家のYY-BBSと変数などを見比べてみたんですが・・
$nameっていう変数に投稿者の名前が格納されているんですよね?

うーん・・やっぱり

sub trip {

my $key = shift;

$key =~ s/"/"/g;
$key =~ s/</</g;
$key =~ s/>/>/g;

my $salt = substr("${key}H.", 1, 2);
$salt =~ tr/\x00-\x2d\x7b-\xff/./;
$salt =~ tr/\x3a-\x40\x5b-\x60/A-Ga-f/;

return substr(crypt($key, $salt), -8);
}

これも変えなきゃだめなんでしょうか・・
0191 ◆AnfivKvE 02/03/16 11:34ID:???
あ、そうだ。書き忘れたことを想い出しました。
KENT氏のYYBBS系の掲示板は、書き込み後の画面は
Cookieから名前を読まないから、名前欄のValueが
トリップが生成された直後の名前になっちゃいます。

だからそのまま連続で書き込むと「偽者扱い」になるので注意。
このへんは要改造です。頑張ってください。

>>190さん、まずはやってみましょう。それで出来るはずなので。
あとトリップ生成のサブルーチンをコピペするときは、
>>190のじゃなくて、>>185のをコピーしてください。
>>190さんのコピペは&quot;が、"になっちゃってますんで。
0192 ◆0z.4Is5E 02/03/16 13:08ID:???
コピペ止めて全部いちから>>185さんのを見て打ったんですが
やはり「#a」と書いて投稿するとそのまま表示されてしまうんですが

http://home.catv.ne.jp/kk/space/gakuyuu/yybbs.htm

の

### --- ログ書き込み処理 --- ###
sub regist {

    〜略〜

のところに

# 時間を取得 ==> 記事投稿時の日付、時刻
&get_time;

# クッキーを発行
&set_cookie;

# トリップ機能
$in{'name'}=~s/◆/◇/g;
$in{'name'}=~s/\x23(.+)$/"◆".trip($1)/e;

# ファイルロック
if ($lockkey == 1) { &lock1; }
elsif ($lockkey == 2) { &lock2; }

#トリップ機能
$in{'$name'}=~s/◆/◇/g;
$in{'$name'}=~s/\x23(.+)$/"◆".trip($1)/e;

# ログを開く
open(IN,"$logfile") || &error("Can't open $logfile");
@lines = <IN>;
close(IN);


こんな感じにしてやったんですがやはりダメでした・・
0193nobodyさん02/03/16 13:13ID:???
>>192
あのな、>>189に書いてあることを少し理解しなさい。
んで、少しはPerlの文法ぐらい調べなさい。
>>190で変数を調べて於いて、なんで>>192の様になるのか理解不能。
0194nobodyさん02/03/16 13:18ID:???
何にもわからないのに改造するのは無理だよ
0195 ◆0z.4Is5E 02/03/16 13:22ID:???
上のコードの2番目のトリップのところは削除しました

#トリップ機能
$in{'$name'}=~s/◆/◇/g;
$in{'$name'}=~s/\x23(.+)$/"◆".trip($1)/e;

これはちょっと前のを削除し忘れてました。
0196nobodyさん02/03/16 13:25ID:???
>>195
>>1くらい見ろ
お前はどこに設置してんだ
んで、そのソースはどこだ
0197 ◆0z.4Is5E 02/03/16 13:28ID:???
出来ましたありがとうございました
0198nobodyさん02/03/16 13:30ID:???
>>185の改造だけじゃだめだぞ
連続投稿で
$in{'$name'}=~s/◆/◇/g;
に引っかかる
0199 ◆0z.4Is5E 02/03/16 13:45ID:???
>>198

あ、なんていうかYY-BBSの改造版だとちゃんと#〜〜
でクッキー取得してるみたいです
0200nobodyさん02/03/16 13:48ID:???
>>199
ルールも守れないような教えて君はもう来るな
020119902/03/16 14:13ID:???
訂正

やっぱクッキーに◆〜〜
ってなってました(´Д`;)
■ このスレッドは過去ログ倉庫に格納されています