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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/03/15(水) 19:18:21ID:yiOrS10N
PHPに関するくだらねぇ質問用スレです。
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。

まず読め【PHP マニュアル】
http://www.php.net/manual/ja/

本スレ【PHP】質問スレッドpart33【php】
http://pc8.2ch.net/test/read.cgi/php/1140027592/

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

過去スレは>>2-3あたり
0002nobodyさん2006/03/15(水) 19:19:19ID:yiOrS10N
・過去スレ
【PHP】くだらねぇ質問はここに書き込みやがれ
http://pc5.2ch.net/test/read.cgi/php/1099322141/
【PHP】くだらねぇ質問はここに書き込みやがれpart2
http://pc5.2ch.net/test/read.cgi/php/1105218084/
【PHP】くだらねぇ質問はここに書き込みやがれpart3
http://pc5.2ch.net/test/read.cgi/php/1107780435/
【PHP】くだらねぇ質問はここに書き込みやがれpart4
http://pc8.2ch.net/test/read.cgi/php/1110697712/
【PHP】くだらねぇ質問はここに書き込みやがれpart5
http://pc8.2ch.net/test/read.cgi/php/1114787573/
【PHP】くだらねぇ質問はここに書き込みやがれpart6
http://pc8.2ch.net/test/read.cgi/php/1117945031/
【PHP】くだらねぇ質問はここに書き込みやがれpart7
http://pc8.2ch.net/test/read.cgi/php/1121100429/
【PHP】くだらねぇ質問はここに書き込みやがれpart8
http://pc8.2ch.net/test/read.cgi/php/1123431535/
【PHP】くだらねぇ質問はここに書き込みやがれpart9
http://pc8.2ch.net/test/read.cgi/php/1125716012/
【PHP】下らねぇ質問はここに書き込みやがれpart10
http://pc8.2ch.net/test/read.cgi/php/1127581425/
【PHP】下らねぇ質問はここに書き込みやがれpart11
http://pc8.2ch.net/test/read.cgi/php/1129582431/
【PHP】下らねぇ質問はここに書き込みやがれpart12
http://pc8.2ch.net/test/read.cgi/php/1130835396/
【PHP】下らねぇ質問はここに書き込みやがれpart13
http://pc8.2ch.net/test/read.cgi/php/1132921016/
【PHP】下らねぇ質問はここに書き込みやがれpart14
http://pc8.2ch.net/test/read.cgi/php/1134868212/
【PHP】下らねぇ質問はここに書き込みやがれpart15
http://pc8.2ch.net/test/read.cgi/php/1137236771/
0003nobodyさん2006/03/15(水) 19:19:50ID:yiOrS10N
・過去スレつづき
【PHP】下らねぇ質問はここに書き込みやがれpart16
http://pc8.2ch.net/test/read.cgi/php/1139146534/
0004nobodyさん2006/03/15(水) 19:20:36ID:yiOrS10N
・part17よりテンプレ化

extractは極力使わないほうがいいと思います。
例えば、

hoge.php?_SESSION[user_pw]=hogehoge

って形で送られてきたとします。これを

extract($_GET)

しちゃうと、$_SESSION['user_pw']の値が、
"hogehoge"に変更されてしまいます。

もし事前にユーザのパスワードを、$_SESSION['user_pw']に
保持してたとしたら、勝手に書き換えられてしまうことになります。

それを避けるために

extract($_GET, EXTR_SKIP)

ってやって上書きを避けたとしても、
このままでは変数の初期化を忘れる危険性があります。

extract($_GET, EXTR_PREFIX_ALL, "get")

と、接頭辞をつけるのが一番安全な気はしますが、
それなら最初から
$hoge = $_GET['hoge'];
ってやるのと手間が変わらないと思いますし、可読性も増します。
確かにextractするのは楽だと思いますけど。
0005nobodyさん2006/03/15(水) 19:33:25ID:bA7xDyGS
前スレ
【PHP】下らねぇ質問はここに書き込みやがれpart17
http://pc8.2ch.net/test/read.cgi/php/1140786348/
0006nobodyさん2006/03/15(水) 19:33:57ID:???
前スレ>>1000
やってみましたが21行目(書き換えたところ)がエラーで、うまくいきまsん。
0007nobodyさん2006/03/15(水) 19:47:55ID:???
前スレからヲタがどうのこうの言ってるやつがいるが、
プログラミングなんかしてるやつぁ全員ヲタだろう。
一般人の持ってない知識をたくさん持ってるんだから。
0008nobodyさん2006/03/15(水) 20:20:30ID:???
イメージでいってるんだろ。

   彡川川川三三三ミ〜  プウゥ〜ン
   川|川/  \|〜 ポワ〜ン    ________
  ‖|‖ ◎---◎|〜        /
  川川‖    3  ヽ〜      <
  川川   ∴)д(∴)〜       \________
  川川      〜 /〜 カタカタカタ
  川川‖    〜 /‖ _____
 川川川川___/‖  |  | ̄ ̄\ \
   /       \__|  |    | ̄ ̄|
  /  \○○命_     |  |    |__|
  | \      |つ   |__|__/ /
  / ドキュソ氏ね | ̄ ̄ ̄ ̄|  〔 ̄ ̄〕

こんなの。
まぁ厨全開だったし、正しい言葉を知らない春厨ってことでいいんじゃまいか?
0009nobodyさん2006/03/15(水) 20:42:43ID:???
PHPの勉強を始めるのにマンモス本が良いと
以前言われたのですが、それは
http://www.amazon.co.jp/exec/obidos/ASIN/4797313927/ref=pd_ecc_rvi_1/503-4727412-7642313
↑コレのことでしょうか?
0010nobodyさん2006/03/15(水) 20:44:47ID:???
>>9
その本はただでDLできます
http://www.sra.co.jp/people/t-ishii/php_new/php4_new.html
0011nobodyさん2006/03/15(水) 20:47:51ID:???
>>6
前1000じゃないけど

<?php
if ($_POST['mail'] != "") {
  echo $_POST['name'];
} else {
  echo "<A href=\"mailto:{$_POST['mail']}\">{$_POST['name']}</a>";
}
?>
エラーが出てそれを質問するなら該当行とエラー内容を書けよ
0012nobodyさん2006/03/15(水) 20:56:12ID:???
エスパーを召還しようとしてる人がいるのはこのスレですか?
0013nobodyさん2006/03/15(水) 21:02:43ID:???
>>11
それじゃ、アドレスがあったら名前だけで表示、になる
条件が逆でまいか?
0014nobodyさん2006/03/15(水) 21:33:57ID:???
アイドル達の乳って

すごく癒されるよね
http://www.h02.i-friends.st/index.php?in=idolga2
0015nobodyさん2006/03/15(水) 21:51:02ID:???
PHP4と5では基本的には相違ありませんか?
書籍を買うのですが、4と5両方あって迷っています。
個人的には4の方がベーシックなイメージなんですが…
0016nobodyさん2006/03/15(水) 22:17:26ID:???
>>15
相違ありまくりです。
0017nobodyさん2006/03/15(水) 22:21:07ID:+i4CweKd
クロスサイト・スクリプティングについて質問があります。

1. これは実際どんなことが危険なのでしょうか?
PHPを実行されてしまうのでしょうか。

2. POSTデータじゃなくても危険ですか(例えばクエリ情報でも)?
0018nobodyさん2006/03/15(水) 22:26:04ID:???
前スレ990はスルーかよw
0019152006/03/15(水) 22:32:11ID:???
>>16
4と5ではどちらが良いでしょうか?
4でも5でもサーバーは対応しいています。
0020nobodyさん2006/03/15(水) 23:05:23ID:???
>>17
http://www.google.com/search?num=50&hl=ja&ie=Shift_JIS&oe=Shift_JIS&q=%83N%83%8D%83X%83T%83C%83g%81E%83X%83N%83%8A%83v%83e%83B%83%93%83O
0021nobodyさん2006/03/15(水) 23:10:47ID:???
>>19
好み。

…と言いたいところだが、そんなの質問するレベルなら
おとなしく4使っとけ、って感じだ。
0022nobodyさん2006/03/15(水) 23:14:36ID:???
>>17
>1. これは実際どんなことが危険なのでしょうか?
そのリクエスト(本来なら正当な操作のため)を実施する権限のある人に、
悪意のあるリクエストを本人に気づかないようにさせてしまうこと。

>2. POSTデータじゃなくても危険ですか(例えばクエリ情報でも)?
POSTデータとクエリ情報を並べる意味が不明。

XSSでぐぐる。ついでにCSRFも調べる。
0023nobodyさん2006/03/15(水) 23:19:08ID:???
>>18
そんなタイミングで質問する方も悪い
0024nobodyさん2006/03/16(木) 00:00:30ID:???
1.記入画面でファイルを選択、各種入力をしてPOST

入力チェックをしてダメなら1に差し戻す。OKなら確認画面

2.確認画面、実際にここではファイルはまだアップしたくない。

ここでPOSTしてはじめて、入力内容をファイルorDBに書き込み。ファイルを保存

こんな処理をしたいんだけど、$_FILEって、POSTしちゃったらそれまでで値を保持出来ないんですね。
このあたり、どんな風に処理するのが普通なんでしょうか?
0025nobodyさん2006/03/16(木) 00:16:03ID:???
ミリ秒単位で計測したければ1000回以上の繰り返しでベンチすればいいじゃん。
php使ってる香具師ってスキル低いな。

$_FILEから値を取り出しておいて、$_FILE以外の変数で受け取れ(格納すれ)ばいいじゃん。
巨大ファイル除けと、ファイル名の文字コード処理も忘れずに。
0026nobodyさん2006/03/16(木) 00:21:39ID:???
>>24
別に何回アップさせても良いとはは思うけど、
なんだったら、
3(確認OK後)でアップさせれば良いんじゃねェの?
0027nobodyさん2006/03/16(木) 00:29:25ID:???
>>24
アップロード用HTML → PHPファイル(ここでアップされたファイルの内容をSESSIONにぶち込む&値のチェック) → 入力チェックエラーならunset。

これじゃ駄目?
0028nobodyさん2006/03/16(木) 02:35:01ID:???
検索すると分かるけど、type="file"フォームはJavaScriptやHTML内でファイルの指定ができないようになってる。
だから確認画面を表示させると、もう一度入力させなくちゃいけない。

自動で入力できると、system内の重要なファイルを勝手に盗まれる可能性を与えてしまうからね。
0029nobodyさん2006/03/16(木) 07:41:09ID:???
そういや type="file" に value属性しても無意味だな
0030nobodyさん2006/03/16(木) 08:26:36ID:???
>>24
2でアップして、キャンセルならunlink
でいいんじゃないかな。
0031nobodyさん2006/03/16(木) 10:26:58ID:???
>>26に一票
0032nobodyさん2006/03/16(木) 11:07:50ID:3GvLsZCl
PHP5でリファラーの日本語検索ワード解析に最適なものって
なにがあるかなー。
検索語にあわせたコンテンツを表示したいんだよね。
なるべく多くの検索エンジンに対応+追加もラクラクなやつがいいなー。
0033軟式PHP2006/03/16(木) 11:08:33ID:???
俺はtmpとfileディレクトリ作って、確認時はtmpにアップしてOKしたらfileにコピーしてるよ。
tmpの方はファイルアップ時間見てGCしてる。確認OKまでアップしたくないなら26が一番用途に適してると思うが。
0034nobodyさん2006/03/16(木) 11:46:23ID:???
定義済みのnull($var = null;)と未定義のnullを見分ける方法はありますか?
未定義のほうは、そのまま使おうとすると、noticeが出るんですけど。
0035nobodyさん2006/03/16(木) 12:04:36ID:???
>>34
if(isset($foo) and is_null($foo)){
null である場合の処理;
} else {
未定義である場合の処理;
}
0036352006/03/16(木) 12:07:37ID:???
書いてからこれじゃダメじゃんと気付いた
0037nobodyさん2006/03/16(木) 12:20:34ID:???
>>34
未定義の変数にNoticeが出るのはPHPの仕様だから
で何がしたい
エラー消したいならNotice表示しないように設定するか定義しとけばいいやん
0038nobodyさん2006/03/16(木) 12:32:57ID:???
トレンドマイクロのサポートメールで気付いたけど、
fileのあるフォームでJavaScriptで確認小窓をだして、それでOKを押したら小窓を閉じてPOST、てのもありだな。
0039nobodyさん2006/03/16(木) 12:38:13ID:???
>>37
エラーは関係なくて、純粋にこの違いを見分ける方法を知りたいんです。
■ このスレッドは過去ログ倉庫に格納されています