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

【PHP】下らねぇ質問はここに書き込みやがれ 39

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2007/02/12(月) 20:33:59ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 38
http://pc10.2ch.net/test/read.cgi/php/1170520777/

◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ http://pc10.2ch.net/php/subback.html
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで http://pc10.2ch.net/db/subback.html
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
 しかし初心者が目的も定めずに速度を気にしたところでほとんど意味は無いぞ
0433nobodyさん2007/02/16(金) 22:49:21ID:???
str_rot13最強伝説
0434nobodyさん2007/02/16(金) 22:57:58ID:???
メールアドレスを、反対から読んで保存するだけで全然OK
0435nobodyさん2007/02/16(金) 23:02:43ID:???
>>432
コストが高くて信頼性の低い方法を選ぶのですね。
すいませんここのスレタイを忘れてました。
0436nobodyさん2007/02/16(金) 23:06:01ID:???
>>434
全然意味ねぇな。

>>435
石橋を叩きまくって渡るサラリーマン気質乙。
0437nobodyさん2007/02/16(金) 23:11:36ID:vtSyuBIy
すみません、具体的なスクリプトの質問ではないのですが、
phpでサイトを運営する上で、いろんなクラッカーとかイヤガラセの
攻撃を受ける可能性があるわけですが、そういうメンテナンス上の問題回避のために
読むべき、理解すべきことってどんなことでしょう?

そういうことをプログラムのノウハウ的にまとめている本でオススメってありますか?
技術的なことでなく、運営者マニュアルみたいなものでも良いですが。。
0438nobodyさん2007/02/16(金) 23:13:28ID:???
UTF-8で統一してるんだが
MySQLに入れたデータがphpMyAdminで文字化けする

接続照合順序utf8_unicode_ciじゃアウアウ?
0439nobodyさん2007/02/16(金) 23:18:52ID:???
>>422-424
さきほど、色々な方法があると言いましたが、
結局、php-cliを使う事が要点なのですね。


再質問で申し訳ないですが

つまりphp-cliでないと、
phpはhttpのリクエストで動くものという理解で良いという事でしょうか。
0440nobodyさん2007/02/16(金) 23:19:26ID:???
>>437
とりあえずこのへんとか。

http://www.atmarkit.co.jp/fsecurity/index/indexfiles/index-serial.html

セキュアなWebサイトを運営するための
Webアプリケーションに潜むセキュリティホール
Webアプリケーションに潜むセキュリティホールが注目されている。
その危険を認識し、セキュアな開発を目指そう
第1回 サーバのファイルが丸見え?!
第2回 顧客データがすべて盗まれる?!
第3回 気を付けたい貧弱なセッション管理
第4回 エラーメッセージの危険性
第5回 Webアプリケーションの検査テクニック
第6回 Webサイトのセッションまわりを調べる方法
第7回 攻撃されないためのセッション管理の検査方法
第8回 ロジック系の検査
第9回 オンラインショッピングにおける脆弱性の注意点
第10回 安全なWebアプリケーション開発のススメ
第11回 Webアプリケーションファイアウォールによる防御
第12回 mod_securityのXSS対策ルールを作成する
第13回 OSコマンドインジェクションを防ぐルールを作成する
最終回 Webアプリケーションの脆弱性を総括する
0441nobodyさん2007/02/16(金) 23:19:53ID:???
>>437
XSSの本
0442nobodyさん2007/02/16(金) 23:27:38ID:???
>>439
えーっと、UNIX入門みたいな本でも読んだ方がいいと思ふ
0443nobodyさん2007/02/16(金) 23:39:14ID:vtSyuBIy
>>440
ありがとうございました たくさんありますねー
そのページ書いてあるようなことをプログラマは全部理解して
その上でコーディングしてるんでしょうか? すごいなー
自分は初心者なんで、信じられないですが、、

>>441
ありがとうございました XSS調べてみました 
フォームに悪質なjsを書き込まれた場合の対処という理解で良いんでしょうか?
他の具体例も知りたいんで、なんか良い本ないですかね??

色々ありがとうございました。
他にもあったら気の向いた人教えてください。
04444392007/02/16(金) 23:41:23ID:80BNRnzJ
>>442
つまりそれは、
>>439の質問が、的外れな質問すぎて、Y/nで答えられないという事ですか?

とりあえず、UNIXの再勉強はしておきますが
>>439がどのくらい的外れなのかは、ちょっと教えてくれませんか。
0445nobodyさん2007/02/16(金) 23:49:12ID:???
>>437
OSレベルのセキュリティじゃなくって、Webアプリレベルのってこと?
>>440 のタイトル見ただけだが網羅されてるようだね。
PHPの本でセキュリティうたってるのをAmazonとかで検索してみな。
それとも、荒らし対策の話?
IPではじくとか、BBQとかそういう話か?
0446nobodyさん2007/02/16(金) 23:59:41ID:j0IYGYSi
GD2でフォントを表示しようとするとポイント単位になりますが
画像の中心に表示したいのでピクセルで指定したいです
ピクセル-ポイント間変換はどうやればできますか?
04474452007/02/17(土) 00:04:32ID:???
>>443
>そのページ書いてあるようなことをプログラマは全部理解して
>その上でコーディングしてるんでしょうか? すごいなー
いや、知らない人結構いると思うよ。
かなり大雑把だけど
・セッションがらみ(成りすましされちゃうとか)
・サニタイズがらみ(XSS,CSRF,SQLインジェクションとか)
・権限ミス(見せてはダメな人に見せちゃうとか)
ぐらいで分類できると思う。
0448nobodyさん2007/02/17(土) 00:05:20ID:P/33vo48
>>445
そうそう、OSレベルではなくて、スクリプトやアプリレベルです。
荒らし対策とか知りたいですね
単純にロボットスパム? ときどき掲示板に海外のエロサイトのアドレスが
馬鹿みたいに書かれてるの見かけますが、ああいうの防ぐ方法とか。
(ちなみに、書き込み送信前に画像の見難い数字パスワード?を入力させる方法
以外にどんなのがありますかね、アレ)
0449nobodyさん2007/02/17(土) 00:09:16ID:???
>>444
常駐してるメーラーダエモンさんからPHPに渡してもらえば良いだけだよ。
アパッチの中のPHPスクリプトに渡す時、一瞬CLI使うだけ。
全部PHPで作る気なの?
UNIXのコマンドとかもアパッチモジュール版のPHPの中から使えるし
無駄な徒労で意味無いよ。ってことが>>442の人は言いたいんだと思う。
0450nobodyさん2007/02/17(土) 00:16:52ID:???
>>448
有名どころの日本の商用レンタルBBSだと2バイト文字がない奴
全部弾いてたりする。

URLが入ってる投稿全部弾くようにhttp://とかに禁止ワード設定して
URL登録フォームはAJAX的にボタン押すと出現させるようにすれば
防げると思うけど、俺は面倒だからやってない。
04514452007/02/17(土) 00:16:55ID:???
>>448
>書き込み送信前に画像の見難い数字パスワード?を入力させる方法
CAPTCHAのことだな。
あとは、シングルバイトのみははじくとか、
NGワードではじくとか、
IP、UserAgentではじくとか、
BBQではじくとか、
チケット使うとか、
かなぁ。。まぁ、どれも完璧じゃないです。
0452nobodyさん2007/02/17(土) 00:30:05ID:???
マルチバイトなかったらとか環境変数みたりとか
結構いろいろ方法があるけど
焼き鳥マジオヌヌヌ
これだけでほとんどはじけたよ
04534442007/02/17(土) 00:31:39ID:9nsEzfET
>>449
なるほど。
何となく分かった気がします。

ありがとうございました。

CLIを使うか否かにこだわったのは、
今借りてるサーバがPHP 4.4.4 (cgi) だったからです。

何にせよ、もうちょっと、PHPだけじゃなくて、周辺知識を得てみます。
0454nobodyさん2007/02/17(土) 00:36:47ID:P/33vo48
>>452
焼き鳥ってなんですか?
あと、悪質な書き込みする奴弾く時はIPですかね?
荒らし書き込みした奴にクッキー食わせてそいつだけ弾くとかかな
0455nobodyさん2007/02/17(土) 00:47:48ID:???
CGIバイナリでインスコされてるならCLI使う必要ないじゃないの
0456nobodyさん2007/02/17(土) 00:51:37ID:???
>>454
DNSBLで検索汁
BBQのアドレスは覚えてないけどこれも検索すればすぐでてくるはず
あともう一つ海外の有名どころ1つくらい押さえたほうがいいかもね
04574462007/02/17(土) 01:11:37ID:???
ピクセル=(ポイント/72)×DPI
で、
DPIはlinux=75,win=96,mac=72
というところまでは分かりましたが
この場合DPIはクライアントのものになるのか
サーバのものになるのかどっちでしょう?
04584462007/02/17(土) 01:37:05ID:???
By default, gd passes a resolution of 96 dpi to the freetype text
rendering engine

らしいです
0459nobodyさん2007/02/17(土) 01:41:35ID:???
GIF動画同士の合成はできたんだが、アニメーションが止まって表示される
アニメーションを動かすには別のモジュールが必要なんだがどうすればいいよ?
0460nobodyさん2007/02/17(土) 02:10:00ID:???
>>459
>>323
0461nobodyさん2007/02/17(土) 02:11:08ID:???
>>460
Linux専用?
0462nobodyさん2007/02/17(土) 02:13:00ID:???
>>461
Winは無理
0463nobodyさん2007/02/17(土) 02:46:05ID:???
>>459
>>5 21.
0464nobodyさん2007/02/17(土) 03:13:27ID:???
>>461
imagemagick 使うなら
path 通して直に叩けばいいんじゃないの?

imagemagick で希望のことができるかは
私は知らないけれども。
0465nobodyさん2007/02/17(土) 04:50:39ID:???
「<」「>」「"」「'」「&」
見たいなhtml上で使っちゃいけない記号を、
「?」「?」「?」「?」「?」
といった文字列に置き換える関数はありませんか?

0466nobodyさん2007/02/17(土) 04:51:57ID:???
>>465
すいません置き換えられてしまいました。
質問の続きなんですが、うまく説明できないんですが、
html上で使える記号に置き換える関数はありませんか?
0467nobodyさん2007/02/17(土) 05:09:08ID:???
htmlspecialchars
0468nobodyさん2007/02/17(土) 09:14:16ID:???
>>467
ありがとうございます
0469nobodyさん2007/02/17(土) 09:49:27ID:???
定数で、ログを記録するかしないかを選択する処理を入れたいのですが、

define("LOG", 0); //ログ記録するなら0 しないならその他の数字
if (LOG == 0) {
  ログ記録する処理
}

define("LOG", 0); //ログ記録するなら0 しないなら1
if (LOG == 0) {
  ログ記録する処理
} elseif (LOG == 1) {
  何もしない
} else {
  die("LOGの設定がおかしい");
}

どっちがいいと思いますか?
それとも他にもっと合理的な書き方がありますか?
04704692007/02/17(土) 09:54:16ID:EkLER66+
すみません。癖でsageてしまいました。
0471nobodyさん2007/02/17(土) 09:54:56ID:???
>>469
どっちでもいいけど個人的には前者
04724692007/02/17(土) 10:02:00ID:???
>>471
何その書き方とか突っ込まれるかと思いましたが、
こういう書き方で大丈夫なんですね。
どうもありがとうございます。
0473nobodyさん2007/02/17(土) 10:09:04ID:???
string型の変数に++するとa-zまでカウントしてくれますよね
それを0-9も含めたカウントしたいんですが
比較を使って手動でカウントする以外の方法はありますでしょうか?

よろしくお願いします
0474nobodyさん2007/02/17(土) 10:10:56ID:???
2007-02-17T04:15:10+09:00

こんな感じの時間を返したいと思っているんですが、
これは何基準で返した時間なんでしょうか?

年と日付はdateで返せるんですが、
時間が+とかついててちょっと良くわかりません。

どんな関数を使えばいいんでしょうか?
0475nobodyさん2007/02/17(土) 10:27:13ID:it5sKBkR
>>474

http://jp.php.net/manual/ja/function.date.php

ISO 8601 日付 (PHP 5 で追加されました)を使えばいいと思うよ。
0476nobodyさん2007/02/17(土) 10:36:02ID:jve/T2Nq
改行タグ (<br />) を動作環境に応じた改行コード (\x0D\x0Aや\x0Dや\x0Aなど) に変換するにはどうすれば良いのでしょうか。
あるいは \n で統一しても良いのでしょうか・・・。
どなたかご教示願います。
0477nobodyさん2007/02/17(土) 10:46:02ID:???
>>476
PHP_EOL
0478nobodyさん2007/02/17(土) 10:46:07ID:???
難しく考えず、求める結果になるならなんでもいいんざゃない?
0479nobodyさん2007/02/17(土) 11:00:12ID:???
>>469
それでもいいけど、できれば 1のとき記録するにしたほうがよいんじゃない?
if(LOG) {
記録処理
}

でいける。
0480nobodyさん2007/02/17(土) 11:44:23ID:???
>>473
よくわからないですけど配列にa〜9まで入れて++の代わりにnext使ってってのはどうですか?
04814692007/02/17(土) 11:51:00ID:???
>>479
1にすればそんな書き方ができるのですね。
知りませんでした。
早速使わせていただきます。
0482nobodyさん2007/02/17(土) 13:12:11ID:???
>>479
define('LOG', true); の方がモアベターかと。
0483nobodyさん2007/02/17(土) 14:15:33ID:???
>>475
ありがとうございます
0484nobodyさん2007/02/17(土) 14:17:54ID:???
Hypertext Preprocessor
これをどう略したらPHPになるんですか?
0485nobodyさん2007/02/17(土) 14:28:19ID:???
LOGするとき0ってのも意味分かんないな
0486nobodyさん2007/02/17(土) 14:38:57ID:???
PHPはパーソナルホームページの略ですw
0487nobodyさん2007/02/17(土) 15:03:32ID:???
>>484
WikipediaでPHPの歴史見てみるといいよ。
0488nobodyさん2007/02/17(土) 16:31:41ID:g7Ihrm8U
PHPで2ch用ブラウザ作っているのですが、
新規スレッド作成の時にリファラ情報が変と出ます。
リファラ情報を変えることはできないのでしょうか?
0489nobodyさん2007/02/17(土) 16:38:52ID:???
>>488
リファラ情報を変えることは、勘助を信虎の家臣にするようなもの。
0490nobodyさん2007/02/17(土) 16:49:24ID:g7Ihrm8U
>>489
つまり、外部からの書き込みは不可なんでしょうか?
0491nobodyさん2007/02/17(土) 16:56:44ID:???
>>439
php-cgiはCGIとして利用する場合は、HTTPサーバが前提だけど
php-cliが出来る前は、php-cliの代わりにも利用されてきた。
つうことでphp-cgiが入ってれば、貴方の期待するようなことは出来ると思うよ。
0492nobodyさん2007/02/17(土) 16:58:09ID:???
>>490
可能だよ。
0493nobodyさん2007/02/17(土) 17:03:48ID:g7Ihrm8U
>>491
Windowsなのでおそらく入っていないです
04944842007/02/17(土) 17:18:40ID:???
>>487
どうもありがとう。
0495nobodyさん2007/02/17(土) 17:20:01ID:???
>>490
普通のやり方だと無理だと思う。
$_SERVER変数は定義済み変数で、変数でありながらユーザーサイドで変更できない。
http://www.php.net/manual/ja/reserved.variables.php
0496nobodyさん2007/02/17(土) 17:33:43ID:???
HTTPプロトコルでやっちゃえ
0497nobodyさん2007/02/17(土) 17:41:00ID:g7Ihrm8U
>>496
kwsk
0498nobodyさん2007/02/17(土) 17:59:07ID:???
>>493
php-cgi.exeという名前か、php.exeという名前で入ってる。
php-cliの方はphp-cli.exeという名前か、php.exeという名前で入ってる。php-win.exeも
cgiとcliが同じ名前で一時期混乱を招いた(Win版に限らず)。

取り合えずパスの優先順に気を付けた上で「php-hoge -v」してみ。
0499nobodyさん2007/02/17(土) 17:59:33ID:???
朝のやつ出来ちゃいました。ありがとぉ〜
0500nobodyさん2007/02/17(土) 18:13:19ID:???
Who are you?
0501nobodyさん2007/02/17(土) 18:24:11ID:???
>>500
you are "Internal Server Error".
0502nobodyさん2007/02/17(土) 18:27:45ID:???
>>497
PHPでブラウザを作るんだよ
実際User-Agentとかいろいろ偽造できるんだぜ?
05035022007/02/17(土) 18:39:26ID:???
fsockopen()
と
http://www.7key.jp/nw/technology/protocol/http1.html
あたりを見ればわかるかも
0504nobodyさん2007/02/17(土) 18:39:37ID:g7Ihrm8U
これでVIPにワンクリックで糞スレ立てようかと(ry
http://space-town.net/~vipper/kuso/index.php
0505nobodyさん2007/02/17(土) 20:26:51ID:dqj9QXnt
よく、『「--with-●●●」を付けてコンパイルされていることが必要です』などと説明してあったりしますけど、
もう既にPHPがインストール済みの場合、あとからそういうのを
パッチ的に(?)当てたりすることは出来るんでしょうか?

それともコンパイル&インストールからやり直し??
(共用レン鯖とかだと、それさえも不可能ですが・・・)
0506nobodyさん2007/02/17(土) 20:30:57ID:???
>>505
そんなパッチがあったとしても
レン鯖屋のバイナリに勝手にパッチ当てられるわけないでしょ。

レン鯖の提供する機能でやりくりするか
レン鯖屋を乗り換えるしかない。
0507nobodyさん2007/02/17(土) 21:07:07ID:???
海外のレン鯖で自由にパッチ当てられる鯖あったけど。
0508nobodyさん2007/02/17(土) 21:21:34ID:???
>>506
いや、根本的にそういうことを聞いてるんじゃないだろ。
じゃあ専用鯖だとしたら?? ってことでしょ。
0509nobodyさん2007/02/17(土) 21:33:17ID:???
パッチが当てられるか否かの話だろw
0510nobodyさん2007/02/17(土) 21:36:24ID:???
>>505
rpmで入れてて、追加したい拡張機能のrpmがあるなら出来るかな。

http://q.hatena.ne.jp/1153517724
0511nobodyさん2007/02/17(土) 21:47:26ID:???
今度はrpm限定かよw
0512nobodyさん2007/02/17(土) 21:48:22ID:???
>>509
要点はそこじゃないだろバカかお前ww

つまり「コンパイル・オプションを後から追加できるかどうか」って話だろ。
手法がパッチかどうかの問題じゃないっしょ。
0513nobodyさん2007/02/17(土) 21:52:07ID:???
男は黙って再コンパイル
0514nobodyさん2007/02/17(土) 21:53:50ID:???
>>505
全部の拡張機能が可能というわけではないが、
後からでもphpの起動時に動的にロードできる。
# 実行にロードできるものも
「phpize」をキーワードにして検索。
0515nobodyさん2007/02/17(土) 22:06:07ID:???
再コンパイルが確実だろうけど、時間かかって面倒くさいし、
何よりも、いま正常に動いているスクリプトが動かなくなったら怖いよな。
0516nobodyさん2007/02/17(土) 22:21:55ID:???
http://wiki.poyo.jp/read/PHP/tips/mod/add_later

↑こういう手法もあるみたいだけど、なんかめんどくさいね。
もっと簡単に、ファイルをディレクトリに置くだけとかで
機能拡張できるようにしてくれないもんかね? <PHP
0517nobodyさん2007/02/17(土) 22:32:05ID:???
>>516
いたって普通の手法じゃねぇか。
ファイル置いてphp.iniで有効にするだけだろ。
それすら嫌なら全部phpで書けよ。
0518nobodyさん2007/02/17(土) 23:10:27ID:???
>>517
ビルドだのインストール作業だのがあるじゃん。

そうじゃなくて、コンパイル済みのバイナリをアップして
php.iniをいじるだけ…とかにしてほしいんだ。
0519nobodyさん2007/02/17(土) 23:16:27ID:???
http://codelock.agtjapan.com/demo.html

これ使ってみたいんだが、なんか代理店が怪しすぎて導入が怖い。
誰か試用版を使ってみて、人柱になってくれないっすか?
0520nobodyさん2007/02/17(土) 23:21:42ID:???
>>519
はぁ?
0521nobodyさん2007/02/17(土) 23:23:47ID:???
>>519
実は、私も人柱を探していたところなんです。
助かります。宜しくお願いいたします。
0522nobodyさん2007/02/17(土) 23:25:18ID:???
私も519が人柱になるのがいいと思います!
0523nobodyさん2007/02/17(土) 23:26:57ID:???
自分も柱探していました。
>>519さんよろしくお願いします。
0524nobodyさん2007/02/17(土) 23:27:08ID:???
>>519
たいした暗号化じゃないし、zendの使ったほうがまだマシ
0525nobodyさん2007/02/17(土) 23:30:36ID:???
>>519
よろしくお願いします
0526nobodyさん2007/02/17(土) 23:35:11ID:???
>>524
そういう戯言は、実際にクラック成功させてから言ってくれ。
0527nobodyさん2007/02/17(土) 23:36:58ID:???
>>526
×戯言
○虚言
0528nobodyさん2007/02/17(土) 23:45:45ID:g7Ihrm8U
>>527
戯言⇒ざれごと(ふざけて言う言葉。冗談。)
虚言⇒きょげん(うそ。いつわり。)
0529nobodyさん2007/02/17(土) 23:54:07ID:???
>>526
524じゃないけどもうやったよ。

パスワード入力をする前のコードは復元できなかった(つか時間が無くてあんまり出来なかった)けど
入力後のコードは普通に特定の文字を置換してbase64_decodeしたら生ソースが出てきた。
SourceCopよりかはベター、Zendのに比べれば劣る(当たり前だけど)

某所で見かけた難読化のやつはすごかった。非ASCIIのバイナリを直接関数にわたしてた。
0530nobodyさん2007/02/18(日) 00:03:44ID:???
>>526
社員乙
05314392007/02/18(日) 00:05:13ID:???
>>455
>>491
レスありがとうございます。

UNIX系の知識自体が不足していたようで、申し訳ないです。
phpばかりじゃなくてunixももうちょっと勉強して、答える側に回りたいものです
0532nobodyさん2007/02/18(日) 00:41:29ID:VMFXb98L
OsCommerceのパスワードの暗号について教えてくれ
■ このスレッドは過去ログ倉庫に格納されています