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

【 スクリプト改造依頼スレ 】(丸投げ) part5

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/03/01(水) 09:50:05ID:5+nhA5tl
「スクリプトを改造したいけど、言語の知識ゼロなんでつ」という人がいましたら
ここで依頼してください。ひょっとしたら改造してくれる人がいるかもしれません。

◆依頼するときは以下の点に注意して下さい。(厳守)

(1) 作者が改造依頼を受け付けていない場合このスレを利用する。
(2) 依頼はテンプレ(>>2)を使用する。
(3) 改造してもらって知らん顔をせず、動作報告は必ず行う。

※改造してくれないからといって逆ギレする厨はお断り。

【まるなげどん】 http://s3p.net/~channel2/webpro/marunage/
 あぷろだ。スクを貼るのに必要な方はここを使ってください。(初代スレ132提供)
 依頼者はこちらにも依頼レスをコピペしても構いません。

【 依頼一覧 】 http://webprog.s101.xrea.com/cgi-bin/marunage/marunage.cgi
 依頼の状態や結果が一覧で掲載されています。(part2スレ899提供)

【クリックで救える命がある】 http://www.dff.jp/index_t.php
 改造してくれた方へのお礼も込めてクリック
0412nobodyさん2006/06/04(日) 12:13:05ID:???
誰か僕を改造してください。
0413nobodyさん2006/06/04(日) 13:07:09ID:???
じゃあまず、自分をどこかにアップロードしな
0414nobodyさん2006/06/04(日) 21:20:22ID:???
>>412
著作権はクリア出来てるのかい?
0415nobodyさん2006/06/04(日) 21:28:50ID:???
>>412
再配布OK?
0416nobodyさんNGNG
つまんねーVIPでやれよ
0417nobodyさん2006/06/04(日) 22:13:14ID:???
>>416のサイトの方がつまんね〜
0418nobodyさんNGNG
ごめん
0419nobodyさん2006/06/05(月) 12:58:34ID:???
>>402です・・・

>>403
投票結果は残しておきたかったんです・・・

>>406
そうだったんですか・・・違うスクリプト探した方がいいですかね・・・
0420nobodyさん2006/06/05(月) 23:27:42ID:???
>>419
どのくらいの規模かわからんけど
集計したら何かに書いておけば?
0421nobodyさん2006/06/06(火) 01:05:27ID:???
>>411
半角というのを半角スペースとみなして。。。
禁止ワードファイルをdenyword.txtとします。

yyini.cgiの254行目、$deny_wordの設定の後に以下を追加して下さい。

if (open(F, 'denyword.txt')) {
 chomp($deny_word2 = <F>);
 close(F);
 $deny_word2 =~ tr/ /,/;
 if ($deny_word eq '') {
  $deny_word = $deny_word2;
 } else {
  $deny_word .= ','.$deny_word2;
 }
}
0422nobodyさん2006/06/06(火) 01:15:24ID:???
>>410
>>381の追加部分の、
&linkmake($category[$i],1) → $category{$category[$i]}
0423nobodyさん2006/06/06(火) 11:31:20ID:ZWf+I518
【.  CGI名  .】 もっと書き込み隊
【配布先URL】 ttp://tackysroom.com/cgi_mkakikomitai.htm
【 依頼期限 】 特にありません
【. 依頼内容 】 @NG_words=('アホ','バカ'); みたいな感じでNGワード設定が欲しいです。
0424いしころ ◆cgAk1dwuCk 2006/06/06(火) 19:23:11ID:???
>>423
既にその機能はある
0425nobodyさん2006/06/06(火) 21:31:47ID:???
>>424
あら?ホントだ。いつの間にやらバージョンアップしてました。
すみません。お騒がせしました。
0426nobodyさん2006/06/07(水) 20:01:37ID:???
【.  CGI名  .】 次世代4氏牛
【配布先URL】 ttp://www.yoshinoya-dc.com/
【 依頼期限 】 米黒さん解禁までに
【. 依頼内容 】 タマネギ多すぎなのでネギ抜きでお願いします

一昔前、当時のおにゃにゃが吉野家で牛丼頼んだそうです
「この間ね?牛丼にタマネギばっかでお肉が全然なかったの(><)」
今でも彼女の言葉が忘れられません おねがいします おねがいします。

直接県下売りに行こうかと思いましたが、小さい男になりさがるワケにはいかなかった。
8年前の出来事のクレームの付け方教えてくれるチャットの住所求む!
0427nobodyさん2006/06/09(金) 15:33:44ID:???
面白いとでも思ってるのかね。。
0428nobodyさん2006/06/10(土) 12:25:51ID:???
ワレながらの傑作と思ってるんでしょ。
思ってなければ書かないでしょ。
スルーしとけ。
04294262006/06/10(土) 19:10:08ID:???
いや 寒いと思ってます 酒のつまみになんとやら…
一番下以外は本心 さらに実話なんだからいいタだろボケ!!
ホットケよ

=====次の依頼どうぞ======
0430nobodyさん2006/06/10(土) 19:12:24ID:???
本人か便乗かしらんが、>>429も寒い
氏ね
0431nobodyさん2006/06/11(日) 01:57:35ID:???
ここは他と類を見ない糞スレですね?;-)
0432nobodyさん2006/06/11(日) 12:29:51ID:???
>>431
× と
○ に
0433nobodyさん2006/06/11(日) 13:12:45ID:8QxzXRQL
【.  CGI名  .】 Sn Uploader
【配布先URL】 http://sugachan.dip.jp/download/uploader.php
【. 置き場所 .】 まだ設置していません。
【 依頼期限 】 今月中
【. 依頼内容 】 ドコモやAUの携帯からでもアップロードができるように
          できますか?よろしくお願いいたします。
0434nobodyさん2006/06/11(日) 13:32:47ID:???
改造するまでもなくその手のプログラムは存在する
0435nobodyさんNGNG
全く意味の無い改造だな、
携帯用のアップロード掲示板をレンタルできるサービスが幾つかあるからそっち使ったら?
PCから使うことを前提としたプログラムをわざわざ、ね…。
0436nobodyさん2006/06/11(日) 15:23:20ID:???
>>422
&linkmake($category[$i]) ではなくカテゴリーに変えるんですか…勉強になりました。
そして動作確認した所無事動きました。
ありがとうございました!

このままだと表示の時の区切りが『,』になってるんですが、『|』に変える場合
$category = join(', ',@category);を
$category = join('|',@category);にするだけでいいんですよね?
試してちゃんとなったものの、間違ってないか不安なので…
0437nobodyさん2006/06/12(月) 16:07:34ID:z9zmQD0T
【.  CGI名  .】 アクセス制限自動管理システム2
【配布先URL】 http://www.rescue.ne.jp/cgi/autopwd2/
【 依頼期限 】 今月中
【. 依頼内容 】 登録アドレスを携帯に指定したいのですが
@以下をセレクトボタンで指定するようにできますか?
よろしくお願いいたします。
0438nobodyさん2006/06/12(月) 19:52:56ID:???
>>437

できるよ。
その程度ならやってもらうまでもなく自分でやろうよ。
0439nobodyさん2006/06/12(月) 20:50:06ID:???
スレの意味ねーじゃんww
0440nobodyさん2006/06/13(火) 09:20:33ID:???
【.  CGI名  .】 ショートメッセージ
【配布先URL】 http://php.s3.to/simple/#short
【. 依頼内容 】 レス番号の表示。 $message = の部分で表示できるように、$number見たいな感じでお願いします
04414402006/06/13(火) 10:34:05ID:???
書き忘れましたが、IP(orホスト名)のコメントアウト埋め込みも同様に出来ると嬉しいです
0442nobodyさん2006/06/13(火) 11:08:55ID:???
考えてみたらレス番はタグで出来そうなので、どっちかというとIP優先で_| ̄|○
0443nobodyさん2006/06/13(火) 15:21:26ID:???
>>440
何が言いたいのか良く分からんのでもっと詳しく。

hage >> はげ -13(Tue) 12:30 pm-
hoge >> ほげ -13(Tue) 05:28 am-
moge >> もげ -12(Mon) 10:22 am-
huge >> ふげ -12(Mon) 09:45 am-

を

21. hage >> はげ -13(Tue) 12:30 pm- <!-- 123.456.789.0 -->
20. hoge >> ほげ -13(Tue) 05:28 am- <!-- 123.456.789.1 -->
19. moge >> もげ -12(Mon) 10:22 am- <!-- 123.456.789.2 -->
18. huge >> ふげ -12(Mon) 09:45 am- <!-- 123.456.789.3 -->

みたいにしたいということ?
0444nobodyさん2006/06/13(火) 17:00:57ID:???
【.  CGI名  .】 SERAPHIC BBS V02
【配布先URL】 http://www.seraph-network.jp/cgi-home/cgi-download/SERAPHIC_BBS/V02.htm
【. 依頼内容 】携帯の場合IPやホストではなくutnで識別したいのですが
http://www.hide07.jpn.org/blog/item/64を参考に自分でもやってみましたが
送信ダイアログすら出せませんでしたorz
0445nobodyさん2006/06/13(火) 19:36:25ID:6qfeHVKf
【.  CGI名  .】 Giko-Counter 1.2     
【配布先URL】 http://www.cg-web.com/【閉鎖】
【. 置き場所 .】 http://marunage.s201.xrea.com/joyful/img/436.lzh
【 依頼期限 】  出来れば今週中にお願いします
【. 依頼内容 】 現行だとリロードする度にカウントが上がってしまいます
         それを一定時間同じIPからアクセスしても上がらないようしたい

よろしくおねがいします
0446nobodyさん2006/06/13(火) 20:35:31ID:???
またまたよく考えてみたらol liだと表示される分だけになっちゃうから意味ないなぁ(´・ω・`)
0447リロード忘れorz2006/06/13(火) 20:36:04ID:???
>>443
言葉足らずですみません
まさにそういうことです
04481/32006/06/13(火) 21:10:21ID:???
>>445

giko_cnt.cgiの18行目あたりの
ここから↓

$count_file="./cnt.dat";

open(DATA,"$count_file");
&lock;
$number=<DATA>;
&unlock;
close(DATA);

$number=$number+1;

open(DATA,">$count_file");
&lock;
print DATA $number;
&unlock;
close(DATA);

ここまで↑
を、 次のように差し替える。
04492/32006/06/13(火) 21:13:02ID:???
ここから↓
$count_file="./cnt.dat";
$expire = 24 * 60 * 60; # 同一IPをカウントしない有効期限(秒)

open(DATA,"$count_file");
&lock;
($number, @logs) = <DATA>;
&unlock;
close(DATA);

chomp($number);
for ($num = 0; $num < @logs; $num++) {
chomp($logs[$num]);
($gmt, $ip) = split(/\t/, $logs[$num]);
if (time() > $gmt + $expire) { # 有効期限切れのデータは消す
$logs[$num] = "";
} elsif ($ENV{'REMOTE_ADDR'} eq $ip) { # IPチェック
$flag = 1;
}
}
if (!$flag) {
$number++;
open(DATA,">$count_file");
&lock;
print DATA $number."\n";
print DATA time()."\t".$ENV{'REMOTE_ADDR'}."\n";
print DATA @logs;
&unlock;
close(DATA);
}
ここまで↑
04503/32006/06/13(火) 21:14:14ID:???
俺は趣味レベルでしかもperlいじるのはすっごい久しぶりなんで、
もしかして何か抜けてたら寸魔村。

>>447
おっけー、そんじゃ今からぼけぼけやってみる。
0451nobodyさん2006/06/13(火) 21:47:42ID:???
>>450
ありがとうございます
期待してます
04521/42006/06/13(火) 22:46:34ID:???
>>450
ほいできた。


short.phpの23行目〜67行目あたりの
ここから↓

if(phpversion()<"4.1.0") {
$_POST = $HTTP_POST_VARS;
$_SERVER = $HTTP_SERVER_VARS;
}

(中略)

for($i = 0; $i <= $max; $i++)
echo $lines[$i];
?>

ここまで↑
を、次のものと差し替える。
04532/42006/06/13(火) 22:47:14ID:???
ここから↓

if (!isset($_POST['name'])) { $_POST['name'] = ""; } //
if (!isset($_POST['message'])) {$_POST['message'] = ""; } //

if(phpversion()<"4.1.0") {
$_POST = $HTTP_POST_VARS;
$_SERVER = $HTTP_SERVER_VARS;
}
?>
<form method="post" action="<? echo $_SERVER['PHP_SELF']; ?>">
<font face="Arial"><b>-ShortMessage- 自由に書き込んで下さい</b> <small>b,i,s,uタグ可</small></font><br>
<b>N:</b><input name="name" type="text" size="10"
maxlength="10" value="<? echo $_POST['name']; ?>">
<b> : </b><input name="message" type="text" size="40" maxlength="60">
<input name="submit" type="submit" value=" Send "><br>
<?
$lines = file($logfile);//ファイルを配列に読み込む
//名前と本文がある場合書き込む
if ($_POST['message'] && $_POST['name']){
$message = $_POST['message'];
$name = $_POST['name'];
$num = 1; //
if(!$tag){
$message = htmlspecialchars ($message);//タグ不可なら
$message = str_replace("&", "&", $message);
}
if(get_magic_quotes_gpc()){//SJISなら¥除去
$message = stripslashes($message);
$name = stripslashes($name);
}
04542/42006/06/13(火) 22:47:51ID:???
$name = strip_tags($name);
$message = strip_tags($message, $allow_tag);//許可タグ以外除去
$message = eregi_replace("(style|onmouse)[^=]*=", "", $message);

//メールリンクつける場合
$message = eregi_replace("([[:alnum:]_\-\.]+)@([[:alnum:]_\-\.]+)","<a href=\"mailto:\\1@\\2\">\\1@\\2</a>",$message);
//自動リンクつける場合
$message = ereg_replace("(https?|ftp)(://[[:alnum:]\+\$\;\?\.%,!#~*/:@&=_-]+)",
"<a href=\"\\1\\2\" target=\"_blank\">\\1\\2</a>",$message);
$message = preg_replace("/(<(\w+)[^>]*>)([^<]*)/","\\1\\3</\\2>",$message);//閉じ忘れ
$date = gmdate("d(D) h:i a",time()+60*60*9);//日付のフォーマット
if ($lines && preg_match("/^(\d+)\./", $lines[1], $matches)) //
$num = $matches[1] + 1; //
$message = "\n{$num}. {$name} >> {$message} <font size=1>-<i>{$date}</i>-</font><!-- {$_SERVER['REMOTE_ADDR']} --><br>"; //
$fp = @fopen($logfile , "w") or die($logfile."が開けません");//書き込みモードでオープン
fputs ($fp, $message);//先頭に書き込む
for($i = 0; $i < $logmax; $i++)//いままでの分を追記
if (isset($lines[$i])) { fputs($fp, $lines[$i]); } //
fclose ($fp);//ファイルクローズ
echo $message;//すぐ表示
}
for($i = 0; $i <= $max; $i++)
if (isset($lines[$i])) { echo $lines[$i]; } //
?>

ここまで↑
ちなみに行末に//とだけ付けているのが修正箇所な。
04554/42006/06/13(火) 22:48:41ID:???
名前まちごた。上は3/4ね。

しかしこれ、書かれた当時はこれでも問題なかったのかも知らんが
試しに素の状態で設置して言われた通りに空のログファイルを用意してみたら
100個くらいのエラーメッセージを吐いて画面が埋まる。
まあその辺はきっちり直したつもりだけど、
そのほかにもログファイルをロックとか一切してないから
短い時間に何件もの書き込みが集中したら多分ログ飛ぶよ。
俺ならこんなものは使わずに他のを探すなあ。
04564452006/06/13(火) 23:03:38ID:???
>>448
動作確認できました
感謝感謝です
0457nobodyさん2006/06/13(火) 23:39:11ID:???
【.  CGI名  .】 トラフィックエクスチェンジスクリプト
【 依頼期限 】 できれば今月中を希望します。
【. 依頼内容 】 初期状態では紹介制度のボーナスが
「紹介者が1ポイント獲得する度に0.1ポイントを貰える」に
なっているのですが、それの数値を0.1から0.5に変えてほしいのです。

無料配布のものではないため、ここでURLを公開できません。
改造内容自体は単純なものなのですが知識がないもので・・・。
もし改造してくれる方がいましたら連絡お願い致します。
0458nobodyさん2006/06/13(火) 23:49:20ID:???
>>455
ご丁寧にありがとうございました
IP取得はできるようになったのですが番号はうまくいきません
まあここからは自力で調整してみます
ところでこの手のスクリプト、他を探しても条件に合うのがなかなかなかったもので…
0459nobodyさん2006/06/13(火) 23:59:53ID:???
もしかして前まで使ってたログファイルをそのままにしてあるなら、
完全に空で改行コードひとつも入っていないものに差し換えてみて。

それでも駄目ならまた後で直しとくわ。
0460nobodyさん2006/06/14(水) 00:02:49ID:???
>>457

> 無料配布のものではないため、ここでURLを公開できません

そういうものの改造依頼をここでするなよ。
作者に言え。
0461nobodyさん2006/06/14(水) 00:15:46ID:???
>>459
レス番号も書き直したら出来ました
本当にどうもありがとうございました
0462nobodyさん2006/06/14(水) 00:37:28ID:???
そういやログファイルの書式が古い場合を想定し忘れてた。
ともあれちゃんと動いたようで何より。
0463nobodyさん2006/06/14(水) 02:05:08ID:otUcXERu
【.  CGI名  .】 YY-BOARD5.33
【配布先URL】 http://marunage.s201.xrea.com/joyful/narunage.cgi?mode=thr&no=207
【依頼期限】今月ぐらいまで。
【依頼内容】 以前このスレでランダムアイコン機能追加の依頼があり、上のURLのを使っています。
それに+してランダムを選択しないと出てこない、 ランダム専用アイコンを追加したいのです。
秘密扱いにしたいので、アイコン一覧には表示したくありません。

$ico1がファイルの場所で、$ico2が上に対となるファイルの名前になりセットです。
初めは$ico1だけ書けばアイコン選択で出ないと思ってたのですが、
名前無しのアイコンが選択画面、アイコン一覧画面に出てきてしまい。お願いしにきました。
0464nobodyさん2006/06/14(水) 13:25:51ID:Vx9KzTrZ
http://game10.2ch.net/test/read.cgi/gsaloon/1149921825/577

を見て来ました!こんにちわ!

スパスレっていいます!よろしくね!

スパスレでは24時間いつでもアニメとゲームの話で盛り上がってるから、みんなもぜひ遊びに来てね!

そうそう、一つ気をつけてもらわないといけないことがあるんだ!

にんてんどうって会社が作ってるゲーム機の話題はしちゃだめだよ!

一日中パソコンに向かってる頭のおかしい人が怒って暴れだしちゃうんだ!

そのことに気をつければ、あとはワイワイ楽しく遊び放題だよ!

そうそう、今日は特別に、スパスレをもっと楽しむためのとっておきの秘密を教えちゃうよ!

http://chike.tv/supasure/upload.php
http://chike.tv/hage/upload.php

このアップローダーではどんなファイルでも300MBまでアップロードできるんだ!

みんなが喜ぶようなファイルをアップロードするとスパスレがもっと盛り上がって楽しいよ!

それじゃ、スパスレで君と一緒に楽しく遊べるのを楽しみにしてるよ!またね!
0465nobodyさん2006/06/14(水) 13:53:55ID:???
>>463
おk、把握した。

yyini.cgiの308行目あたりにある

foreach(0 .. $#ico1) {

を

foreach(0 .. $#ico2) {

に、さらにyybbs.cgiの428〜429行目あたりの

$stop = @ico1; ##
foreach (0 .. $#ico1) { ##

を

$stop = @ico2;
foreach (0 .. $#ico2) {

に変える。

注意点としては

$ico1 = 'dummy.gif hage.gif huge.gif hoge.gif moge.gif rand1.gif rand2.gif rand3.gif…';
$ico2 = 'ランダム はげ ふげ ほげ もげ';

といった感じに、ランダム専用画像は一番後ろにまとめて書く事。

これで不具合があったらまたどうぞ。
0466nobodyさん2006/06/14(水) 14:26:05ID:???
>>465
変更して実際に何度も試してみました。
希望通りに表示され、感動しました。

ありがとうございました。
0467nobodyさん2006/06/14(水) 14:33:28ID:???
>>457
一体どんなものかと思ったら18000円もするアフェリツールか。

販売元サイトのFAQに「カスタマイズ要望には可能な限り対応する」って書いてあるけど、
しかもその中に「過去にポイントレートの変更も無料でやりました」って書いてあるんだけど、
なんでわざわざここで頼むの? ねえ、なんで?
04684572006/06/14(水) 16:05:03ID:2DQrvpL6
>>467
「そのスクリプトではないから」。
18000円もしてませんし私が購入したところはサポートや改造が一切無しだったもので。
完全に勘違いしてしまっているようですねw
0469nobodyさん2006/06/14(水) 16:25:56ID:???
>>468
このスレで頼みたいなら、そんな偉そうな言葉遣いやめろよ。
0470nobodyさん2006/06/14(水) 16:42:35ID:???
>>468
そうだったのか。そいつは失礼した。

お詫び代わりにひとつ忠告しておくと、
配布元も動作するサンプルも何の情報も提示せずに依頼されても
改造の難易度が予想できんから誰も受けられないよ。

あと、有料のソースをこんなところで赤の他人に委ねるということのリスクも考えてな。
0471nobodyさん2006/06/14(水) 17:18:37ID:???
>>457
>>私が購入したところはサポートや改造が一切無しだったもので

作者もノンサポならあきらめろ
それともご法度承知でスクリプトうpれw

あきらめなさいw
0472nobodyさん2006/06/14(水) 17:57:10ID:???
>>457
あきらめろ
0473nobodyさんNGNG
ばかだなぁ
0474nobodyさん2006/06/14(水) 22:29:19ID:h+9hOowf
【.  CGI名  .】 YY-BOARD5.8
【配布先URL】 http://www.kent-web.com/bbs/yybbs.html
【依頼期限】今月まで。
【依頼内容】 cgiファイルにある投稿フォームを消して、別のHTMLファイルに投稿フォームを追加。
誰でも掲示板は見られるけど、投稿フォームが無くて投稿ができない状態にしたいです。
投稿フォームのアドレスを知っている人だけが投稿できるよう改造。
0475nobodyさん2006/06/14(水) 23:28:16ID:???
投稿用のフォームの入ったHTMLファイルは自力で用意できるのか?
0476nobodyさん2006/06/15(木) 00:02:50ID:???
>>473
だから、おまえのサイトの方がバカだと、あれほど(ry
0477nobodyさん2006/06/15(木) 00:03:44ID:???
CGIファイルの中にある<form>から</form>までコピペしてHTMLに書いても、
エラーが出てダメでした。ファイルの場所が違うフォルダだからか、何処が原因がわかりません。
多少ならば自力で用意できます。
0478nobodyさん2006/06/15(木) 00:25:57ID:???
>>477
ふーん、おまいさんのレベルは大体分かった。
じゃあこれからぼけぼけと取りかかるけど、
消し飛ばす投稿フォームは一番上のだけでいいの?
それとも各投稿に対する返信もできなくした方がいいの?
0479nobodyさん2006/06/15(木) 00:36:36ID:???
>>478
ありがとうございます。本当に助かります。
消すのは一番上の投稿フォームのみで、
下側の修正はそのままでお願いします。
返信ボタンを消すのもできればお願いします。
04804782006/06/15(木) 02:42:58ID:???
でけたよ。

http://marunage.s201.xrea.com/joyful/narunage.cgi?mode=thr&no=437

途中で怠くなったんでものっそいてけとーに書いた。
まあ不具合が出たらその時に直すってことでひとつ。

yybbs.cgiにアクセスしてもフォームは出ないし返信もできないが
yybbs.cgi?key=0123にアクセスすればフォームが出るし返信もできる。
修正や管理は普通にできるはず。

まあ試してみて。
0481nobodyさん2006/06/15(木) 07:33:57ID:???
【.  CGI名  .】 (自作)
【配布先URL】 (無し)
【. 置き場所 .】 http://www.borujoa.org/upload.php
         D [upload6363.lzh] 借ります。丸投げ。 2 2006年06/15(木)07:26
【. 依頼内容 】 申し込みフォームの作成(修正?)
          form.htmlに記入された項目を「確認する」を押してform.cgiによって確認表示。
          form.cgiによって確認表示されたらページ一番下の「送信」でsend.cgiによって送信。
          送信後「送信完了しました」との表示。

upload6363.lzhにはform.htmlとform.cgiとsend.cgiが入っています。
sendmailによる送信フォームです。
何日も頑張ってるのですが出来ません。
よろしくお願いします。。
04824742006/06/15(木) 07:57:25ID:???
>>480
丁寧にありがとうございます。
夜中に試しみて、結果をもう一度書き込みます。
0483nobodyさん2006/06/15(木) 08:12:19ID:???
>>481
何で引っ掛かるのかもっと詳しく。
04844812006/06/15(木) 08:29:05ID:???
>>483
最初に動かすform.cgiがすでに動きません。
methodはPOSTなので
read(STDIN, $query, $ENV{'CONTENT_LENGTH'});
って書いたんですけど駄目で
とりあえず読み込めてるのかどうかだけ試そうと
read(STDIN, $query, $ENV{'CONTENT_LENGTH'});
print "$query\n";
だけ記述したんですが、print吐き出さず・・(涙
仕方なく
if($ENV{'REQUEST_METHOD'} eq 'POST') {
read(STDIN, $query, $ENV{'CONTENT_LENGTH'});
}
else {
$query = $ENV{'QUERY_STRING'};
}
にしてみたけど駄目でした。
ちなみに元のソースは『10日で覚えるPerl/CGI』という本からで
04854812006/06/15(木) 08:30:17ID:???
#! /usr/bin/perl

if($ENV{'REQUEST_METHOD'} eq 'POST') {
read(STDIN, $query, $ENV{'CONTENT_LENGTH'});
}
else {
$query = $ENV{'QUERY_STRING'};
}

foreach $pair (split(/&/, $query)) {
($key, $value) = split(/=/, $pair);

$value =~ tr/+/ /;
$value =~ s/%([0-9a-fA-F][0-9a-fA-F])/chr(hex($1))/eg;

$FORM{$key} = $value;
}

print <<END;
Content-type: text/html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head><title>ふぉーむでーた</title></head>
<body>
<h1>フォームデータ</h1>
<table border="1">
<tr><th>項目</th><th>入力内容</th></tr>
END
04864812006/06/15(木) 08:31:26ID:???
foreach $key (keys %FORM) {
print "<tr><th>$key</th><td>$FORM{$key}</td></tr>\n";
}

print <<END;
</table>
</body>
</html>
END

こうなってます。
これなら動きましたが、HTML部分を(form.cgiのように)変えて
$value =~ s/</</g;
$value =~ s/>/>/g;
を追記したら動かなくなりました。
04874812006/06/15(木) 11:02:34ID:???
CGIが2つあるのは
1つ目のCGI(確認)でPOSTで受け取った値を表示
↓
その値をHiddenで2つ目のCGI(送信)に飛ばす

もし、修正があるんだったらHiddenでそのまま持ち回り1つめに戻る

という事なのですが、自分はよく分からないんです(汗
<imput type="hidden" name="hoge" value="">でvalueを$hogeに代入??
hiddenなんて使ったことなくて・・・涙
0488nobodyさん2006/06/15(木) 12:49:35ID:???
「URLエンコード」でググれ
04894742006/06/15(木) 15:42:23ID:???
>>480
ありがとうございます。
3つのファイルを上書きして試してみました。
フォームが無くなっていたのは希望通りです。
ただ書き込みしようとすると「書けまへーん 」が出てきてしまい書き込めません。
書けまへーんはどういう時に出てくるのでしょうか?

それと下にある設定はまったく関係ないのでしょうか?ここの設定もいじりますか?
# 投稿キーの使用(スパム対策)
# → 0=no 1=yes
$regist_key = 1;

# 投稿キー画像生成ファイル($regist_key=1のとき)
$registkeycgi = './registkey.cgi';

# 投稿キー実行ファイル($regist_key=1のとき)
$registkeypl = './registpl.cgi';
04904802006/06/15(木) 17:15:53ID:???
>>489
うはwwごめん。隠しフォームを一行書き忘れてた。>>480に修正版をうp。

正しいkeyがある場合に隠しフォームとしてそのkeyを送るのだが、
keyが無かったり違ったりした場合には「書けまへーん」と出るはずだった。
要するに外のHTMLファイルやmethod=getで無理矢理フォームデータを送って来た時のための対策。

$regist_keyは俺の改造とはまったく無関係だから好きなようにすれば良いが、
原則としては0でいいと思う。spamが来た時はkeyを変えればそれで済むし。
04914802006/06/15(木) 17:18:18ID:???
あと1個追記。
4つのファイルはエラーチェックのために1行目がこうなってるが、

#!/usr/local/bin/perl -w

問題が無かったら-wは消してしまっておk。
というか多分消した方がサーバには優しい。
0492nobodyさんNGNG
活気付いてるなぁ
0493nobodyさん2006/06/15(木) 17:36:35ID:???
>>491
ご丁寧に説明までありがとうございます。
投稿が出来ました。-wも消してみました。もうちょっとテストしてみます。
0494nobodyさん2006/06/15(木) 18:00:46ID:???
>>481
まあ頭からひとつずつ解決して行こう。

とりあえずフォームデータを送ると確認画面が出るところまでやるけど、
フォームには具体的にどういう項目を?
0495nobodyさん2006/06/15(木) 18:01:34ID:???
あ、ごめん。もうアップしてあったのか。
それじゃあそれをてけとーにいじってみる。
0496nobodyさんNGNG
send.cgiのSubjectが気になったな
RFC的にはどうなんろ
0497nobodyさんNGNG
ついでに、form.cgiが動かないのは一番最後の行に改行がないからかと
0498nobodyさんNGNG
send.cgiも同じか
04994942006/06/15(木) 21:25:41ID:???
いじってるうちにメール送信まで全部できてしまった。まあいいか。
sendmailって初めて使ったけど偉く簡単に送れるのなあ。世の中のspamが減らないわけだ。

http://marunage.s201.xrea.com/joyful/narunage.cgi?mode=thr&no=439

・3ファイルは怠かったんでサブルーチン使いまくって1個にまとめた。
・tableタグはクソなので全部消したw スタイルシート使え。
・要望には無かったが※マークが付いた項目が無記入の場合は文句をたれるようにしておいた。
・後でフォームの項目を増減させようとすると地獄を見るから気を付けろ。
・あと、送られるメールももう少し読みやすくなるようにしておいた。
・ただし、現状ではメール送信時にエラーが起こった場合の処理は超手抜きで明らかに問題がある。


ところでやってしまった後で言うのも何だが、これって明らかに商用のサイトで使用するものだよな。
金が絡むものをこういうところで
(1)どこの馬の骨とも分からん輩に (2)タダでやらせよう
という姿勢はどうかと思うぞ。

(2)についてはこんなもので金が取れるとは思わんし俺は別に良いけど、
(1)についてはどこにどんなものを仕込まれているか分かったもんじゃないからな。
05004942006/06/15(木) 21:28:28ID:???
続き。

だからまだ残っているかも知れないエラーが完全に取れて、
なおかつこれの中身を>>481が完璧に理解するまでは
実際の商売には使わない事をお勧めしとく。
0501nobodyさんNGNG
うおっ まぶしっ
0502nobodyさん2006/06/15(木) 22:34:20ID:???
久々に良い流れだな。
改造してる人がちょっとカッコイイぜ。
0503nobodyさんNGNG
sendmailっつーかSMTP自体が単純すぎる
0504nobodyさん2006/06/15(木) 23:43:24ID:???
>>502
>>443=448-450=452-455=459=462=465=467=470=475
=478=480=483=490-491=494-495=499-500=俺である件について。

つまりここ数日は俺ばっかり働(ry


   __ 
  |・∀・|ノ  よい
 ./|__┐
   /  [図]
""""""""""""""

     .__
   ((ヽ|・∀・|ノ  しょっと
     |__| )) 
      | |
      [図]
"""""""""""""""""
0505nobodyさん2006/06/15(木) 23:46:49ID:???
正直、この板で本当の職人って数人しかいないんじゃないかと思う
0506nobodyさんNGNG
頑張れー
0507nobodyさん2006/06/15(木) 23:52:09ID:???
居ることはそれなりに居ると思うけどねえ。まあ少なくとも俺は違うが。
0508nobodyさん2006/06/15(木) 23:56:44ID:???
>>506
ちょwおまww
お前も見てないで働けやw
どう見ても俺より数段詳しい癖に。
0509nobodyさん2006/06/16(金) 00:25:47ID:???
>>504
お前になら抱かれてもいいw
05104812006/06/16(金) 04:05:08ID:???
>>494
ありがとうございます。
確かに商用サイトで使用するものです。
本当に助かりました。ご忠告どおり理解できるよう頑張ろうと思います。
本当にありがとうございました!
0511nobodyさん2006/06/16(金) 05:17:16ID:???
【.  CGI名  .】 レッツPHP! Downloads
【配布先URL】 ttp://php.s3.to/data/#dl
【 依頼期限 】 4週間ぐらいと思われ
【. 依頼内容 】 パスワードの認証を不要に(どうせ非公開なのでAdministrationのリンクを参照すれば直ぐ設定できるようにして欲しい)

よろしくお願いします
■ このスレッドは過去ログ倉庫に格納されています