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

CGIだけどなんか質問ある Pert 5.01

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん02/03/03 12:49ID:673UxTI5
print"くだらない質問はここにかけや!";

0331nobodyさん02/03/12 16:04ID:???
それとuse utf8;を使ったほうがええやろ。
0332nobodyさん02/03/12 16:39ID:???
>>330
げ!
まあ、2行目のprint 以下になんもないので、見逃してください。

>>331
telnet でシェルに入って実行した時のエラー
>./utf8.cgi
./utf8.cgi: 鏤殖!/usr/local/bin/perl: not found
use: not found
: not found
print: not found
>
( ゚д゚)…ミンナハドウヤッテクリアシテルノカワカラナイヨ

あきらめて SJIS で HTML4.01 Strict な CGI にします・゚・(つД`)・゚・。
0333327=329=33202/03/12 16:43ID:???
最後の文、意味不明だ。無視してください。
0334nobodyさん02/03/12 17:00ID:???
>>332
#!/usr/local/bin/perl
↑これはあっているの?
#!/usr/local/bin/perl5 とかだったりしない?
033533202/03/12 17:14ID:???
>>334
同じソースをSJISでうpすると動くんですぅ。

SJIS で動作している CGI をそっくりそのまま UTF-8 に変換して
エラーが出てるんです。
UTF-8 に変換したのがローカルで perl utf8.cgi で動いてるのも確認してるし、
use utf8; もいれたし、
FFFTP でアスキー送信のボタンがへっこんでるの確認して送信してるし、
うpされたファイルのバイト数が減ってる(CRの分)確認してるし。

他にどこを確認したらいいでしょうか。
0336nobodyさん02/03/12 17:49ID:???
うpと書くのを止める
0337nobodyさん02/03/12 17:53ID:???
>>335
>作成に使ったのは Windows 用の Dana というテキストエディタなのですが、
>バイナリエディタで先頭3文字削除しても、
>また Dana で編集するとその3文字がくっつくし…。
これが原因でperlのパスがおかしくなってると思う。
>>332のエラーは実行するプログラムが見つからないってことでしょ。
普通のテキストエディタ使おうよ。
033833202/03/12 17:53ID:???
自己レス
utf8.cgi を

#!/usr/local/bin/perl
use utf8;
require "utf8.pl";

にして、ascii で保存。
utf8.pl を

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


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html;">
<title>UTF-8 で出力するCGI のテスト</title>
</head><body>
<h1>UTF-8 マンセー( ´∀`)</h1>
</body>
</html>
__EOD__
1;

にして、UTF-8 で保存。サーバーにうpして動きました。
よその人がどうやってるのかわからんけど、
今後はこの方法で作成します。みなさんありがとう。
033933202/03/12 17:55ID:???
>>337
普通のテキストエディタってどんなのかわからないんですが、
xyzzy も terapad も同じように先頭3文字くっつきやがりました。
疲れました。
0340nobodyさん02/03/12 18:18ID:???
>>339
秀丸はEF,BB,BF=BOM(Byte Order Mark)付いてないみたい。
ほとんど秀丸しか使ってないからそういうものだと思いこんでしまった。ゴメン。
EmEditorは付けるか付けないか選べた。notepadは付いてた。
とにかく#!をシェルに読ませないことには動かないでしょう。BOMは邪魔だね。
0341nobodyさん02/03/12 18:32ID:???
>>339
xyzzyだとM-x change-fileio-encodingでutf8nするとはじめの3バイトつかないよ。
utf8だと付く。
ってことでがんばれー。
0342nobodyさん02/03/12 18:36ID:ip/rxryK
perl 5.6.1使用。
use File::Basename; で宣言してbasenameを使いたいんだけどうまくいかないです。
$filename = 'C:\tmp\mona.jpg';
$basename = basename($filename,"");
だけど$basenameには全く処理のされないまま$filenameと同じモノが…
何が悪いのかな?
034333902/03/12 18:36ID:???
>>340-341
なるほど。先頭につけないエディタもあるんですね。
xyzzy に utf8 と utf8n と2つあるのはそういう意味だったんですか。
とりあえず、メインエディタを Dana から xyzzy に移行することにします。
ありがとう。
0344nobodyさん02/03/12 18:45ID:???
>>342
こんなんでどう?
use File::Basename;
fileparse_set_fstype(MSDOS);
$filename = 'C:\tmp\mona.jpg';
$basename = basename($filename,"");
print $basename;
034534202/03/12 18:55ID:???
>>344 うわっ、うまく行きましたがな!ありがとうです。
fileparse_set_fstype(MSDOS); ってのが多分ミソなんでしょーけど
これを自動判定させる方法って無いもんでしょうか?
敵はUNIXもMacも想定せなアカンので…
0346nobodyさん02/03/12 19:08ID:???
fileparse_set_fstype(MSDOS) if $^O eq 'MSWin32'
0347nobodyさん02/03/12 19:15ID:YNqS+HR0
LWP::Simple;
って、タイムアウトを設定できますか?
0348nobodyさん02/03/12 19:17ID:???
>>347
がたがた言うならsocket bind acceptでも使えば?
0349nobodyさん02/03/12 19:26ID:YNqS+HR0
わかった、素直にLWP::UserAgent使うよ。。
0350ぼくフェロー02/03/12 19:54ID:/5Jn0bAA
質問します.

ある変数 $a に入っている文字列が数値を表すか否か
判断するにはいかなる手段がありますでしょうか?

たとえば,次のように判別したいのですが.

$a = 100 ==> 数値
$a = -1.0 ==> 数値
$a = 1e-100 ==> 数値
$a = 'abc' ==> 数値ではない.
035134202/03/12 19:58ID:???
>>346 おにーたん、$^O をどこで使ったらいいのかわからないよ(´Д`;
$FORM = new CGI;
$filename = $FORM->param('img');
fileparse_set_fstype(MSDOS) if $^O eq 'MSWin32';
if ($filename) {
 だらだら処理
}
反応してくれないよ…
035234602/03/12 20:38ID:???
ちょっとまった。
「敵はUNIXもMacも〜」って、CGIを動かすブラウザがUNIXかMacかわからんってこと?
UNIXかMacかわからないサーバで動かせるスクリプトを組もうとしているのかと。

$basename =~ ($filename =~ /[\/\\:]([^\/\\:]+)$/)[0];

でいい?
\とか:とか/が入ってるファイル名は上手く取れないが、一応Win/unix/Mac対応。
035334602/03/12 20:39ID:???
× $basename =~ ($filename =~ /[\/\\:]([^\/\\:]+)$/)[0];
○ $basename = ($filename =~ /[\/\\:]([^\/\\:]+)$/)[0];
スマソ。
0354nobodyさん02/03/12 23:18ID:???
素直にFile::Spec使えや
0355nobodyさん02/03/12 23:20ID:???
パッケージ厨 VS システムコール厨

とかってスレッド立ててください!
0356nobodyさん02/03/12 23:52ID:OrWEi2X1
このスクリプトで新着スレッドを横に並べる、新規投稿、返信フォームを2ちゃんねる
と同じように同一ページに持っていきたいです。識者の方、教えてください。

http://uho.s7.xrea.com/cgi-bin/yy2ch/
0357識者02/03/12 23:55ID:???
教えません。
0358nobodyさん02/03/12 23:55ID:???
>356
新着スレ表示するところで<BR>を書かない。
ページにフォームを書き出す。
0359名無しさん02/03/13 00:48ID:???
HNS使いたいんだけど、設定がイマイチ(というかサパーリ)わからん。
・・・というのはここで相談してOK?
0360nobodyさん02/03/13 01:37ID:???
説明書を読んだ証拠と自分で頑張った形跡を見せればややOK
0361名無しさん02/03/13 01:59ID:???
>>360
うむ、もう一日粘ってみる。
0362nobodyさん02/03/13 06:41ID:P3iVCwDD
yy2chですが、<BR>ではなく<OL>と<LI>削除でいけました。
0363nobodyさん02/03/13 06:44ID:???
>362 よくやった!
0364nobodyさん02/03/13 22:30ID:0MaZQ+xJ
ASPを勉強したいのですが、いい参考書ないですか?
0365nobodyさん02/03/13 22:35ID:12II/YOS
Cで作る、CGIの本でなんかイイ参考書あったら教えてください、おねがいしマッスル
0366nobodyさん02/03/13 22:41ID:???
ttp://pc.2ch.net/test/read.cgi/php/988809842/
↑このスレッドで聞いた方がいいのでは?
Perl,CGIってなってるから、Perl限定じゃないでしょ。
0367nobodyさん02/03/13 22:43ID:???
>>365
月宮あゆのPerl教室 Part.4
http://pc.2ch.net/test/read.cgi/php/1014096840/l50

君と同じ質問してた人がいる。
後、いい答えも出てる。
0368nobodyさん02/03/13 22:53ID:12II/YOS
>>366-367
助かりました、どうもです!
0369nobodyさん02/03/14 11:58ID:zKtt7BTb
CGIの中からWinSockって使えるの?
たとえばVC++でCGI作って、特定のIPとデータ交換するとか。
ボケボケの質問でスマソ。
0370nobodyさん02/03/14 12:34ID:???
>369
なんでVC++?
普通にperlで組んでクライアント側にHTTP処理するコード書けば良いだけでは?
037136902/03/14 13:24ID:jSrpksxZ
>>370
ユーザの要求なもんでどうにも・・・。
あと、サーバーごと納めるんで、コードとか見せられないんですよ。
0372nobodyさん02/03/14 13:33ID:???
>>369さん
もちろん出来ますが、CGIでやる意味が分かりません。
クライアントの要求が来てから、データ交換にいそしんで、
長い間応答しないのは問題があると思います。
なぜデータ交換をCGIでやらないといけないの?
037336902/03/14 15:07ID:OQoEp2Bk
>>372さん。どもです。
データ量そのものはたいしたものではないのですが、
とある機器(WEBサーバーLAN内にある)を、インターネット経由で
ブラウサから制御しようとしているんです。
その辺の知識がまだ乏しいので、今のところCGIでできるかな?
と思っているのです。もっといい方法があるのでしょうが
今の私には思いつきません(あせ
0374nobodyさん02/03/14 18:47ID:???
>>373
それ、トロイの木馬という気がしてきた・・・。
セキュリティホールになる可能性大ですぞ。

外部の馬の骨−CGI(80番はファイアウォールで許可)−内部からしかアクセス出来ない機器

0375perlでgzipされたhtmlファイルの作成02/03/14 20:06ID:gUGqkp2C
perlでhtmlページを作成したいですが、
gzipで圧縮した、htmlファイルを作成する方法を教えてください。
0376nobodyさん02/03/14 20:17ID:???
>>375
apacheの設定。
0377nobodyさん02/03/14 23:41ID:yfgde3s4
>>374
ドキッ!!
ちょっとまだ良く理解できてないですが、なんかまずそう?!
そういう構成のシステムそのものに問題があると言うことですか?
0378nobodyさん02/03/14 23:50ID:???
実質ファイアウォールが無効化。

例を挙げると、ブラウザから打ち込んだコマンドを実行し、結果を返すだけのCGIがある。
CGIはサーバサイドで動くので、CGIの実行権限の範囲でCGIの使用者は何でも出来ることになる。
(CGI設置者であったりnobodyであったり。)

そのCGIに認証が必要ないとすれば、誰でも使えるシェルが公開されているに等しい。

ファイアウォールでいくら外部からのアクセスを拒否したとしても、そんなCGIがあれば
簡単に外部からの侵入を許すことになる。

いくら対外的なセキュリティを強化しても、外部の人間の言いなりになる産業スパイが自社にいてはまったく意味がない。
みたいな。
0379nobodyさん02/03/15 00:28ID:jooXMX1O
>>378
わかるようなわからないような。うう・・・。
認証と言うことは、たとえばパスワードのようなもので
ログインみたいなことをさせるとか、同時にそのCGIを使えるのは
一人のみに制限するとか(できるのかしら?(あせ))
CGIの持っている機能そのものは、当然コードに埋め込まれているものだけですが、
その存在だけで、第3者がサーバーに侵入できてしまうと理解して良いんですよね。
インターネット経由での遠隔操作でそういう制御をやってる人って
どうやって実現しているんだろう。
インターネットは使わないほうが良いって事なのかしら?
ふ〜、この世界って奥が深いのですね。どーしよ。
0380名無し ◆Rr5/ytdE 02/03/15 00:36ID:YznOuxlh
ttp://dream.lib.net/room/cgi/e_upboard.html
このBBSをhttp://netfirms.com/の
無料鯖に置くにはどうしたらいいですか?
cgi-binに画像ファイルが置けないのでこれでファイルをアップしても
保存できないのです。他の場合でもどう対処したらよいでしょうか?
お願いします。
0381名無し#02/03/15 01:37ID:???
age
0382nobodyさん02/03/15 07:16ID:???
>>380=381

  ミミ彡ミミミ彡彡ミミミミ
,,彡彡彡ミミミ彡彡彡彡彡彡
ミミ彡彡゙゙゙゙゙""""""""ヾ彡彡彡
ミミ彡゙         ミミ彡彡
ミミ彡゙ _    _   ミミミ彡
ミミ彡 '´ ̄ヽ  '´ ̄` ,|ミミ彡
ミミ彡  ゚̄ ̄' 〈 ゚̄ ̄ .|ミミ彡
 彡|     |       |ミ彡
 彡|   ´-し`)  /|ミ|ミ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ゞ|     、,!     |ソ  <  そんなに急ぐなよ道は長い
   ヽ '´ ̄ ̄ ̄`ノ /     \________
    ,.|\、    ' /|、
 ̄ ̄| `\.`──'´/ | ̄ ̄`
    \ ~\,,/~  /
     \/▽\/
0383perlでgzipされたhtmlファイルの作成02/03/15 11:26ID:2gjP1S/1
>>375-376
gzipが/bin/gzipにあります。
CGIでページをgzip化して表示できるので、このデータをそのままHTMLに書き出せたらと思ったのですが。
0384nobodyさん02/03/15 11:30ID:???
>>380
cgi-binに画像が置けないのなら別のディレクトリに置けばいいだけの話。
初期設定で画像のおき場所をフルパスで指定すれば良し。
ex:$datafileurl = 'http;//www.2ch.net/imgdir/';
リンク先を見てないのでうまくいかないかも。
0385 ◆AnfivKvE 02/03/15 11:54ID:???
KENT-WEBさんの掲示板に、
トリップ機能を搭載したいと思っています。

過去ログを見たけどわかりませんでした。
>>4-5にある「スクリプト改造工房」はdat逝きでした…

できれば、2ちゃんと同じトリップが使えたらいいなと思っています。
当方スキルは、一応Perlを初心者向けリファレンス本を読んでいる程度です。

トリップを搭載したいのは、プチ★ボード(petit.cgi)です。

どなたか、コレを実現された方、もしくは実現方法をご存じの方、
教えて下さい。よろしくお願いします。

KENT-WEBさんのサイト
ttp://www.kent-web.com/

プチ★ボード配布コーナー
ttp://www.kent-web.com/bbs/petit.html
0386nobodyさん02/03/15 12:54ID:???
$in{'name'} =~ s/\x23(.+)$/substr(crypt($1,$1), 2,10)/e;

書き込み処理のちょっと前くらいに入れておくべし。
あと、スレ違い。
http://pc.2ch.net/test/read.cgi/php/1012839651/
0387 ◆AnfivKvE 02/03/15 13:35ID:???
>>386
スレ違い申し訳ありませんでした。

ありがとうございました。
こんな感じに実装させて頂きました。

#トリップ機能
if ($in{'name'} =~/◆/){
$in{'name'} =~ s/◆/◇/g;
}
if ($in{'name'} =~/#/){
$in{'name'}=~ s/\x23(.+)$/ "◆".substr(crypt($1, substr($1, 1)), -8)/e;
}
0388nobodyさん02/03/15 14:11ID:???
>>387
騙されてるって・・・
↓こうしなさい。

$in{'name'} =~ s/◆/◇/g;
$in{'name'} =~ s/\x23(.+)$/ "◆".trip($1)/e;

sub trip {
my $key = shift;

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

return substr(crypt($key, $salt), -8);
}
0389nobodyさん02/03/15 15:11ID:???
ローカルでCGIをブラウザで見れないんですけど何か方法ないですか?
0390nobodyさん02/03/15 15:12ID:???
>>368
何故わざわざ"\x23"?"#"じゃダメな理由でもあるの?

>389
HTTPD入れれ
0391nobodyさん02/03/15 15:19ID:???
>>389

Apacheインストールしなきゃ動かんバカ
0392 ◆AnfivKvE 02/03/15 15:28ID:???
>>388
エ━━(゚Д゚lll;)━━ッ!?

騙されてたんですか?
0393 ◆AnfivKvE 02/03/15 15:30ID:???
>>392補足

petit.cgiじゃないんですけど、
一応動いてるみたいなんですけど…

http://www.pweb.ne.jp/~fpm2/wtalk/
(ほのぼの板用チャット)

あっ、でも元のキーに「~=」とかが含まれてると
動作しませんでした。
0394nobodyさん02/03/15 15:31ID:???
>>390
>何故わざわざ"\x23"?"#"じゃダメな理由でもあるの?
そのほうがかっこいいから。
それと>>387みたくtr演算子を使う時に#じゃ困る。
0395nobodyさん02/03/15 15:36ID:???
>>394
俺はエディタの表示が#以降がコメントの色になるから\x23使ってる。変かな?
0396 ◆AnfivKvE 02/03/15 15:37ID:???
>>388サンの方法、ちょっと試してみます
0397 ◆4tC6xcI. 02/03/15 15:52ID:???
◆AnfivKvE です。

>>388ので設置してみました。m(_ _)m

#aa~=aa

見たいなトリップはやっぱり認識されないですね…
試しに、「#aa~=aa」でここに書き込んでみます。
むこうでは、◆4tC6xcI.になってしまいました。

それ以外のトリップは全て大丈夫でした!(´-`♪
0398 ◆NAOKmK0E 02/03/15 15:54ID:???
ありゃ・・・同じですね・・・

#c+~=y:Arは、◆SLjREV3gになってしまいました
0399nobodyさん02/03/15 15:58ID:???
>>397
「#aa~=aa」でも問題なく◆4tC6xcI.になったが・・・
基本的にどんな文字でもOKなはず。日本語でも、制御文字でも。
#$in{'name'} =~ s/\x23(.+)$/ "◆".trip($1)/e;
コメントアウトして、入力がおかしくないか確認したら?
040039902/03/15 16:00ID:???
ごめん間違ってた。
0401テスト ◆NAOKmK0E 02/03/15 16:04ID:???
>>399
レスありがとうございます。◆AnfivKvE です。
試してみましたので報告致します。 m(_ _)m

コメントアウトしてテスト#c+~=y:Arという名前で入ってみました。
結果→テスト#c+~=y:Ar

元に戻してテスト#c+~=y:Arで入室
結果→テスト◆SLjREV3g

2ちゃんねるで、テスト#c+~=y:Arで発言
結果↑

トリップと名前は全てコピペしました。
040238802/03/15 16:50ID:???
>>401
これでどうかな。
sub trip {
my $key = shift;

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

return substr(crypt($key, $salt), -8);
}
0403テスト ◆NAOKmK0E 02/03/15 17:05ID:???
>>402
トライしました!完璧でした!

テスト#c+~=y:Ar → テスト◆NAOKmK0E

ありがとうございます! ヽ(`Д´)ノ ウワァァン

コレから先に見る方が居るかもしれないので、
成功したヤツを書いておきます!
本当にありがとうございました!

ここからソース
書き込み処理直前、cookie発行後。

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


ここから、トリップ作成サブルーチン

#----------------#
# トリップ生成 #
#----------------#
sub trip {
my $key = shift;
my $salt = substr("${key}H.", 1, 2);
$salt =~ tr/\x00-\x21\x23-\x2d\x7b-\xff/./;
$salt =~ tr/\x3a-\x40\x5b-\x60/A-Ga-f/;
return substr(crypt($key, $salt), -8);
}
040438802/03/15 18:29ID:???
>>403
全然完璧じゃなかった・・・
また出直してきます。
0405 ◆AnfivKvE 02/03/15 18:31ID:???
>>404=383
いやいやいやいや
お陰様で設置できました
本当にありがとうございました
m(_ _)m
040638802/03/15 18:42ID:???
>>405
そうじゃなくて、まだ間違っているので注意。
「#"」ってダメじゃない?
0407 ◆AnfivKvE 02/03/15 18:43ID:???
>>406
マジですか・・・?ちょっと試してみます。
040838802/03/15 18:45ID:???
&quot;になってるだけだった・・・
本格的に鬱だ・・・
0409 ◆AnfivKvE 02/03/15 18:46ID:???
2ちゃんねる #"aaaa→◆TVWmrXp6
Perlスクリプト #"aaaa→◆RlscB8VU

確かにダメでした…
0410 ◆AnfivKvE 02/03/15 18:46ID:???
>>408
?? ̄∇ ̄??
041138802/03/15 18:46ID:???
HTMLエスケープを先に処理しないとダメみたいね。思わぬ落とし穴。
041238802/03/15 19:00ID:???
たぶんこれで大丈夫だと思う・・・
sub trip {
my $key = shift;

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

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

return substr(crypt($key, $salt), -8);
}
0413 ◆AnfivKvE 02/03/15 19:04ID:???
>>412
早速やってみます!
041438602/03/15 19:12ID:???
お、いつのまにかすごい数のレスが。
>>388ごめん、騙したつもりはなかったんだけど。
確かにsubstrの使い方とかよく覚えてなかったし、テストもしてないけどさ。
ところで、s/&/&amp;/g; もしたほうがいいんでは?
0415 ◆AnfivKvE 02/03/15 19:15ID:???
結果報告です!

#"aaaa
2ちゃんねる→◆TVWmrXp6
Perlスクリプト→◆TVWmrXp6

#<aaaa
2ちゃんねる→◆DdwRIQ4Q
Perlスクリプト→◆DdwRIQ4Q

#>aaaa
2ちゃんねる→◆nxB5V1NE
Perlスクリプト→◆nxB5V1NE

今度こそ完璧です!できました!
他の普通のトリップも全部変換できました!
ありがとうございました!
他に見る方が居るかもしれないので、>>413に
ソースを書いておきます!

お世話になりました。m(_ _)m
041638802/03/15 19:16ID:???
>>414
2ちゃんの名前欄は&はエスケープしないかな?よくわからんけど。
0417 ◆AnfivKvE 02/03/15 19:16ID:???
>>414さんのもふまえまして…

書き込み処理直前、クッキー発行後
<ここから>
#トリップ機能
$in{'name'} =~ s/◆/◇/g;
$in{'name'} =~ s/\x23(.+)$/ "◆".trip($1)/e;
</ここまで>

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

my $key = shift;

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

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

return substr(crypt($key, $salt), -8);
}
041838802/03/15 19:18ID:???
>>417
ふっふっふ、&quot;とかをそのまま入力してはダメなのだ。
&についてはそのままで大丈夫そうな気がする。
0419 ◆AnfivKvE 02/03/15 19:22ID:???
&は変換しない方がいいみたいでした

#&aaaa

$key =~ s/&/&amp;/g;
2ちゃんねる → ◆QQXkbDVs
Perlスクリプト → ◆JwJPq806

#$key =~ s/&/&amp;/g;
2ちゃんねる → ◆QQXkbDVs
Perlスクリプト → ◆QQXkbDVs


>>417
つーかここにちゃんと表示されてないですねw
0420 ◆AnfivKvE 02/03/15 19:24ID:???
>>418
いやぁ… (´ー`ゞ

というわけで書き直します。
トリップ生成ルーチン

書き込み処理直前、クッキー発行後
<ここから>
#トリップ機能
$in{'name'} =~ s/◆/◇/g;
$in{'name'} =~ s/\x23(.+)$/ "◆".trip($1)/e;
</ここまで>


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

my $key = shift;

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

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

return substr(crypt($key, $salt), -8);
}
0421 ◆AnfivKvE 02/03/15 19:39ID:???
ありがとうございました
お世話になりましたm(_ _)m
0422 ◆0z.4Is5E 02/03/16 08:16ID:???
すいません。便乗質問になっちゃうんですけど、
YY-BBSにこのトリップ機能をつけるにはどこにこのコードを
付け足せばいいんでしょうか?

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

  |
  略
  |

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

}

### --- トリップ生成ルーチン --- ###
sub trip {

my $key = shift;

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

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

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

こんな感じにしてみたんですが書き込みのときに名前を「名無しさん#aaaa」
でやったんですがそのまま「名無しさん#aaaa」と表示されてしまいます・・
どこを直せばいいんでしょうか?
0423 ◆AnfivKvE 02/03/16 08:29ID:???
>>422
機能、スレ違いを指摘されたので続きは

スクリプト改造工房
http://pc.2ch.net/test/read.cgi/php/1012839651/

でやりましょうか♪
俺に出来ることなら手伝いますんで。
0424 ◆0z.4Is5E 02/03/16 09:12ID:???
>>423

ありがとございます。では移動します。
0425nobodyさん02/03/16 09:30ID:???
>>422
ファイルにデータを書き込む直前。
0426nobodyさん02/03/16 19:29ID:SKQhp2KR
プロの方に質問です、
CGIのスクリプトを書くにあたって、
処理ごとにファイルを分けるのと、ひとつのファイルにすべての
処理をさせてしまうのとどちらがどう違うのでしょうか。
それぞれ利点欠点などはあるのですか?
0427nobodyさん02/03/16 19:34ID:???
>>426
コンポーネント化しやすい。
0428QQQQQQQ02/03/16 22:36ID:???
perlCGIにアクセスがあったときに、該当HTMLファイルに飛ばしたいのですが、
このHTMLファイルはログの増加にあたり移動したりするので、
ブラウザのアドレスバーにこのURLを表示したくありません。
かといって全行perlに読まして書くのは処理が重くていやなのです。

location: を使ってみましたがURLがかわってしまいました。
どうかご教授ください。
0429親切な人02/03/16 22:40ID:???

ヤフーオークションで、凄い人気商品、発見!!!

「高性能ビデオスタビライザー」↓
http://user.auctions.yahoo.co.jp/jp/user/NEO_UURONNTYA

ヤフーオークション内では、現在、このオークション
の話題で、持ちきりです。
0430nobodyさん02/03/16 22:41ID:???
>>428
いまいち意味不明だが、シンボリックリンクじゃだめなのか。
■ このスレッドは過去ログ倉庫に格納されています