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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2009/03/06(金) 00:11:17ID:???
2ちゃんねるは初めて。 WebProg 板は初めて。
質問したいけど、どうしたら良いか分からない。

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

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

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

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

関連情報は
>>2-3辺り

☆前スレ☆
△▲ WebProg 初心者の質問 Part18 ▼▽
http://pc11.2ch.net/test/read.cgi/php/1219842559/
0497nobodyさん2009/04/12(日) 03:37:32ID:???
セキュリティの本に書いてあった、
なんとかなんとか、ってツール、
おまえら使ってる?
0498nobodyさん2009/04/12(日) 03:39:21ID:???
tcpdumpとかetherealもといwiresharkなどは普通に
プロトコルが期待したとおりに流れてるか見るために使うことがある。
0499nobodyさん2009/04/12(日) 04:07:09ID:???
>>498
それじゃない
MAX Patrolってやつ
0500nobodyさん2009/04/12(日) 06:43:54ID:???
wireshark入れたが何が何だか意味わからなくてオワタ\(^o^)/
0501nobodyさん2009/04/12(日) 08:26:25ID:???
<?php
if( ( $stdin=fopen('php://stdin','r') )==true ){
while( !feof($stdin) ){
$line = stripslashes( fgets($stdin,4096) );
error_log("$line",0);
}
fclose($stdin);
}
?>

受け取ったメールの編集をしたいのですが、
読み込んだメールをログに出力すると、文字化けしています。
05025012009/04/12(日) 08:27:28ID:???
すいません。誤爆しました。
0503nobodyさん2009/04/12(日) 10:03:05ID:???
>>495
>>496
宣伝乙
0504nobodyさん2009/04/12(日) 10:08:31ID:???
>>501
はマルチ。

ムシしましょう
0505nobodyさん2009/04/12(日) 10:41:28ID:???
xpでphp5.2.8でモジュール版とCGI版を両方使いたいのですが
phpは複数インストールしないとダメでしょうか?
0506nobodyさん2009/04/12(日) 10:56:15ID:???
apacheの場合はmod_phpとmod_cgiだけで両方使えるよ
0507nobodyさん2009/04/12(日) 11:56:00ID:???
>>501
できるよ。
以上。
はい次の方。
0508nobodyさん2009/04/12(日) 17:55:09ID:hsd+7ZNY
「この記事を見た人はこんな記事も見ています」
のような機能をよく見かけますが、
会員制ならばユーザーIDなどで判断できますが、
そうでない場合、何で判断しているのでしょうか?

IPだとすると、IPがかわったときに、
データの信頼性が低くなりますが・・・
そこらへんは妥協しているのでしょうか?
それとも、同じIP+同じ日付なら同一人物とみなす、などとしているのでしょうか?

想像でもかまわないので、教えてください。
0509nobodyさん2009/04/12(日) 17:58:03ID:???
>>508
りふぁら
0510nobodyさん2009/04/12(日) 18:02:24ID:???
りふぁらちゃうわ
くっきーじゃ
0511nobodyさん2009/04/12(日) 19:02:08ID:???
>>510
ああ、ごめんねクッキーもそうだね

クッキーとリファラ両方かな
0512nobodyさん2009/04/12(日) 20:20:52ID:???
単純に関連記事や関連商品を出してるだけに過ぎなかったりするとこもあるね
0513nobodyさん2009/04/13(月) 00:34:37ID:???
アマゾンだったら
実際に買うか、買わないかで決めてるから
信頼度がすげー高い。
0514nobodyさん2009/04/13(月) 01:41:06ID:???
手続型+関数でコードを書いてみたのですが、
これをOOPで書き直してみたいのですが、
例えばどのように書けばいいでしょうか?

ものはこれです↓
http://asobi.sqweebs.com/byte/1.php
0515nobodyさん2009/04/13(月) 01:58:51ID:???
<html>
<head>
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=UTF-8">
</head>

<body>

<center>
<p>1バイトで表現できる値は256通りしかありません。<br>
これを実感するためのソフトです。</p>
□■<br>□■<br>■□<br>■□<br>□■<br>■□<br>■□<br>■□<br></center>
</body>
</html>
<script type=\"text/javascript\">
var gaJsHost = ((\"https:\" == document.location.protocol) ? \"https://ssl.\" : \"http://www.\");
document.write(unescape(\"%3Cscript src=\'\" + gaJsHost + \"google-analytics.com/ga.js\' type=\'text/javascript\'%3E%3C/script%3E\"));
</script>
<script type=\"text/javascript\">
try {
var pageTracker = _gat._getTracker(\"UA-2660580-27\");
pageTracker._trackPageview();
} catch(err) {}</script><script src="http://www.sqweebs.com/fixstats.php"></script>
0516nobodyさん2009/04/13(月) 02:02:48ID:???
だれもHTMLのソースを張れとは言っていない
0517nobodyさん2009/04/13(月) 02:31:56ID:???
PECLってせっかく使っても、
無料のレンタルサーバーにはアップロードできないよね?
0518nobodyさん2009/04/13(月) 02:53:00ID:???
PEARをレンタルサーバーにアップロードするには
どうしたらいいんにゃ?

カンタンな3つの方法では全部ダメだった。
手動でアップロードする場合、どれとどれを
あげればいいんだ?
0519nobodyさん2009/04/13(月) 03:10:37ID:???
pearを手動でサーバーにアップロードする場合、
pearのディレクトリにユーザーがアクセスできてしまうと
何か困ることある?
0520nobodyさん2009/04/13(月) 03:52:15ID:???
この荒らし定期的に現れるな
0521nobodyさん2009/04/13(月) 04:00:26ID:???
>>519
ない。クラスファイルにアクセスできてもメソッドを実行することはできない
0522nobodyさん2009/04/13(月) 05:06:25ID:???
>>521
サンキューです
0523nobodyさん2009/04/13(月) 05:07:35ID:???
いまセキュリティの本読んでるんだけど、
セッションハイジャック怖すぎ

リンクを踏ませるだけでセッションを固定
できるなんて、
session.use_only_cookies=0
は絶対にやってはいけない設定だと思った。

携帯はhiddeenで対応するしかないな。
そんでhidden + SSL
0524nobodyさん2009/04/13(月) 05:46:45ID:jXreI0j/
アクセスのたびにセッションID変えれば良いやん。
固定されてもすぐ変わっちゃうからアタッカーは実質何も出来ない。
0525nobodyさん2009/04/13(月) 06:18:57ID:???
session_regenerate?
0526nobodyさん2009/04/13(月) 08:08:20ID:???
http://tdiary.ishinao.net/20060825.html
rand(0, 100) > 99


これって1%かな?
自分には、0から100までなので、生成されるのは101通り、
99よりでかくなるのは100のみなので1通りなので
1/101に見えるのだが?
0527nobodyさん2009/04/13(月) 10:42:36ID:???
なんでこんなとこで聞く
0528nobodyさん2009/04/13(月) 19:57:21ID:ECjQMXi6
すいません。ある業者のバナーをSSIで貼ってるんだけど、
表示されたりされなかったり。

Bad arg length for Socket::pack_sockaddr_in, length is 0, should be 4 at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/Socket.pm line 373.

てログには出ます。
原因分かる方いますか?
0529nobodyさん2009/04/13(月) 20:02:36ID:???
lengthを4にすればいいんじゃ?
0530nobodyさん2009/04/13(月) 21:41:14ID:???
IPv4のアドレスが32ビット(4バイト)あるはずなのに
0になっている。
ネットワークのどこかを疑え。
0531nobodyさん2009/04/13(月) 22:20:07ID:???
>>528
Socket.pmにはバグがあるって海外のbugフォーラムで見た記憶があるな
たくさんブックマークしてるから見つかったら載せてあげるね
0532nobodyさん2009/04/14(火) 09:18:00ID:???
PHPによるWebアプリケーションスーパーサンプル活用編 第一版
に載っている分。

PEAR::text_Diff
FPDF
PEAR::Spreadsheet_Excel_Writer
PEAR::DBArchive_Zip
JpGraph
ADOdb
Ajax
Smarty
PEAR::HTML_QuickForm
XML-RPC
PEAR::HTTP_Client
PagpieRSS
PEAR::Services_Amazon
PEAR::Services_Technorati
PEAR::Services_Delicious
PEAR::XMLUnserializer
0533nobodyさん2009/04/14(火) 09:20:37ID:???
続き

PEAR::Auth_HTTP
PEAR::Text_CAPTCHA
PEAR::Cache_Lite
PEAR::Pager
PEAR::Calendar
PEAR::Net_UserAgent_Mobile
PEAR::Text_Highlighter

以上
0534nobodyさん2009/04/14(火) 10:33:30ID:???
大規模なプロジェクトになると
関数ベースだと、関数をたくさん使うと
どんどん名前が足りなくなっていくが、
クラスベースでやるとそういう問題は起きない、
と教科書に書いてあるが、これは本当なのか?

クラス名だって足りなくなるのではないか?
0535nobodyさん2009/04/14(火) 10:41:18ID:???
なんでお前はいつもそういう枝葉のことばかり調べて
肝心のプログラミング技術は身に付けようとしないの?
0536nobodyさん2009/04/14(火) 10:47:25ID:???
>>534
おまえは配列関数もまともに使えないだろ
0537nobodyさん2009/04/14(火) 13:29:55ID:???
>>534
クラスは階層構造になるだろ。ちょっとは自分で考えろ。
0538nobodyさん2009/04/14(火) 15:01:36ID:???
>>534
名前が衝突しないように、名前空間というものがあるから大丈夫。
あと関数ベースでも、クロージャなどを使って、関数の寿命を決めれば問題ないよ。

PHPは別だけど、PHPは複雑なものを作らないから大丈夫。
0539nobodyさん2009/04/14(火) 15:36:09ID:???
名前空間が理由でOKなら、関数だってクラス分かれてればOKだろw
0540nobodyさん2009/04/14(火) 15:50:11ID:???
PHPってネームスペース実装されてないんでしょ?
0541nobodyさん2009/04/14(火) 15:53:08ID:???
つphp6
0542nobodyさん2009/04/14(火) 15:56:27ID:???
http://itpro.nikkeibp.co.jp/free/NOS/NEWS/20020411/1/zeev.jpg

こんな犯罪者みたいなヤツが作ってる言語とかwww
0543nobodyさん2009/04/14(火) 15:58:00ID:???
>>542
そういう名誉棄損なことやってると逮捕されてる知らんよ
0544nobodyさん2009/04/14(火) 16:10:54ID:RH31SnaD
$str = '{if error}hoge{endif}{if explanation}moge{endif}piyo';
この最初の{if error}〜{endif}にマッチする正規表現を書きたいのですが
'/\{if error\}.*\{endif\}/'
これだと2番目の{endif}までが対象になってしまいます
最初の{endif}までマッチさせるにはどう書けばいいですか?
0545nobodyさん2009/04/14(火) 16:13:08ID:???
>>543
日本語でおk
だいたい外国からじゃ逮捕のしようがない

>>542
不眠不休でがんばってるんだ察してやれ
0546nobodyさん2009/04/14(火) 16:52:16ID:???
http://www.rcdtokyo.com/pc2m/note/archives/i000046.php

「PEARパッケージは、public_htmlなどの
HTTP公開ディレクトリ(HTTPアクセスが
可能なディレクトリ)以外に配置することが推奨されます。」

って書いてあるけど、じゃあ
public_htmlの外にファイルを置けない
サーバーはどうしたらいいの?
0547nobodyさん2009/04/14(火) 16:59:56ID:???
>>546
推奨って意味分かるかな?^^;
0548nobodyさん2009/04/14(火) 17:00:16ID:???
例えばどこ鯖
0549nobodyさん2009/04/14(火) 17:01:39ID:???
ヒント:推奨
0550nobodyさん2009/04/14(火) 17:03:39ID:???
質問時には以下のテンプレを導入したほうがいい時代なのか・・・!?

【あなたはゆとりですか?】はいorいいえ
0551nobodyさん2009/04/14(火) 23:52:14ID:???
真面目な話,自分で自覚してるゆとりなら丁寧に支援しなくもない
次から追加よろ
0552nobodyさん2009/04/16(木) 09:34:47ID:???
pearってレンタルサーバーにどうやってインストールするの?
特に、public_htmlの外側に置く方法。

それと、希望のライブラリを依存関係も
含めて、自動でインストールする方法。
0553nobodyさん2009/04/16(木) 09:45:17ID:???
ファイルを置く
0554nobodyさん2009/04/16(木) 10:16:27ID:???
レン鯖使ったことないけどphp使える鯖ならpearぐらい用意されてたりしないの か?
0555nobodyさん2009/04/16(木) 10:19:18ID:???
>>552
自分の環境でpearを依存関係含めて必要なものだけインストール
↓
pearをレン鯖にうp
0556nobodyさん2009/04/16(木) 10:20:01ID:???
>>546=>>552
0557nobodyさん2009/04/16(木) 11:01:02ID:???
そうか自演だったのか
0558nobodyさん2009/04/16(木) 15:29:05ID:???
依存関係も含めて自動で解決してくれるやり方がいいです
0559nobodyさん2009/04/16(木) 15:29:47ID:???
MS-DOSのpearコマンドでのインストールで、
自分の希望の場所にインストールするのって
どうやるの?
0560nobodyさん2009/04/16(木) 16:13:22ID:???
回答しただけをインストールっていうのもなんか混乱を招くよな
0561nobodyさん2009/04/16(木) 16:51:05ID:???
pear list-allができないんだが、これって自分だけかな?

「Connection to `pear.php.net:80' failed: 接続済みの呼び出し先が一定の時間を過ぎても正しく応答しなかった
ため、接続できませんでした。または接続済みのホストが応答しなかったため、確立された接続は失敗しました。」

ってなるんだが?
0562nobodyさん2009/04/16(木) 16:58:30ID:???
落ちてるかな?
0563nobodyさん2009/04/16(木) 17:07:44ID:???
ズコー

ずーっと調べてたんですけど??
0564nobodyさん2009/04/16(木) 19:10:52ID:???
<?php
$a='foo';
$a[0]='b';
print $a;
?>

-------------------
出力結果
boo

これはなんでだ?
0565nobodyさん2009/04/16(木) 19:13:06ID:???
つマニュアル
0566nobodyさん2009/04/16(木) 19:51:59ID:???
>>564
この質問何度見てきたことか・・・
仕様です
0567nobodyさん2009/04/17(金) 05:53:45ID:???
PEARのインストール情報ってどこかに記録されているのか?
DBを削除したのだが、installしようとしても
「すでにインストールされています」
と出るのだが?
uninstallコマンドを使ったら、ようやく
本当にアンインストールできたが、、、
0568nobodyさん2009/04/17(金) 05:56:18ID:???
それを見つけられれば初心者脱出
0569nobodyさん2009/04/17(金) 06:09:28ID:???
くだらねえ出し惜しみしてんじゃねーぞ
5分以内に答えなかったらアメリカ人に聞くからな
0570nobodyさん2009/04/17(金) 20:24:00ID:???
銀行コードと銀行名の対応とか
支店コードと支店名の対応とか
入力した口座番号が存在するかとか
そういうのを調べる方法ってある?
0571nobodyさん2009/04/17(金) 20:27:14ID:???
口座番号の存在となると警察権限使うしかなさそうだが
0572nobodyさん2009/04/17(金) 20:29:42ID:???
WebAPIとかで無いのかな?と思ったんだが

例えばアフィリエイトシステムで売り上げを出したユーザーに振込みを行う場合、どう実装するのが一般的?
やりたくないけど発注元の意向で自前のDBに口座情報を登録して、それで振込みを行う予定なんだけど、
入力された口座情報が間違ってたら面倒だし。
0573nobodyさん2009/04/17(金) 20:43:47ID:???
>>572
上二つなら非公式なのがあるかもしれんが、一番下はないわw

ウチが仕事でやっているサイトは、銀行ページにいったんジャンプさせて本人確認を行い、
その銀行ページから戻ってきたデータをDBに突っ込んでいる。
3Dセキュアみたいなかんじね。

振り込めなかったら「振込失敗したぞゴラァ!」メールを送るのが定番だろうね。
そもそも登録時点で口座があっても、振込み時点で口座がある保障はない。
0574nobodyさん2009/04/17(金) 20:57:48ID:???
>>573
ジャンプさせて、ってスクレイプサーバーとか?
クレジットならASP的なものを見た事あるけど銀行でもあるの?
0575nobodyさん2009/04/17(金) 21:56:25ID:???
>>574
互いに持っている共通鍵を使って暗号化した顧客データをPOSTしあう。
銀行側に専用ページを作ってもらう必要があるぜ?
0576nobodyさん2009/04/17(金) 22:05:25ID:???
口座情報確認は無理でも
銀行・支店コードくらいは公式にWebAPIかDBデータを公開してるとこがあってもいいだろとおもったけど
非公式しかないな・・・
0577nobodyさん2009/04/18(土) 08:55:30ID:???
pearをインストールするディレクトリaaaを作って、
そこにインストールをしたいのですが、
MS-DOSプロンプトでpear.batを使うと、
xamppのほうのディレクトリに入ってしまいます。

どうしたらaaaに入ってくれるのでしょうか?
0578nobodyさん2009/04/18(土) 08:58:03ID:???
(1)C:\aaaに移動する
(2)そこのpear.batを実行する
(3)pear install DB と入力
(4)なぜかC:\xampp\php\pearにDBがインストールされてしまう

こういう状況です。なぜxamppに入ってしまうのか??
0579nobodyさん2009/04/18(土) 09:32:35ID:???
だんだんわかってきたわ。

レジストリ追加して、Windowsを再起動すると
そっちが有効になるのね。
0580nobodyさん2009/04/18(土) 14:11:58ID:7woKrGti
Apache/2.0.51 (Turbolinux) での日本語ファイル名の質問です。

空のディレクトリを作成し、「猫.JPG」「熊.JPG」「馬.JPG」をアップロードしました。
(画像は同じファイルを3つコピーして名前を変えただけです)
アップロードする際は、FTPクライアントの設定でファイル名の文字コードをEUCにしています。

これでアップロードしたディレクトリのURLを開くと、
ApacheのIndex of〜という画面が出てきてアップロードしたファイルがリスト表示されるのですが、
ファイルのリンクをクリックしたところ、「熊.JPG」「馬.JPG」が404になってしまいました。
一方、なぜか「猫.JPG」は画像が表示されます。

文字コードの問題かと思ったので、同じファイルをUTF-8でアップロードしたところ、
全てのファイルが表示されるようになりました。

また、Shift-JISで試したところ、全てリンク切れになりました。

今回はEUCの日本語ファイル名を使用したいのですが、
EUCでもリンク切れを起こさないようにするには何を設定すればよいのでしょうか?

また、EUCの場合、猫はOKで馬と熊が駄目な理由は何なのでしょうか?

どなたかご教示下さい。
0581nobodyさん2009/04/18(土) 14:26:07ID:???
URLエンコードしたURLでアクセスしてる?
05825802009/04/18(土) 14:40:59ID:7woKrGti
>>581
EUCの場合、「猫.JPG」は「%c7%ad.JPG」、「馬.JPG」は「%c7%cf.JPG」でアクセスしています。
しかし、猫は表示されるのに馬は404です。熊も同様にやってますが、やはり404です。

先ほど別のサーバー(Apache/2.2.8 (Ubuntu))で試してみたのですが、
そちらではEUCでも猫・馬・熊ともうまく表示されました。

となると最初のサーバー(Apache/2.0.51 (Turbolinux))で
何か設定が違うのだと思うのですが、見当が付かずに困っています。

何か心当たりがあればアドバイス頂けると助かります。
0583nobodyさん2009/04/18(土) 14:52:40ID:???
そもそも日本語名ファイルを使うのはおかしいだろ
0584nobodyさん2009/04/18(土) 15:03:10ID:???
エラーログ見ろよ
05855802009/04/18(土) 15:12:09ID:???
>>583
ファイルアップロードのプログラムを使うので、日本語も通したいと思います。

>>584
404なので、エラーログはFile does not existと出るだけです。
0586nobodyさん2009/04/18(土) 15:31:09ID:???
Apacheが受け取って実際に使用されるURL
ls -1 *.jpg | od -cx とかしてファイル名のバイナリが期待どおりか

このへんは確認済み?
0587nobodyさん2009/04/18(土) 15:31:21ID:???
日本語使いたいならunicodeにしろよksg
0588nobodyさん2009/04/18(土) 15:31:43ID:???
mod_encodingで
SetServerEncoding EUC-JP
てしたらどうだ?
0589nobodyさん2009/04/18(土) 15:41:54ID:???
有名なアップローダが元ファイル名を採用してない理由を考えたほうが良い
0590nobodyさん2009/04/18(土) 17:30:59ID:???
決められた人しかアップロードできないようにするんなら細かいこと言わなくてもいいんじゃね?
0591nobodyさん2009/04/18(土) 18:23:14ID:???
>>581
URLエンコードって入門書読むとたまに
出てくるんだけど、別に無視しても
動くんだけど、もしかしてPHPの古いバージョンでだけ
気にしなければならない設定?
0592nobodyさん2009/04/18(土) 18:26:53ID:???
いや全然そんなことはない
0593nobodyさん2009/04/18(土) 18:32:25ID:???
../html/index.html とかいうファイル名をそのまま受理してしまう
アップローダが出来上がらないことを祈る。


0594nobodyさん2009/04/18(土) 18:38:21ID:???
>>591
ブラウザが自動変換してる場合もあれば
サーバ側が対応してる場合もある
05955802009/04/19(日) 00:41:36ID:4BUZ2qor
>>588
mod_encodingを設定しても状況は変わりませんでした。
色々試したところ、どうもApacheが常にUTF-8でファイルを探しにいっているようです。

「馬.JPG」をEUCでURLエンコードし、「%c7%cf.JPG」としてアクセスした場合、
サーバー上に、ファイル名の文字コードをEUCとして保存した「馬.JPG」があっても404になります。
しかし、UTF-8で保存した「馬.JPG」がある場合、画像が表示されました。

EUCでURLエンコードしてアクセスしているにもかかわらず、
UTF-8で名前が付けられたファイルが呼び出されていることになるので、
Apacheが内部で勝手に変換しているようです。

この変換をさせないためには、Apacheのどの設定を変えればよいでしょうか?
0596nobodyさん2009/04/19(日) 11:33:00ID:???
>>595

>>587はスルーですか
■ このスレッドは過去ログ倉庫に格納されています