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

△▲ WebProg 初心者の質問 Part12 ▼▽

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2005/08/28(日) 16:53:24ID:381SFpZ2
2ちゃんねるは初めて。 WebProg 板は初めて。
質問したいけど、どうしたら良いか分からない。

そんなときは、ここに書き込んでください。
板の住人や、その他が、けなしながら、厳しく教えてくれるかも。

質問する前に、まずはここを読んでね。
【注意事項】
・質問する前にGoogleで検索してみましょう
http://www.google.co.jp/
・環境(ソフトウェアのバージョンなど)は、必ず書いてください。できるだけ詳しく。
 後から情報を書き足す、いわゆる情報の小出しは極力避けてください。
・何がしたくて、何ができて何ができないのかを書きましょう
・マルチポスト(複数のスレッドで質問する行為)は絶対に禁止です。
・過去ログは必ず読みましょう。あなたと同じ質問をしてる人がいるかも知れません。

2ch 総合ガイド
http://www.2ch.net/guide/

お願い。
適切な、板、スレ、を発見した場合、誘導してあげましょう。
スレの性質上 age 進行でお願いします。

関連情報は
>>2-3
06736722006/01/09(月) 06:36:26ID:???
うはwwwwwwごめwwww
わかったわかった。めちゃくちゃやんなぁ〜!
マジ悪りぃ!
0674nobodyさん2006/01/09(月) 07:42:50ID:???
>>670
requireはuseみたいに強制BEGINじゃ無いから、条件分岐の中で動的に読み込み出来るよん
この場合は漏れもそう言う書き方は反対だけど
0675nobodyさん2006/01/09(月) 09:43:02ID:???
>>659
どんな言語でもいい。得意なやつでやれ。
0676nobodyさん2006/01/09(月) 09:47:14ID:???
hoge.html が公開領域にあるなら、その分岐させる条件が
成り立とうが成り立つまいが勝手に見られる可能性があるわけだが、
それは触れないのか?
0677nobodyさん2006/01/09(月) 11:22:03ID:???
open IN, $file and print <IN>;
試してはいない
0678nobodyさん2006/01/10(火) 00:44:39ID:???
ユーザーに書き込ませる枠に
半角数字のみだけ許可して、そうじゃない場合には弾くCGIを作りたいけど
どう書けばいいですか
0679nobodyさん2006/01/10(火) 00:46:49ID:kCRwEBoh
携帯でアカウントを持っててなおかつお金を払った人にだけ
アップロードできるようにしたいんですが、
pic.toみたいにメールで添付させようとすると
認証や決済ができませんよね。

どうしたらいいんでしょうか。
誰かわかる人教えてください。
0680nobodyさん2006/01/10(火) 00:47:35ID:NnDCxprG
$input !~ /[0-9]/;
これで 0-9 以外があった時に一致するので、あとは if 文で弾けばよいかと
0681nobodyさん2006/01/10(火) 00:49:24ID:???
>>679
ポイント制にして後決済、請求。
0682nobodyさん2006/01/10(火) 01:27:47ID:???
>>680
ダウト。それじゃ0-9が含まれていない場合にTRUE、であって
0-9が一個でも含まれていればFALSE
$input =~ /[^0-9]/
0683nobodyさん2006/01/10(火) 01:33:24ID:NnDCxprG
>682
0-9 しか許可しない入力で 0-9 を弾いてどうすんの?
0684nobodyさん2006/01/10(火) 01:35:11ID:???
>>683
0-9以外にマッチしたらエラー扱い、何か間違ってる?
0685nobodyさん2006/01/10(火) 01:46:34ID:NnDCxprG
自分のスクリプトを見直したら俺が間違えてましたorz

$input !~ /^[0-9]+$/

おれはこうやって弾いてたわ

/[0-9]/ って書いたら >682 さんの指摘通りの動作でした。
0686nobodyさん2006/01/10(火) 01:47:34ID:NnDCxprG
つか素直に =~ を使えばいいのに何やってんだろ俺・・・
0687nobodyさん2006/01/10(火) 02:38:33ID:???
ユーザ登録処理を作っています。
パスワードの暗号化にどのアルゴリズムを使うべきか悩んでいます。

DESはもうダメとして、md5でまだ大丈夫でしょうか?
他のものを使うべきでしょうか?
0688nobodyさん2006/01/10(火) 02:59:15ID:???
>>687
個人での用途ならそこまで心配しなくていいと思う。

0689nobodyさん2006/01/10(火) 03:10:32ID:???
>>688
個人の用途ではなくYahoo並のアプリになる予定なので先のことを考えています。
セキュリティのニュースでmd5からの移行を考えるべきというのを見てちょっと不安です。
0690nobodyさん2006/01/10(火) 03:13:23ID:???
>>689
yahoo並ってのがよくわからんが
セキュリティー関連のスレ行けば?
0691nobodyさん2006/01/10(火) 03:33:19ID:???
$input !~ /^[0-9]+$/ の説明よろ
0692nobodyさん2006/01/10(火) 04:09:15ID:???
>>691
$inputの文字列が全て半角数字だったらfalse。他はtrue。
0693nobodyさん2006/01/10(火) 04:57:16ID:???
あるファイルの中にある、ある文字(AかつB)を含む行の行末に
Cっつう文字を書き込みたい時はどうすんの?
教えてエロい人!
0694nobodyさん2006/01/10(火) 05:04:20ID:???
>>693
1.ファイルを開く
2.ファイルから一行ずつ読み込む。改行コードを取る。
3.その行の中にAとB両方の文字列を含まれてるかどうかチェック
4.3で真になった行の行末にCを追加。偽の場合は5へ。
5.行ごとバッファに放り込む
6.ファイルが終わるまで2へ。終わったら7へ。
7.ファイルを閉じる。

あとはバッファにあるデータをファイルに書き込むだけ。
0695nobodyさん2006/01/10(火) 05:10:08ID:???
じゃあ質問
>662と>677は同じに見えるけど
どっちが良いスクリプト?
0696nobodyさん2006/01/10(火) 05:14:46ID:???
>>695
「じゃあ」の意味がわからんが、>>677の方が打ち込むコードは少ない。
つか良いか悪いかを判断するなら基準を設定しろ。
0697nobodyさん2006/01/10(火) 05:21:20ID:???
>>694
ごめん。その1〜7の中で4と5の所を重点的に聞きたかったのだ!
そこは3の時にif関数の中で、push関数でCを追加してやれば良い?
0698nobodyさん2006/01/10(火) 05:25:02ID:???
>>696
>「じゃあ」の意味がわからんが
横ヤリするがごめんよの意。
基準は、マシンへの負担だな。他にもセキュリティとかあるだろうが、あの位の短いスクリプトじゃあ関係ないべ?
0699nobodyさん2006/01/10(火) 05:36:52ID:???
>>697
何の言語使ってるかも書かずに答えられるかヴォケ

>>698
一般的に短いコードのほうが負荷は少ない。
セキュリティ的にはどっちも×。
0700nobodyさん2006/01/10(火) 06:07:00ID:???
Perlだた。すまそ
教えて栗と栗鼠
0701nobodyさん2006/01/10(火) 06:22:33ID:???
>>700
>>694見て分からないなら回線切って首つったほうが良いと思う
0702nobodyさん2006/01/10(火) 06:32:01ID:???
>>700
Perlで正規表現使わず何をしろというのだ
0703nobodyさん2006/01/10(火) 07:48:33ID:???
漏れも
5.行ごとバッファに放り込む のとこが分からないのだ。
バッファに放り込むとはどういうことなのか、教えて下さい。
0704nobodyさん2006/01/10(火) 07:56:35ID:???
>>703
俺は$memみたく一時的に記憶しておく場所なんかの事を言うと思ってたのだが
違うか?
もし間違ってるなら、よく理解してるヤツ指摘してくれ!

まあ参考に
ttp://search.yahoo.co.jp/search?ei=UTF-8&fr=df-luna2&meta=vc%3D&p=%E3%83%90%E3%83%83%E3%83%95%E3%82%A1
0705nobodyさん2006/01/10(火) 12:38:09ID:???
>>689
ttp://japan.linux.com/security/05/11/08/0213251.shtml?topic=1
セキュリティの偉い人によれば、迷わずSHA256を選べとの事だ
0706nobodyさん2006/01/10(火) 12:57:02ID:???
>>694
あぁあもうだめぽ。そこの�Cだけがどうしても分からん。
誰か添削して下さい Orz
07077062006/01/10(火) 13:12:15ID:???
書き忘れてた--;

open(F,"$file");
while(<F>){
chomp;
if($_=~/$point/){
push(@data,$_);
push(@data,$add);
}
foreach(@data){
($a,$b,$c,$d)=split(',',$_,4);
}
close(F);

open(FH,"$file");
print FH "$a,$b,$c,$d\n";
close(FH);
exit;
0708nobodyさん2006/01/10(火) 14:02:22ID:8dX14iMA
使用言語はaspで、携帯電話で見れるページを作成しています
PCのIE経由だと見れるページが、携帯電話でそのページを見ると、
システムDSNで接続しているseql-serverのデータベースに接続できてないようでエラーが表示されます。

携帯電話ではデータベースの接続は不可能なんでしょうか?
0709nobodyさん2006/01/10(火) 14:10:39ID:???
いつの間にカンマ区切りという仕様が追加されたのだろうか
0710nobodyさん2006/01/10(火) 14:14:32ID:???
>>708
「携帯なのでデータベースに接続できません」とかいうエラーメッセージが出ているのなら そうでしょうね。
0711nobodyさん2006/01/10(火) 16:10:53ID:qxhZNG48
HTMLのなかにWSHを入れたい(?)のですがどう書けばいいのでしょう?
VBScriptの場合は<script language= "VBScript"> 〜 </script>と書くと
見たのですが、このような書き方があるのでしょうか??
07127062006/01/10(火) 16:57:58ID:???
push(@data,$_);
push(@data,$add);
のところだけ、ここだけでいいんだ。
ここだけ教えてくれないか。。

正直、昼にお願いしたとき
目の前のPCに向かって土下座しました
こんな俺を笑ってくれ Orz
0713nobodyさん2006/01/10(火) 17:07:44ID:qxhZNG48
711です。
WSHではなくVBScriptで書き直そうと思うのですが・・・。

Dim WSHShell
Set WSHShell = WScript.CreateObject("WScript.Shell")
WSHShell.Run "Test.exe"

これをVBScriptにするにはどーすればいいのでしょうか?
あと、VBScriptのお勧めのサイトとかあったら教えてください。
0714nobodyさん2006/01/10(火) 17:15:40ID:???
>>712
みんな何かのプレイなのかな?
普通、文字の後ろに新たに文字を加えるなら $_.$add じゃないか?
つかさ 707 のコードじゃそこだけ直しても目的の結果は
得られないよ
0715nobodyさん2006/01/10(火) 17:19:22ID:???
open(FP,$file)||die();
while(my $tmp=<FP>){
        chomp($tmp);
        if($tmp=~/$A/ && $tmp=~/$B/){
                $tmp.=$C;
        }

        push(@data,$tmp);
}
close(FP);

foreach(@data){
        ($a,$b,$c,$d)=split(',',$_,4);
}

open(WFP,"$file")||die();
print WFP "$a,$b,$c,$d\n";
close(WFP);
0716nobodyさん2006/01/10(火) 18:25:47ID:2a84Tea4
mでパターンマッチを繰り返し行いたい場合、while文とg修飾子どっちが
速いですか
0717nobodyさん2006/01/10(火) 18:44:08ID:???
>>716
ベンチしてみれ
0718nobodyさん2006/01/10(火) 19:32:48ID:???
どうでもいいけど、$aと$bは例えサンプルでも使わない方がええど。

open(WFP,"$file")||die();
foreach(@data){
($a,$b,$c,$d)=split(',',$_,4);
    print WFP "$a,$b,$c,$d\n";
}
close(WFP);

でないの?
0719nobodyさん2006/01/10(火) 21:11:30ID:9ZRfyPpN
ハッキングできる方おりますか!?
0720nobodyさん2006/01/10(火) 21:21:23ID:???
>>719
何のハックだよ
0721nobodyさん2006/01/10(火) 21:27:25ID:C+ZrgO2M
>>720
トム・ソーヤの友達のハックです。
0722nobodyさん2006/01/10(火) 21:32:22ID:???
携帯用HPの暗証番号を調べて頂きたいのです!
よろしければメールくださいッッ!!m(__)m
0723nobodyさん2006/01/10(火) 21:34:04ID:???
それ普通に犯罪
0724nobodyさん2006/01/10(火) 21:38:18ID:9ZRfyPpN
自分のHP(共同制作)でもですか…?
0725nobodyさん2006/01/10(火) 21:42:29ID:NnDCxprG
自分のサイトなのに暗証番号を調べるとは是如何に?
0726nobodyさん2006/01/10(火) 21:48:27ID:9ZRfyPpN
相棒と喧嘩しました…↓↓で、暗証番号変えられました↓↓
0727nobodyさん2006/01/10(火) 21:51:00ID:???
自分のじゃねーじゃん
つかハックする前にやることあるだろうが
0728nobodyさん2006/01/10(火) 21:51:30ID:NnDCxprG
こんなところで聞いてないで相棒とやらに謝れよ
よって消えろチンカス
0729nobodyさん2006/01/10(火) 21:53:38ID:9ZRfyPpN
謝るコトですか…↓
共同制作です。。
『二人のサイトだ!』で作ったんです!
泣きたいですよ・゚(PД`q)゚・
0730nobodyさん2006/01/10(火) 21:56:58ID:NnDCxprG
んなもん知らんがや
パスワード解析してログインしたらあなたも立派な犯罪者だ。がんばってね

てかもう来るな
ドッカ(・∀・)イケ!!
0731nobodyさん2006/01/10(火) 21:57:31ID:???
>>729
結論から言うとどーにもならん。
謝れとは言わんが少しは歩み寄れ。
お互い意地張り続けてたらいつまでもそのままだ。
0732nobodyさん2006/01/10(火) 22:27:24ID:???
>>715,>>718
あぁ...俺にとって神降臨......
助かりました。
とりあえず画面に向かってお礼しとこう。
ほんと、マジでありがとう。

>>718
$aや$bは使わないほうが良いって、分からなくなるから?
それとも、システム的なエラーが確認されたりしてるとか?
0733nobodyさん2006/01/10(火) 22:35:43ID:NnDCxprG
それもあるし、sort の時に使うってのもあるからかな?
0734nobodyさん2006/01/10(火) 23:46:10ID:wp5kGIC3
オートプログラムで大量に広告サイトのリンク張り付ける、外人らしき業者がいます。
書き込んだ文章に「http」などの文字があるとエラーにする以下のプログラム入れたんですが

if ($FORM{'value'} =~ m/http|href/i) { &error('ERROR','書き込めない文字があります'); }

なぜか業者はこれを回避して書き込んできます。
(自分がhttpと書き込むとエラーになります)
どういうことなんでしょうか?
0735nobodyさん2006/01/10(火) 23:59:07ID:???
>>734
いや、その部分だけ示されてもなー
どっかに穴あるんじゃねーの? KENT製のヤツとかにありがちな
0736nobodyさん2006/01/11(水) 05:55:55ID:???
書き込み処理の前に確認画面があって、そっちだけにしかチェックを加えて無いとか
0737nobodyさん2006/01/11(水) 09:56:27ID:???
>>659
シングルサインオンで検索を。
0738nobodyさん2006/01/11(水) 16:16:35ID:CQ4aDWhi
さきほどいたスレではスレ違いだったようなので、こちらで質問します

http://www.hero.ne.jp/~db/herodb.shtml
このデータベース型CGIを
http://www.breeze.jp/s02_faq_01.php#q23
ここに設置しようと思っています

$datpath = "./";
$binpath = "./";
$BinUrl = "http://www.***.com/~user/";
↑
これらの変更すべき部分に何を書けばいいのかよく分かりません
どなたかお願いします
0739nobodyさん2006/01/11(水) 16:36:49ID:???
>>738
だからさ、
http://www.hero.ne.jp/~db/herodb-othersite.shtml
に説明が書いてあるだろ。
それ嫁よ。
0740nobodyさん2006/01/11(水) 16:38:08ID:???
>>738
それに、ちゃんとそこにサポート掲示板だってあるだろ。
http://www.hero.ne.jp/~db/wforum-custom-lv1/
0741nobodyさん2006/01/11(水) 17:10:26ID:???
>>738
そもそも、こういうスレがあるだろ
CGI設置について質問 【Part2】
http://pc8.2ch.net/test/read.cgi/php/1104624784/
0742nobodyさん2006/01/11(水) 18:07:15ID:???
>>738
んじゃ俺も俺も
0743nobodyさん2006/01/11(水) 22:05:31ID:???
>>715
最初のwhileが2回ループしてないか?
0744nobodyさん2006/01/11(水) 22:07:52ID:???
>>715
は? (゚д゚ )
0745nobodyさん2006/01/11(水) 22:08:33ID:???
間違えた。>>744は>>743宛て。
0746nobodyさん2006/01/11(水) 22:22:46ID:???
>while(my $tmp=<FP>)
こういうバグを増やしてるコードは参考にしないように
0747nobodyさん2006/01/11(水) 22:45:28ID:???
>>744
>は? (゚д゚ )
何をアホ面かましてんだテメーは
文句あるなら検証してみろや
0748nobodyさん2006/01/11(水) 22:56:50ID:CQ3QVvdQ
>715
俺なりに清書してみようと思ったけど、修正途中何をしたいスクリプトなのか
まったくもって見当付かないのでやめたw
0749nobodyさん2006/01/11(水) 23:15:57ID:???
>>748
10程度手前も見れないのか?
やめたんじゃなくて出来なかったんだろ?
プwwwwwww
0750nobodyさん2006/01/11(水) 23:27:21ID:???
>>743
適当な元のソースを適当に書き換えて適当に検証もせずにアップした。
というか俺は普段PHPしか書かないから$_がちょっと怖いんだ
0751nobodyさん2006/01/11(水) 23:32:29ID:???
初心者に教えているのが実は初心者だったのはこのスレですか?
0752nobodyさん2006/01/11(水) 23:35:35ID:???
$_ を避けてるのは別に悪いことじゃないよ
普通
0753nobodyさん2006/01/11(水) 23:37:47ID:???
サーバーで受け取った添付ファイルを
プログラム上で処理したいんですが、
どうすればいいのか上手く調べられません。
何かヒントをいただけないでしょうか。

環境は PHP+sendmail です。
0754nobodyさん2006/01/12(木) 00:22:57ID:vLiWBj2u
>749=715
落ち着こうな?
まだ人生は長いじゃないか
0755nobodyさん2006/01/12(木) 01:16:35ID:QeE86KwC
2chのような掲示板サイトを作成しています。
MySQLを使用していますが
パフォーマンスのためにも、
アクティブなスレッドの数は限ろうと思っています(2chでいうDAT落ち)。
その場合、テーブル自体を分けるか、
アクティブ/非アクティブを示すカラムを追加するか、
どちらがベターでしょうか?
0756nobodyさん2006/01/12(木) 01:34:35ID:???
>>754
>>715=俺

>>753
http://php.s3.to/man/features.file-upload.html
マニュアルぐらい読もうな。
07577532006/01/12(木) 01:53:59ID:???
すいません、抜けてました
正しくは

サーバーで受け取った「メールの」添付ファイルを

です
携帯でフォームによるアップロードが使えないので
代わりの方法を探している所でした
0758nobodyさん2006/01/12(木) 03:56:58ID:???
>>757
メールサーバと会話すればよかよ。
ttp://www.google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=php+%E3%83%A1%E3%83%BC%E3%83%AB+fsockopen&num=50
0759nobodyさん2006/01/12(木) 07:30:44ID:???
>>755
html化してデータベースから削除
0760nobodyさん2006/01/12(木) 10:44:43ID:???
アップロード代わりにメールを使いたいんであればメールサーバと
会話するんじゃなくて、メールサーバが受信したときにスクリプトを
実行するようにして、直接メールデータを扱ったうえでメールで結果を
返すようにしないと使い勝手悪いよ

Google がやってるメールで検索できる仕掛けみたいなものを
考えると分かりやすい。結果の画面を Web で作りたいなら
ユーザーを識別するハッシュを埋め込んだうえで URL を送り
返す形かな。
0761nobodyさん2006/01/12(木) 13:45:32ID:IO44Jcoi
urlに、?とか&とか=とかがついてないにもかかわらず、送信内容をgetで受け取っているcgiがありますが、あれってどういうふうな仕組みですか?
0762nobodyさん2006/01/12(木) 14:08:49ID:???
>>761
PATH_INFO
0763nobodyさん2006/01/13(金) 05:52:32ID:???
perlでchop関数が使えないんですけど
この関数ってperlのバージョンに関係あるんですか?
ちなみに
Apache/2.0.40 (Red Hat Linux) mod_perl/1.99_07-dev Perl/v5.8.0ってなってます
0764nobodyさん2006/01/13(金) 06:04:46ID:???
>763
イミフ
0765nobodyさん2006/01/13(金) 06:23:51ID:???
>>763
・どうなることを期待したのか
・どうやったのか
・どうなったのか
0766nobodyさん2006/01/13(金) 06:56:01ID:???
.csvから一行ずつ読んで
chompして
ifで場合分けして
真ならchopして別のものを足す
偽なら,を足す
その後、配列にぶち込んでいく
ということを期待して
open(FP,"hoge.csv")||die();
while(my $tmp=<FP>){
chomp($tmp);
if(場合分け){
chop($tmp);
$tmp.="別のもの";
}else{
$tmp.=",";
}
push(@arr,$tmp);
}
close(FP);
としました。結果、chopが働いていないようでした。
お力添えを...orz
0767nobodyさん2006/01/13(金) 07:03:25ID:???
>>766
あってるよ。
ファイルに書き込むときにおかしくなってんじゃないのかな?
君この前質問してた人でしょ?まだやってたんだね〜。
でも、頑張って!
誰でも初心者から始まるんだからね。
0768nobodyさん2006/01/13(金) 07:36:34ID:???
>>766
chop($tmp)の前後でprintして確認してみたら
print $tmp;
chop($tmp);
print $tmp;
0769nobodyさん2006/01/13(金) 07:57:37ID:???
>>766
chop じゃなくて「場合分け」が失敗してるんじゃねーの?
0770nobodyさん2006/01/13(金) 08:40:14ID:???
>>767-769
レス感謝です!!
chopの前後でのprintは既にやってるんですよ。
自分で出来る範囲はやってから質問してるから2日くらいひとりで悩みっぱなし...orz
仲間ほしーッス

場合わけもprintで確かめてるんですが
正しいデータにちゃんと振り分けられてました。

chopに限られたバージョンがあるなんて、
見当たらないし何が何だか...orz


Perl/vが5.8.0って古いですかね?
別にそんなことないのかな
なんて思いながら気にも留めてなかったけど。
0771nobodyさん2006/01/13(金) 09:35:19ID:???
http://php.s3.to/net/#rss
ここのRSSブロガ使いたいのですが、一応書いてあることはやったけど表示されません
http://be-sp.com/y64/rss/test.php
どんな原因が考えられますか?
0772nobodyさん2006/01/13(金) 10:14:39ID:???
>>770
全体的に変に古い
見直すべき

chop が機能しないなんて聞いたことないけど、
jperl で2バイト削除されることがあるというのは見たことあるな
■ このスレッドは過去ログ倉庫に格納されています