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

【PHP】質問スレッドpart30【php】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2005/10/25(火) 06:50:06ID:Q4oGlTH3
PHP全般の質問スレです。
【基本ルール】
・新規質問の方は上げてください。age進行でお願いします。
・質問者は2回目以降、最初のレス番号を名前欄に入れてください。
・回答者は質問者に対して>>(アンカー)をつけてください。
・煽り・荒らしは放置。荒らしに反応した香具師も荒(ry
・解決しなくてもこたえてもらったら礼を。
【質問テンプレ】
・マニュアルを調べたか、google検索したか(調べたキーワード)
・タイトル(禁:教えてください!etc) 例:requireとinclude
・内容 例:requireとincludeはどう違うのですか?
・質問する際には環境も明記。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・オブジェクト指向については良スレがないから本を買え
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
【PHP マニュアル】
http://www.php.net/manual/ja/
※マニュアル上部の「search for」から検索を活用すべし(便利)。

過去スレ、関連リンク、FAQ等>>2-10辺り
0655nobodyさん2005/11/17(木) 04:59:32ID:???
>>654
いきなり"."がくるかもしれなくて"["もくるかもしれなくて
その場合どこかに"]"があって……
と考えてコードを書けばええやん。
パターンがもっと限定されてるなら、それはそれでやりようあるし。
0656nobodyさん2005/11/17(木) 06:15:07ID:???
>>652
やりたいことがよくわからんが、uniqid か何かで出した文字列に
preg_replaceで s/[^任意の正規表現]//g やればええんちゃう?
運が悪いと1文字も残らないかもしれないけど
0657nobodyさん2005/11/17(木) 06:16:49ID:???
うわ、文字位置まで限定か。
だったら配列に使える文字入れてrandとかで一文字ずつ決めちゃった方が簡単でしょ
0658nobodyさん2005/11/17(木) 09:33:53ID:???
>>654
ランダムな文字列生成関数を作って、
それが正規表現にマッチするまでぐるぐる回したら?
重くはなるかとは思うが。。。
0659nobodyさん2005/11/17(木) 09:36:29ID:???
658よりは、657の一文字づつランダム決定の方が軽そうね
06606582005/11/17(木) 09:44:54ID:???
ただ、それだと同じ文字列がでやすくなるかなぁとは思うけど
気にしないならいいや
0661nobodyさん2005/11/17(木) 09:46:33ID:???
>>660
そうなの?
確率的には同じような気がするけど
0662nobodyさん2005/11/17(木) 10:31:12ID:???
そか
そう言われれば確率的には同じだな。。。
0663nobodyさん2005/11/17(木) 12:02:09ID:???
Mysqlで新しいデータから参照するにはどうしたらいいのでしょうか?
掲示板を作成していて古い順に並ぶので
0664nobodyさん2005/11/17(木) 12:06:12ID:???
OrderBy

ってか、それはPHPの質問かと小一時間
0665nobodyさん2005/11/17(木) 16:20:31ID:???
>>663
DESC
0666nobodyさん2005/11/17(木) 16:28:45ID:???
こんな椰子が作成する掲示板って怖いな。
0667nobodyさん2005/11/17(木) 16:33:19ID:???
SQLインジェクションされたい放題になる予感
0668nobodyさん2005/11/17(木) 16:34:30ID:???
>>663
PHPでやるなら全部配列に入れてrsort()
0669nobodyさん2005/11/17(木) 16:37:22ID:???
DB使う意味ねぇ〜
0670nobodyさん2005/11/17(木) 16:38:27ID:???
ファイルアクセスよりは早いと思うよ(ぷ
0671nobodyさん2005/11/17(木) 16:44:22ID:???
HAHAHA ナイスジョーク
0672nobodyさん2005/11/17(木) 16:49:11ID:???
>>667
ttp://php.s3.to/db/src/source.php?p-bbs-db.php
(^ω^;)
0673nobodyさん2005/11/17(木) 16:57:20ID:???
(ノ∀`)アチャー
0674nobodyさん2005/11/17(木) 17:03:24ID:???
そのサイトのトップページに
 PHPをバージョンアプしましょう!
 PHPに重大な脆弱性
 PHPに関するセキュリティ情報
とあるのがまたなんとも言えず。。。

ところで「バージョンアプ」って。
0675nobodyさん2005/11/17(木) 17:06:59ID:???
意味は通じるだろ
0676nobodyさん2005/11/17(木) 17:13:24ID:???
>>674
掲示板も非常に芳ばしい感じです
0677nobodyさん2005/11/17(木) 18:46:51ID:???
いまPHP勉強中なんですが>>672のソースはどこがまずいんでしょうか。
0678nobodyさん2005/11/17(木) 18:53:57ID:???
>>677
>>667の対策をしていない
0679nobodyさん2005/11/17(木) 19:00:18ID:???
>>677
http://www.atmarkit.co.jp/fsecurity/rensai/webhole02/webhole01.html
0680nobodyさん2005/11/17(木) 19:12:16ID:???
レッツも長いことPHP使ってる(ないのか?)んだから
公開してるサンプルソース全部見直したらいいのに...
初心者が真に受ける率が高いって判って放置してんのかな。
06816772005/11/17(木) 19:29:31ID:???
>>678,679
ありがとうございます。

クエリに使用したりするユーザーからの入力データを、
stripslashesなどでエスケープしておけばいいということでしょうか。
たとえば
if (get_magic_quotes_gpc()) {
$id = stripslashes($id);
}
で大丈夫みたいなことを聞いたのですが、
実際どうなのでしょうか。
0682nobodyさん2005/11/17(木) 19:32:22ID:???
?
0683nobodyさん2005/11/17(木) 19:34:38ID:???
なんか、根本的に分かってない気がするな
0684nobodyさん2005/11/17(木) 19:55:58ID:???
そんな気がする
>>681
この場合、>>679のリンク先で説明されているような状況を防ぐ手段を講じて
いないのが問題で、少なくともstripslashes()は目的に適っていないよ。

〜すればいい、と言う事を盲目的に覚えるんじゃなくて、
何を何の為にするのか理解しておかないと墓穴掘るよ
0685nobodyさん2005/11/17(木) 20:08:33ID:???
679の記事とその連載全回分を熟読すべきだ。
熟読する価値はあるぞ681程度の認識しかないなら。
0686nobodyさん2005/11/17(木) 20:38:50ID:???
>>672もこの前のKEN●のsendmailみたいな運命か…
0687nobodyさん2005/11/17(木) 20:45:41ID:???
stripslashesでは駄目だとマニュアルに書いてある。(SQLiteの方だったかも)
MySQLならmysql_escape_string
またはPearのDB.phpでquoteSmart
0688nobodyさん2005/11/17(木) 23:59:01ID:???
つか、キャラクタはpreg_replaceで文字コードに置換してしまえ
0689nobodyさん2005/11/18(金) 08:58:35ID:???
>>687
今のおすすめはmysql_real_escape_string
0690nobodyさん2005/11/18(金) 09:09:04ID:???
>>685
http://www.ipa.go.jp/security/awareness/vendor/programming/
ここも
0691nobodyさん2005/11/18(金) 12:16:05ID:???
-- チラシの裏 --
SQLインジェクションでドキッとした。
で、自分のプログラム見たら、DB Connect のクラスでSQLインジェクション対策が隠蔽されてた。
ホッとした。
---------------
0692nobodyさん2005/11/18(金) 15:51:56ID:s0p1oegi
すみません。少しスレ違いかもしれませんがお聞きします。
RFCを自分なりに読んでみているのですが、これらの情報はPHPを使うのに必要なのでしょうか?
また必要ならば、どのような場面で必要になるのでしょうか?
0693nobodyさん2005/11/18(金) 16:02:50ID:???
>>692
かなりスレ違いですが、そもそも貴方がRFCを読み出した動機は何ですか?
0694nobodyさん2005/11/18(金) 16:08:06ID:???
>>692
RFCが必要とされる局面
0695nobodyさん2005/11/18(金) 16:12:05ID:???
>>692
アメリカンジョークに例えるとだな、
・PHPを使える - 英単語・熟語・文法を知っている
・RFCを読んでいる - ジョークの理解するための歴史的背景・風俗を知っている
・RFCは知らないがスクリプトを作成できる - 毎回、「おまえのかみさんだったよ」で終わる。
・RFCに基づいたPHPスクリプトを作成できる - アメリカンジョークを自作できる
0696nobodyさん2005/11/18(金) 16:17:39ID:???
RFCって必要になった時点で読むものでしょ。
06976922005/11/18(金) 16:38:29ID:s0p1oegi
>>693
色々なサイトを見て勉強しているのですが、PHPの説明の中にRFCを参照のようなことがいたるところに書いてあったからです。

>>694
どのような局面で必要とされるのでしょうか?

>>695
ごめんなさい。まだRFCに精通していないのでうまく理解できませんでした。

>>696
なるほど。必要になるときが来るのですね。
例えばどのようなことを実現するために必要になりますか?
0698nobodyさん2005/11/18(金) 16:44:07ID:???
>>697
このレスの仕方はつい最近見たような気がするが・・・。

RFCが何かは知ってて読んでるんだよね?
0699nobodyさん2005/11/18(金) 16:47:26ID:???
>>697
RFCを全部理解してからphp組むなんてのは、広辞苑全部呼んでから作文するのと同じ。
組んでいる途中で必要になったらRFCの該当文書を見ればいいだけ。
でもおまえが何組んでるかも知らんのに「必要になるとき」なんて答えようが無い。
0700nobodyさん2005/11/18(金) 16:58:51ID:???
>>698
みんなで釣られてしまえ
0701nobodyさん2005/11/18(金) 17:42:29ID:???
>>697
>色々なサイトを見て勉強しているのですが、PHPの説明の中にRFCを参照のようなことがいたるところに書いてあったからです。

だから、どんな説明の時に参照するって書いてあったんだ。
その説明の部分で、それ以上詳しいことが必要なら参照すりゃいいだろ。
07026922005/11/18(金) 17:47:58ID:s0p1oegi
そうなのですか。わかりました。
http://www.spencernetwork.org/memo/tips-3.php
ここに出てくるContent-typeやContent-lengthといったものが
ftp://ftp.isi.edu/in-notes/rfc2068.txt
RFCに載っていたので、このようなプログラムを自在に書けるようになるために必要な情報だと思いました。
そうなるとRFCを理解しなければそれを必要になる場面に出会うことすら難しいため、一歩進んだプログラミングの習得ができない気がしてしまいます。
みなさんはきっとそういう逆境を乗り越えたのですね。
できたらその時の思考プロセスを話してもらえませんか?
0703nobodyさん2005/11/18(金) 17:54:47ID:???
>>702
そもそもRFCが何か理解しているかい?
0704nobodyさん2005/11/18(金) 17:56:54ID:???
RFCという釣餌
0705nobodyさん2005/11/18(金) 18:02:29ID:???
>>702
オマイ自身が答えを書いているじゃん。

PHPで作成された簡易HTTPクライアントのサンプルがあって
このようなプログラムを自在に書けるようになるために必要な情報だと思いましたので
RFCを理解しようとしています。

オマイの思考プロセスは上記で正しい。他人に聞く必要はない。
以上
0706nobodyさん2005/11/18(金) 18:13:07ID:???
以下
0707nobodyさん2005/11/18(金) 18:18:42ID:???
思考経過の妥当性がアプリオリに決定されるわけないじゃん
0708nobodyさん2005/11/18(金) 18:37:57ID:???
>>702
アンケートは自分のサイトでやってくれる?
0709nobodyさん2005/11/18(金) 18:40:36ID:???
まぁまぁ、まぁまあ、

マーライオン       , ―‐ 、
             /r‐' ,ェェr‐..、
               | l |   ____Y)........
               | l ヽ  ┴‐┬'''''''''' ::::.........
               | l  l `ー‐1      ::::::::.......
             7レヘ!    /        ::::::::::::.....
             l |. |    /           :.:.:.:::::...
             /7ーー7777!             :.:.:.:::::....
            T--l⌒ヽ{ l               :.:.:.:.::::::...
               |vv'レ⌒!'ー!                :.:.:.:.::::::...
              |vv'ヽソー1                 :.:.:.:.::::::.
           _ヽVVVー7__               :.:.:.:.:::::..
         ,〜〜〜〜〜〜〜ヽ  ヽ、             :.:.:.:.:.:..::..
        ∠二二二二⌒二二二二二二ユ            :.:.:.:.:.::::::...
0710nobodyさん2005/11/18(金) 19:52:41ID:AXpGNMBT
DIVタグで#top #left #right #mainとレイヤーを分けて、index.phpを作り、
その際、#top #left #rightのところのタグが他のページのphpで使いまわしになるので,
それぞれをtop.php、left.php、right.phpとして、includeして見やすい様にしたのですが
これはセキュリティとかphpの使い方として、問題あるんでしょうか?
一応、使えてはいるんですが、心配で。
0711nobodyさん2005/11/18(金) 20:00:01ID:???
>>710
その内容から判断する限り問題はないと思う。
ただしtop.phpとかに直接アクセスされる可能性を考慮すべし。
07127102005/11/18(金) 20:17:09ID:AXpGNMBT
>>711
ありがとうございます。
top.phpとかには直接アクセスされないように配慮してみます。
0713nobodyさん2005/11/18(金) 20:17:25ID:???
1.呼び出し側のindex.phpでdefine使って定義。
2.呼び出される側では、definedで定義済みかチェック。
3.もし未定義であれば、不正な呼び出しとしてエラー吐くなり何なりやって終了

-index.php-
<?php
define('_VALID', '');
include('top.php');
?>

-top.php-
<?php
defined('_VALID') or die ('Error msg');
echo 'top.php';
?>
0714nobodyさん2005/11/18(金) 21:54:44ID:???
プロクシ規制を考えているのですがサンプルになるようなものを
配布しているサイトをご存知ないでしょうか?
プロクシリストを更新するものではなく逆引き等によって制限できる
物を探しております
0715nobodyさん2005/11/19(土) 12:34:18ID:???
エスパー呼ぶ?
0716nobodyさん2005/11/19(土) 14:04:33ID:???
>>715
エスパーだけど、何か用?
0717nobodyさん2005/11/19(土) 14:10:57ID:???
>>716
なら頼んだ
0718nobodyさん2005/11/19(土) 15:00:44ID:???
むしろ今必要なのは一休ではないか
0719nobodyさん2005/11/19(土) 15:09:54ID:???
>>714
で、それとPHPとなんの関係が?
0720nobodyさん2005/11/19(土) 15:25:59ID:???
なに休んでんだよ
0721伊東2005/11/19(土) 17:56:46ID:???
エスパーですけど何か?
0722nobodyさん2005/11/19(土) 18:26:19ID:???
エスパーさん、俺の名前当ててください。
0723エスパー伊藤2005/11/19(土) 18:28:38ID:???
キンコツマンだろ?
0724nobodyさん2005/11/19(土) 18:34:06ID:???
>>723
なぜ分かった?
しかも、投稿日の数字(18:28:38)が素晴らしい!

流石エスパーさん!!
0725nobodyさん2005/11/19(土) 18:39:41ID:???
何が素晴らしいんだ?
0726nobodyさん2005/11/19(土) 18:43:23ID:???
自演がだろ
察しなさい
0727nobodyさん2005/11/19(土) 18:47:53ID:???
>>723の投稿日時を見よ。
0728nobodyさん2005/11/19(土) 20:38:03ID:???
その日時のどこが素晴らしいのかと
0729nobodyさん2005/11/19(土) 21:07:14ID:???
空気読めてない
0730nobodyさん2005/11/19(土) 21:15:21ID:???
質問スレなんだから、あまりネタにレスつけんなよ・・・
0731nobodyさん2005/11/19(土) 21:27:45ID:???
質問する時、くだ質とこのスレのどちらで聞けばいいか迷うよね。
でも、「くだらない」かなんて分かるもんでもないし…

なんだか統一しても良くなってきた。。
0732nobodyさん2005/11/19(土) 21:43:22ID:???
おいらは質問した事が無いのでその辺りの葛藤はよく分からんが、
くだ質スレで答える時には基本的な部分も含めて回答し、
こっちではその辺りをすっ飛ばして答えるようにしている。
そうすると自然と向こうではくだらない質問にだけ答えるようになり、
こっちではくだらない質問はマニュアル嫁と思って答えなくなる。
0733nobodyさん2005/11/19(土) 22:03:21ID:???
>>732
なるほどね。
0734nobodyさん2005/11/19(土) 23:16:53ID:???
ここで聞いていいのかわからんのですが、
ホスティング業者で複数のPHPのヴァージョンを使えるような
ところってないですか?
たとえば、
フォルダ1 PHP4.3.11 register globals=on
フォルダ2 PHP4.4.1 register globas=off
みたいな感じで使い分けたいんですけど・・・
0735nobodyさん2005/11/19(土) 23:30:53ID:???
>>734
レンサバ板いったほうがいいんじゃね?
0736nobodyさん2005/11/20(日) 00:59:57ID:???
>>731
つか単純に

マニュアル読める人はこっち
マニュアルに不慣れな人はあっち

でいいじゃん。
そうすりゃ本スレはマニュアルに載ってないor見つかりにくい内容、くだスレはマニュアルレベル(=初心者レベル)になるし。
本スレもくだスレも次スレ立てるときは1にそれを明示するべき。
0737nobodyさん2005/11/20(日) 02:22:49ID:???
>>736
大丈夫。ここに質問しに来るような奴は最初から>>1なんて読まない。
0738nobodyさん2005/11/20(日) 02:34:26ID:???
質問しに来る奴が読まなくても>>731みたいなときに読めばいい
0739nobodyさん2005/11/20(日) 02:45:19ID:???
回答側がガタガタいったって仕方ない。それが質問スレの宿命。
0740nobodyさん2005/11/20(日) 02:51:24ID:???
>>739
質問スレの宿命って何?
0741nobodyさん2005/11/20(日) 02:52:27ID:???
お前にはあの★が見えないのかい?
0742nobodyさん2005/11/20(日) 02:57:43ID:???
エスパーか!?エスパーなのか!?
0743nobodyさん2005/11/20(日) 02:59:07ID:???
>>1なんか回答側の予防線として使えるんだから書きたいだけ書いときゃいいじゃん
0744nobodyさん2005/11/20(日) 05:20:34ID:???
どうせなら、むしろこっちに
中級以上
とか書くと、初心者はくだ質にいくんじゃね?
0745nobodyさん2005/11/20(日) 05:42:38ID:???
>>744
「中級」じゃ何のことだかわからなくないか?
むしろマニュアルきちんと読んだ上でググった上での質問ならこっちに来た方がいい希ガス。
本スレとくだスレの関係を双方にはっきり書いておくのは同意。
0746nobodyさん2005/11/20(日) 05:47:17ID:???
判断基準の明記だね。
現状だと質問者が自分の脳内でくだらないかどうか判断してるんじゃない?
あと、スレの雰囲気も重要だと思う。
向こうとこっちじゃ空気が違うから。
初めてWebprog板を覗いた人には関係ないけど、
何度も質問してるような人は雰囲気でスレを選ぶんじゃないかな。
0747nobodyさん2005/11/20(日) 05:48:08ID:???
くだすれの存在意義=くだらない質問書く奴の隔離誘導先
0748nobodyさん2005/11/20(日) 05:52:25ID:???
くだらないかどうかのボーダーライン:

マ ニ ュ ア ル 読 め る ・ グ グ れ る

で決定の方向ですか?
0749nobodyさん2005/11/20(日) 06:02:52ID:???
>>746
実際ここのスレとむこうのスレでどっちに書くか選んでる奴がいるのかどうか知らないが(731以外w)、レベル的には別れていたほうがわかりやすいだろうね。
もし分ける必要がないとしたら1つのスレにまとめた方がいいってことだし。
0750nobodyさん2005/11/20(日) 06:35:46ID:???
>>748
>>549
07517482005/11/20(日) 07:05:55ID:???
>>1に何書いたって馬鹿は馬鹿なんだからその都度誘導が必要。
その時>>1が説得力+便利になるだけの話。
07527442005/11/20(日) 07:06:50ID:lMDh+9MV
>>745
スレタイトル名で判断できないとダメだって。
くだ質する奴なんて>>1-10なんて読まない奴が多いんだし。

スレタイに中級とか上級とかかいとけば
>むしろマニュアルきちんと読んだ上でググった上での質問
でない場合は心理的に入りづらいだろ。

あと、くだ質を隔離扱いじゃなくて、初心者用っていう位置づけなら
初心者歓迎とかスレタイにつけたほうがいいと思われ
0753nobodyさん2005/11/20(日) 07:29:39ID:???
スレタイ変更は同意。
くだ質は隔離でいいと思うけど。
初心者歓迎スレがいると思うなら立てたらいいじゃん。
俺は別にいらんと思うけど。
とりあえず次のスレタイは何がよかっぺ?
0754nobodyさん2005/11/20(日) 07:33:53ID:???
それよりまたスレが出来てしまったぞ。

暇なPHP上級者が初心者の質問に答えるスレ
http://pc8.2ch.net/test/read.cgi/php/1132434138/

PHP質問スレって何個あるんだよwwwwwwwww
■ このスレッドは過去ログ倉庫に格納されています