【PHP】下らねぇ質問はここに書き込みやがれ 60
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001nobodyさん
2007/12/01(土) 21:18:36ID:MnWwNIk0PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 58
http://pc11.2ch.net/test/read.cgi/php/1195204145/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0830nobodyさん
2007/12/17(月) 08:55:04ID:???hidden値書き換えられても問題はないんだよな
禁止ワードとかのチェックは両方でやれば良い訳だし
>>825
それはスパム対策であって書き換えの対策になるとは思えない
0832nobodyさん
2007/12/17(月) 08:55:51ID:???> 投稿時に確認
掲示板で確認画面の内容と「3」で実際に投稿される内容が
同一でなければならない、とかいう仕様をおもいつくやつって、
頭悪いなあ
> そのシステムの影響力とかにもよるが放置で登録するな
影響力もクソもないよ。確認画面見るのは(もし値を書き換えるとしたら)
その書き換える当人だけなんだから
0833nobodyさん
2007/12/17(月) 08:56:50ID:???ものによりますね。
0835nobodyさん
2007/12/17(月) 08:57:54ID:???こういうこというやつって、掲示板での「2」の画面の意味が全くわかってないんだよね
0836nobodyさん
2007/12/17(月) 08:59:55ID:???0837nobodyさん
2007/12/17(月) 09:01:37ID:???思考停止してる頭悪いノータリンってことが証明されてる感じだよね。
よくいるけどこういうタイプのバカって
0838nobodyさん
2007/12/17(月) 09:08:11ID:???>掲示板で確認画面の内容と「3」で実際に投稿される内容が
>同一でなければならない、とかいう仕様をおもいつくやつって、
>頭悪いなあ
パケット改ざんされて、ユーザーが入力した値が第三者に書き換えられるケースも考えられないんですねw
0839nobodyさん
2007/12/17(月) 09:10:07ID:???数行のコードで済むのに。
そんな労力いるようなコードでもないと思うんだが
0840nobodyさん
2007/12/17(月) 09:11:46ID:???そんなケースはないですね
誰がおまえみたいなクズが書いたごみのような投稿を書き換えようと思うの?
0841nobodyさん
2007/12/17(月) 09:14:46ID:???0842nobodyさん
2007/12/17(月) 09:18:50ID:???>掲示板で確認画面の内容と「3」で実際に投稿される内容が
>同一でなければならない、
理由として
「パケット改ざんされて、ユーザーが入力した値が第三者に書き換えられるケース」
を防ぐため、と、言ってみたら。
恥かくだけだと思うけど(笑)
そんなこと考えて掲示板の確認画面見てるのはおまえぐらいだよ
0844nobodyさん
2007/12/17(月) 09:24:25ID:???確認画面がないから
パケット改ざんされて、入力した値が第三者に書き換えられるケース
が防ぎきれないもんなあ
0845nobodyさん
2007/12/17(月) 09:27:46ID:???何か裁判沙汰になったら不利になるっていう、ただそれだけ。
0847nobodyさん
2007/12/17(月) 10:32:21ID:???0848nobodyさん
2007/12/17(月) 10:35:39ID:???0849nobodyさん
2007/12/17(月) 10:54:42ID:???0850nobodyさん
2007/12/17(月) 10:55:44ID:???0851nobodyさん
2007/12/17(月) 11:11:58ID:???処理的に無駄なことは結果的にサーバー負荷になり
バグを増やす原因になる
どこからでもアクセスできるグローバル変数みたいなもんだから
メモリも食うし、キャッシュファイル容量も食う
0852nobodyさん
2007/12/17(月) 11:14:30ID:???簡単に判断する方法ってありますか?もしくは組み合わせのパターンとか。
mod_php4.c
mod_php5.c
mod_php.c
sapi_apache2.c
なんかBSDやらLinuxやらで違ったりするので…。
0853nobodyさん
2007/12/17(月) 11:20:11ID:???いまどきの性能を持ったマシンなら気にしなくてもいいんじゃないの
セッションを使ったらバグが増えるって・・・どんだけセッション嫌いなの?wあんたwww
0854nobodyさん
2007/12/17(月) 11:25:51ID:???個人で小さなサイト作ってる程度じゃわからないだろうな
早い話がグローバル変数は必要最低限に使えということだよ!
0855nobodyさん
2007/12/17(月) 11:27:38ID:???セッションを使わないってのには同意できない。
要は設計の問題だろ。
0856nobodyさん
2007/12/17(月) 11:27:53ID:???>>851じゃないけど、バグの原因になりやすそうなものを不用意に導入しないというのは当然。
データセンタの巨大さを考えれば、パフォーマンスの重要さは自明だとは思う。
ところで、PHPのセッション情報はファイルにシリアライズされて保存されるんでしょ。
明示的に廃棄しなかったら、ずっと残ってしまうの?誰か教えて。
0857nobodyさん
2007/12/17(月) 11:28:29ID:???0858nobodyさん
2007/12/17(月) 11:32:00ID:???書き込みのセッションIDと
IDが、かぶらないようにしないといけない
それだけで手間だよ!
0860nobodyさん
2007/12/17(月) 11:36:05ID:???セッションの変数名が同じじゃないように管理しないといけない
セッション使う数が増加するほど、変数の重複管理が面倒
チームで作業しにくくなる
0862nobodyさん
2007/12/17(月) 11:49:31ID:???1つのセッションに誇大なデータが入ってるということは
その誇大なデータを常に持ってページ移動するんだから
かなりメモリの無駄使いだね
0863nobodyさん
2007/12/17(月) 11:52:50ID:???0864856,859
2007/12/17(月) 11:57:48ID:8ZC8+hJ8バラバラにすればパフォーマンス上がるの?
確認はしてないけど、キャッシュファイルはセッション単位で作られるとすれば、$_SESSIONに対して
複数のキーを使用して分割しても、シリアライズに掛かる負荷は変わらない気がするんだけど。
0865nobodyさん
2007/12/17(月) 12:03:42ID:???キャッシュファイルはセッション単位でつくられるから
ばらばらにしないと
キャッシュファイル容量は大きくなるよ
セッションを取り出すときに大容量のキャッシュファイルを読むわけだから
その分、負荷がかかるよ
0866nobodyさん
2007/12/17(月) 12:06:31ID:???0867856,859
2007/12/17(月) 12:07:24ID:8ZC8+hJ8$_SESSION は、複数のキーを持っていても、それらのキー全体で一つのセッションでしょ?
仮に、キー毎にキャッシュファイルが作られているとしたら、ファイルI/Oの負荷の方が問題。
(多分、PHPはそんな実装されていないと思うが)
0868nobodyさん
2007/12/17(月) 12:07:31ID:???ログを1つのファイルで管理するより
日付順にわけて複数ファイルで管理した方が負荷が少ない
0869nobodyさん
2007/12/17(月) 12:11:11ID:???0870nobodyさん
2007/12/17(月) 12:11:37ID:???0871nobodyさん
2007/12/17(月) 12:17:29ID:???ひとつのファイルを開くのにプロセスが1つ必要
単純に考えても分割してある複数ファイルを開くことは
複数プロセスで処理させるマルチスレッドと同じことなので早い
0872nobodyさん
2007/12/17(月) 12:18:34ID:???0873856,859
2007/12/17(月) 12:20:08ID:8ZC8+hJ8セッションを分けるというのは、一つのセッションを複数のキー値で管理するという意味だよね?
マニュアルには、一つのファイルとして生成されるとあるから、多分、参照していないキーの値も
メモリ中に展開してると思うけど。まさかキー毎にファイルアクセスしないだろうし。
http://www.php.net/manual/ja/ref.session.php
>結びついている情報に関わらずセッション毎にひとつのファイルが生成されます。
0874nobodyさん
2007/12/17(月) 12:26:37ID:???0875nobodyさん
2007/12/17(月) 12:29:59ID:8ZC8+hJ8全然問題ない。実際、$_SESSIONに対しては $_SESSION['user'] 以外使用してない。
0877nobodyさん
2007/12/17(月) 12:38:44ID:8ZC8+hJ8そうです。
0878nobodyさん
2007/12/17(月) 13:05:21ID:???prefixつけたりモジュール名をつけたりとかさ。
それぞれが勝手に$_SESSIONに突っ込んでるなんて怖すぎ。
0879nobodyさん
2007/12/17(月) 13:19:10ID:8ZC8+hJ8コピペプログラマがセッションのキー名をそのままにしてしまうというのはありがち。
同じキー名が使用されているのが異常なのかどうかは、機械的には判断しにくいし。
0880nobodyさん
2007/12/17(月) 13:19:36ID:Z/SeTUpd<input type="file" name="up">
<input type="submit" value="送信"><br>
</form>
このコードを利用してファイルをアップロードした場合、
参照時に指定した絶対パスをサーバー側で取得、再表示することは可能でしょうか?
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?mode=viewtopic&topic=41339&forum=12&start=0
同じ目的のためにJavaを用いると解決出来るようなのですが、PHPではどのようにすれば可能か教えて下さい。
よろしくお願いします。
0881nobodyさん
2007/12/17(月) 13:31:54ID:???Javascript で document.フォーム名.up.value にアクセスすれば、パス名が取得できないかな?
onSubmit で hidden パラメータにでも設定して渡せば PHP側でも取得できる気がする。
できたら教えて。
0882nobodyさん
2007/12/17(月) 13:35:12ID:???0883nobodyさん
2007/12/17(月) 14:51:47ID:???0884nobodyさん
2007/12/17(月) 14:54:01ID:???臨機応変にいこうぜ
0885nobodyさん
2007/12/17(月) 14:58:04ID:vIqFWs9Lこの画像ファイルからスクリプトを取り除く、または無害化するときの処理で質問です。
1.画像をバイナリとして開く
↓
2.開いたら画像ファイルの中身をで<?phpと?>を置換して消しさる
↓
3.いじったこの画像ファイルを保存する
この流れ、またはこれだけで十分でしょうか?
0887nobodyさん
2007/12/17(月) 15:20:40ID:BlMrBpea時(22)と分(15)をそれぞれ別個に取得したいんですが、
どういう関数を使ったらいいんでしょうか? すみません、お願いします
0888nobodyさん
2007/12/17(月) 15:26:03ID:???echo $hoge[hours] , $hoge[minutes] , $hoge[seconds];
0889nobodyさん
2007/12/17(月) 15:37:40ID:???DB側で用意されてる関数を使う
explodeを使う
strtotimeとdateとかstrptimeを使う
0890889
2007/12/17(月) 15:39:24ID:???0891nobodyさん
2007/12/17(月) 15:43:46ID:8ZC8+hJ8これって本質的には PHPスクリプトを実行可能なディレクトリを制限すべきものだよね。
ただ設定方法は自分も知らない。知ってる人居たら教えて。
0892nobodyさん
2007/12/17(月) 15:52:29ID:???engine offでいける
http://jp.php.net/manual/ja/ref.apache.php#ini.engine
0894nobodyさん
2007/12/17(月) 15:56:23ID:8ZC8+hJ8ありがとう。こんなのがあったのか。
考えてみると、ファイル置くだけで実行できちゃうって怖いな。
0895nobodyさん
2007/12/17(月) 16:08:00ID:???でも外から実行できちゃうの?
0898nobodyさん
2007/12/17(月) 16:21:27ID:8ZC8+hJ8自分の認識が間違ってたっぽい。
>>885 の対応は、そのサーバ自身を守るのが目的じゃないんだな。なんか奥が深い。
http://d.hatena.ne.jp/teracc/20070715#1184515587
0899nobodyさん
2007/12/17(月) 17:34:31ID:???0900nobodyさん
2007/12/17(月) 19:24:12ID:???どういう状況だ??俺にはわからん。
0901nobodyさん
2007/12/17(月) 20:08:08ID:???0902nobodyさん
2007/12/17(月) 20:21:01ID:???0903898
2007/12/17(月) 20:33:33ID:???>>885が対応したいのは、自分が>>898で書いたようなことでは無いのかな。
どうして>>885は 画像ファイル中のphpタグを外したいんだろう。
0904nobodyさん
2007/12/17(月) 20:45:46ID:4quWNqrXこれを読んだのですが、イマイチ理解できません。
$obj1 = new Test_class;
$obj2 = $obj;
$obj3 =& $obj;
$obj4 = clone $obj;
これらの違いってなんですか?
内部的にどうなってるのか教えて下さい。
参考になるURLでもいいので、よろしくお願いします。
0905nobodyさん
2007/12/17(月) 20:55:21ID:???http://jp2.php.net/manual/ja/langref.php
0906nobodyさん
2007/12/17(月) 22:21:21ID:MrXYi2D3どのように記述したらよいでしょうか?
よろしくご教示のほど、お願いいたします。
HTTP/1.0 200 OK
Content-Type: text/plain
Content-Length: 3
<CR><LF>
OK<LF>
0909nobodyさん
2007/12/17(月) 22:28:13ID:???とりあえず、>>906 はマニュアルぐらいは読まないと。
http://jp.php.net/manual/ja/function.header.php
0910nobodyさん
2007/12/17(月) 22:41:51ID:???休み時間ヒマだったので、上司のパソコンに
「せんじつは」→「先曰は」
「けっさん」→「抉算」
「ねんどまつ」→「年度未」
「しゃちょう」→「杜長」
「おくえん」→「憶円」
などを辞書登録しておいた。
どうやらまだバレていないようだ。
0912906
2007/12/17(月) 23:04:47ID:MrXYi2D3HTTP/1.0 200 OK
Content-Type: text/plain
Content-Length: 3
上記の3行は、header()にて出力することはわかったのですが、
<CR><LF>
OK<LF>
上記の2行は、どのようにしたらよろしいでしょうか?
header()でよいのでしょうか?
よろしくご教示ください。
0914nobodyさん
2007/12/18(火) 00:14:17ID:???\r\n
OK\n
0915nobodyさん
2007/12/18(火) 05:04:43ID:UAiWi55+お答え頂けるのか、無理なのか、だけでもお答え頂けませんか?
他のQ&Aに質問しようにも出来ないのでお願いします!!
0916nobodyさん
2007/12/18(火) 05:12:16ID:???0917nobodyさん
2007/12/18(火) 05:41:31ID:UAiWi55+おいおい忘れたのかよ。24年前、渋谷のマクドナルドで生き別れた眞理子だよ。
0918nobodyさん
2007/12/18(火) 06:35:13ID:???0920880
2007/12/18(火) 08:32:35ID:31/C79f0遅くなりましたがありがとうございます。
JavaScriptについて明るくなく色々試し続けてるのですが、document.フォーム名.up.valueでパスを取得することは出来ました。
しかしJavaScript内で利用することは出来るみたいですが、Formとの関連付けができません。
そのプロパティをFormのOnSubmitに設定した場合、フォーム送信後PHP側で取得出来る関数はあるのでしょうか?
input hiddenのvalueに直接設定できればいいんですが、プロパティは無理なようですね。
>>880のリンク先にあるよう確認ページに用いたいので、何か取得方法があればよろしくお願いします。
0921nobodyさん
2007/12/18(火) 09:50:37ID:BXvnHaJkif(!$cnn){echo "接続に失敗しました";}
みたいなエラー時に吐き出すメッセージを書いてありますけど、
現実的にはそんなメッセージ出しても利用者としては困るだけだと思います
管理者としてはどう対応したらいいんですか?
エラーが発生したときに管理者あてに通知メールを出す処理とかが必要なのか?
と、思うんですが、、皆さんどうされてるんですか?
まともな商用サービスじゃそうなってるの?
(というか、同一ハード上のDBに接続できないなんてそんなに起こるものでしょうか?)
phpのテクニカルな質問じゃなくてすみません
0922nobodyさん
2007/12/18(火) 09:54:13ID:???適当に作ってみた。試したら、IE7/FireFox2 だと正常だけど、opera だとフルパスで取れない。
多分 operaでは無理。
<html><head><meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" /></head>
<body>
<?php print_r($_POST); ?><hr/>
<form enctype="multipart/form-data" method="post" action="test.php" onSubmit="this.path.value=this.up.value;return true;">
<input type="file" name="up"/>
<input type="hidden" name="path"/>
<input type="submit"/>
</form>
</body>
0923nobodyさん
2007/12/18(火) 09:59:06ID:BXvnHaJk以下みたいな感じじゃダメだったですか?
function getPath(){//パスを取得する処理
document.fm.hidinp.value=取得したパス;
}
<form><input type="hidden" value="javascript:getPath"></form>
?? アップロードする画像のPC上でのパスがほしいんですか?
0924nobodyさん
2007/12/18(火) 10:10:27ID:???話がそれるけど、value に javascriptって書けるの?
試したところ、FireFox2 では動作しないっぽい。
というか、これが可能だったらセキュリティホールになる気がする。
0925nobodyさん
2007/12/18(火) 10:13:22ID:???0926nobodyさん
2007/12/18(火) 10:17:47ID:???function getPath(){
document.fm.path.value=document.fm.image.value;
}
<input type="file" name="image" onchange="javascript:getPath()">
<input type="hidden" name="path">
これじゃだめだったかなぁ こんな感じでやってた気がする
質問の意味取り違えてたらすみません
>>924できないみたいですね 今試しました ウソついてすみませんw
0927nobodyさん
2007/12/18(火) 10:34:29ID:O4OXReDXまた、PDOの中にサニタイジングをするメソッドって無いのですか?
0928nobodyさん
2007/12/18(火) 10:46:00ID:???0929nobodyさん
2007/12/18(火) 10:56:41ID:???c/c++でつくられたExtensionだからじゃね?
レス数が900を超えています。1000を超えると表示できなくなるよ。