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

【PHP】下らねぇ質問はID出して書き込みやがれ 131

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2013/11/10(日) 15:46:09.34ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 130
http://kohada.2ch.net/test/read.cgi/php/1379566039/

◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0231nobodyさん2013/11/17(日) 09:37:26.57ID:???
誰も反応してくれないからって自演か
0232nobodyさん2013/11/17(日) 13:01:07.39ID:iaEwZT+S
>>229

あなたみたいに、無駄かもしれないけどとりあえずやってみようっていう人は素晴らしいと思う。
0233nobodyさん2013/11/17(日) 18:10:59.78ID:???
「使える」ってのがどういう意味なのかにもよるな

「動作する」って意味ならLinuxでもWindowsでも使える

「実用に耐える」って意味ならLinuxでもWindowsでも使えない
0234nobodyさん2013/11/17(日) 23:19:57.93ID:???
あるログインサイトが、Operaには対応していないため、
[ID]と[パスワード]の入力欄は表示されますが、肝心な[ログイン]ボタンが表示されないので、ログインできません
このOperaは、ガラケーのフルブラウザなんですが、どうにかしてログインさせる方法はありませんでしょうか?
[ID]と[パスワード]の入力欄は問題なく入力できます
宜しくお願いします。
0235nobodyさん2013/11/17(日) 23:33:39.91ID:???
EnterでFormにSubmit飛ばない?
0236nobodyさん2013/11/17(日) 23:35:12.68ID:???
つうかPHP関係あるのかよ
0237nobodyさん2013/11/18(月) 00:08:15.70ID:???
>>233
どこの言語に人?
0238nobodyさん2013/11/18(月) 00:15:21.89ID:???
>>237
どこの言語の人って言いたかったかw

PHPが使えないって言ってるやつは大体本人が使えないだけって決まってるからな
0239nobodyさん2013/11/18(月) 12:57:44.49ID:+1FXVq0T
PHPのオブジェクト指向における多態性(ポリモーフィズム)について質問です。
多態性(ポリモーフィズム)とは、端的に、どういうことを指すのでしょうか?
わかりやすい要点や具体例、使いどころなどをご教示ください。

なお、自分で調べて次のことを知りました。
ネットで調べると、複数のクラスのメソッドの命名を同一にして、場面により切り替えることとありました。
また、ある本では、オブジェクトの引数に他のオブジェクトを渡してそのメソッドを切り替えることとありました。(ストラトジーパターン)
Javaの本では、オーバーロードという仕組みで、引数の数の違いによりメソッドの振る舞いを変えることとありました。

ただ、調べても抽象的で理解が困難です。
ご回答よろしくお願いします。
0240nobodyさん2013/11/18(月) 14:04:36.24ID:???
>>239
いろんな言語にある ToString メンバがソレにあたるよ
0241nobodyさん2013/11/18(月) 14:05:27.46ID:JW8eEpfY
【OS名】xampp
【PHPのバージョン】5.4.7
【連携ソフトウェア】MySQL
【質問内容】
PHPでDBの内容を複数取得して表示する時、どの方法がいいんでしょうか?
PDO::query、PDOStatement::fetch+execute等色々あるようで、
検索しても色々な方法があってよくわからないです。。。
最新のものがいいとは思うのですが、最新のものもどれかよくわかりません。お助け下さい。
0242nobodyさん2013/11/18(月) 14:45:15.05ID:???
>>241
複数取得の意味が良くわかんない
どうゆうこと?
0243nobodyさん2013/11/18(月) 15:12:26.33ID:???
>>239
PHPのような動的型付け言語(インタープリター)では、基本的にオーバーロード(多重定義)という仕組みはない。
PHPの場合オーバーロードを実現するために、func_get_argsなんかを使って条件分岐でやる必要がある。
ようは引数に渡す型の種類や引数の数は違えど、処理内容が同じになる場合とかに使うわけだけど、
何が嬉しいかというと、メソッド名(関数名)を1つだけ覚えとけばいいとか、メソッド名を考えるのに困らないとか、
まぁそんなところ。(多重定義否定派やそれがよくないと感じる人もいる)
オーバーロードを使わない場合、>>240のあげるtoStringは、
intToString($int)とかboolToString($bool)とか冗長な名前でごった返すことになる。
ただPHPではfunc_get_argsでやると複雑になるので、そういう実装を取る人も多い。

http://php.net/manual/ja/language.oop5.overloading.php
ここで書かれているPHPのオーバーロードというのは、
注釈にも書いてる通り他の言語のオーバーロードとは意味あいが違うので注意。
0244nobodyさん2013/11/18(月) 15:18:20.79ID:???
何を取得しようとクエリ使っとけば無難
0245nobodyさん2013/11/18(月) 15:28:53.99ID:???
つか、オーバーロードじゃなくてオーバーライドだろ
0246nobodyさん2013/11/18(月) 15:37:21.09ID:???
>>239
> ネットで調べると、複数のクラスのメソッドの命名を同一にして、場面により切り替えることとありました。
> また、ある本では、オブジェクトの引数に他のオブジェクトを渡してそのメソッドを切り替えることとありました。(ストラトジーパターン)
これらがポリマーフィズム
> Javaの本では、オーバーロードという仕組みで、引数の数の違いによりメソッドの振る舞いを変えることとありました。
これはポリマーフィズムじゃない

多態性(ポリモーフィズム)は複数のクラスに同じメソッド名を設定することで
どのクラスが来ても同じメソッドの呼び方で実行させられってもの
大体は、インターフェースか継承で実現するもの

ポリマーフィズムに関してはJavaもPHPも差がない
0247nobodyさん2013/11/18(月) 15:51:04.64ID:???
Javaだと仮引数に型を明示しないといけないが、PHPは型を明示する必要がなく(しようと思えばできるが)、
その場合、全く関連性の無いオブジェクトでも同一メソッド名のメソッドがあればポリモーフィズムを実現できる。
というのが、JavaとPHPの違い。
0248nobodyさん2013/11/18(月) 16:06:16.24ID:???
え?オーバーライドもポリモーフィズム実現手段だけどオーバーロードもポリモーフィズム実現手段だろ
素人ばかりだな
0249nobodyさん2013/11/18(月) 16:07:41.17ID:???
オーバーライドっていうか継承ね
0250nobodyさん2013/11/18(月) 16:11:32.63ID:???
>>248
全ての言語仕様は実現手段だよな
0251nobodyさん2013/11/18(月) 16:13:50.49ID:???
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1430714984
この人の言ってることがわかれば参考になると思うよ
わからないからそんな質問してるんだろうけどね
オブジェクト指向の勉強なんてのはPHPでやるもんじゃないので
一回Javaコース入ったほうがいいと思う
0252nobodyさん2013/11/18(月) 16:32:37.32ID:???
>>250
0253nobodyさん2013/11/18(月) 16:38:37.75ID:???
オーバーロードがポリマーフィズム実現手段かは
SmallTalkのときから長らく議論されてる問題

僕はポリマーフィズム実現手段派
0254nobodyさん2013/11/18(月) 16:45:12.30ID:???
ポリマーフィズム → ポリモーフィズム
SmallTalk → Smalltalk
0255nobodyさん2013/11/18(月) 16:51:58.32ID:???
ポリマーってエチレン思い出すからやめてくれ
0256nobodyさん2013/11/18(月) 17:14:25.82ID:???
俺は破裏拳
02572392013/11/18(月) 17:27:24.47ID:hjGdNC9C
ご回答ありがとうございます。とても参考になりました。

>>243
多態性(ポリモーフィズム)のメリットを理解できました。
メソッド名の統一により楽できることが利点の一つなのですね。

>>246
抽象クラスで、メソッドの実装と名称を強制するのと同義と考えて大丈夫ですよね。

>>247
同一のメソッド名にすれば、その効果が、結局、ポリモーフィズムであるということですよね。

>>251
そのページの説明を読みましたが、解答がポリモーフィズムからずれて、オブジェクト指向全般の概要になっている気がします。
ただ、次の部分は、ポリモーフィズムの説明だと思いました。
もっとも、PHPのオーバーロードは、Javaとは別物のようです。

『他にも "オーバーロード" といった便利な機能があります。
引数の種類を変えれば、同名のメソッドを定義できるというものです。
いい例えが思いつきませんが、攻撃する際に "こうげき" のみでダメージ判定されるものと
"こうげき" と "まりょく" でダメージ判定される攻撃の二つがある場合、必要な引数が前者で1つ、後者で2つなのでどちらも記述できるといったカンジです。』

ありがとうございました。
0258nobodyさん2013/11/18(月) 19:39:12.50ID:???
>>241
外部からのデータを扱う場合、prepareメソッドを使う(無害化する機能有り)
外部からのデータを扱わない場合、queryメソッドを使う(無害化する機能無し)

分からなければ常にprepare使えばOK
0259nobodyさん2013/11/18(月) 21:31:57.27ID:???
order by ascかdescかを選択するときなんかの時はprepare使いづらいよね
0260nobodyさん2013/11/18(月) 21:44:21.81ID:???
>>259
え?
0261nobodyさん2013/11/18(月) 21:52:48.72ID:???
入力値でどっちにするか決まるけどbindできないじゃん
条件文使わないといけなくなるから使いづらい
0262nobodyさん2013/11/18(月) 21:53:41.23ID:HK3o2Mp0
>>261
それ何でやっても同じだろ
0263nobodyさん2013/11/18(月) 21:58:12.44ID:???
プリペアードステートメント使うことと
条件によってクエリが変わることは全く別物だぞ
0264nobodyさん2013/11/18(月) 22:00:52.85ID:???
はい

じゃやっぱクエリ2つ用意するのね
0265nobodyさん2013/11/18(月) 22:04:57.29ID:???
何のためにプリペアードステートメント使うか理解してから使おう、な
0266nobodyさん2013/11/18(月) 22:53:34.11ID:???
気持ちは分かる。
パラメータを無害化することしか知らない人には分からないだろうけど。
02672342013/11/18(月) 23:36:38.28ID:???
済みません、スレチでしたら誘導お願いできませんか?
0268nobodyさん2013/11/18(月) 23:39:32.18ID:???
>>267
そもそもなんでPHPスレだと思ったの?
0269nobodyさん2013/11/18(月) 23:53:32.87ID:???
>>234
それはそのサイトの管理者問い合わせしたほうがいいんじゃね?
連絡がつくなら修正してくれるんじゃね?
0270nobodyさん2013/11/19(火) 00:24:28.55ID:???
>>266
プリペアドステートメントの他の使い方って?
0271nobodyさん2013/11/19(火) 01:02:24.07ID:???
>>270
プリペアすることだろ
0272nobodyさん2013/11/19(火) 10:43:34.31ID:???
PHPがレベル低いって思われる最たるものが大手のFWでprepare使わずに、自前やquoteメソッドで対応してる例があることだ
0273nobodyさん2013/11/19(火) 10:54:41.60ID:???
そういうのをPHPガーって言うのが恥ずかしくない頭なんだろうな。
0274nobodyさん2013/11/19(火) 11:09:09.11ID:???
>>273
これに関しては仕方ないんじゃないか
FuelPHPとかあそこらへんも終わってたような
0275nobodyさん2013/11/19(火) 11:57:37.76ID:???
個別のソフトの問題や、使ってる人の問題を、言語自体の問題にすり替えて仕方ないと言ってるから、
あおりのレベルが低いんだよな。
0276nobodyさん2013/11/19(火) 12:16:10.14ID:???
使えないFWが多いのはちょっと問題だとは思うけどなー
使ってる人の問題だけど、そういうFWを推してる人はどうにかならんかな
0277nobodyさん2013/11/19(火) 12:17:54.87ID:???
下見て暮らしてる奴だからしょうがない
0278nobodyさん2013/11/19(火) 12:18:57.84ID:???
>>277は>>275に対してね
0279nobodyさん2013/11/19(火) 12:20:03.73ID:???
FWなら結局、CakePHPがいいよね。
0280nobodyさん2013/11/19(火) 12:28:14.36ID:???
よくない
0281nobodyさん2013/11/19(火) 12:30:37.60ID:???
CakePHPは日本と日本のオフショア先だけまだまだ盛んだな
0282nobodyさん2013/11/19(火) 12:39:02.32ID:???
fuelは出た手の頃、ormがPrepare使ってなくて使うのやめたんだが
今も治ってないの?
0283nobodyさん2013/11/19(火) 12:53:02.64ID:hKBGRur1
>>282
http://fuelphp.jp/docs/1.6/general/security.html#sql
0284nobodyさん2013/11/19(火) 13:15:30.92ID:???
>>283
ダメではないか
0285nobodyさん2013/11/19(火) 13:17:38.96ID:???
私JKで試したわけぢゃないけどーprepare+bindXxxって
query+quoteに比べて処理工数が多いだけに遅そうだしー
ただでさえ遅いFWの速度をあげるには仕方ないのでゎ
0286nobodyさん2013/11/19(火) 13:21:29.56ID:???
>>285
そんなんボトルネックにならん
0287nobodyさん2013/11/19(火) 13:23:36.67ID:???
ちっちゃいのが積み重なると大きくなるけどね
0288nobodyさん2013/11/19(火) 13:24:21.74ID:???
>>284
一昔前の文字コードやエスケープ処理での脆弱性を知らないんだろうし

シングルバイト系の人は知らない人多いし
0289nobodyさん2013/11/19(火) 13:37:06.01ID:hKBGRur1
>>284 >> 288
だめなの?
fuelphpてSQLインジェクション防げないんだ…
これはオワコンだわ
0290nobodyさん2013/11/19(火) 13:49:33.19ID:???
>>289
基本的には防げてるし、新たに発見された脆弱性も継続して修正されてる。
http://fuelphp.com/security-advisories

「プリペアードステートメントを使ってないからSQLインジェクションの脆弱性がある」というのはFUD。
とはいえ、プリペアードステートメント使えやとは思うけどね。
0291nobodyさん2013/11/19(火) 13:57:50.15ID:???
SQLインジェクションは、Prepare使わないと防げないわけではない。
そもそもでいえば、インジェクション防止の機構じゃねーし。
SQLの機構じゃなくて、ライブラリのラッパなので、仕様によっては
使っていても問題ないというわけではない。
0292nobodyさん2013/11/19(火) 13:58:01.02ID:???
>>285
クエリを実行するとき、データベースサーバでは、
1. 構文解析
2. 実行計画立案
3. クエリ実行
の処理が必要で、prepareでは1または1&2が行われる。(構文のみで実行計画を立てて固定する場合と、3で渡された
パラメータをもとに実行計画を立てる場合がある)
一方、exec queryでは毎回1〜3が行われる。
なので、同じ処理をパラメータを変えながら複数回実行する場合、プリペアードステートメントを使った方が速い場合がある。
0293nobodyさん2013/11/19(火) 14:08:35.69ID:???
レスありがとうございます
>>268
PHPが何なのか解らず、単にネットプログラムの質問スレで質問させて頂きました

>>269
大手企業サイトなので厳しいですね

ど素人ながら、ログインボタンのURLとかPCでログイン後のURLとか試したんですが、無理でした
0294nobodyさん2013/11/19(火) 14:12:15.36ID:???
>>293
> 大手企業サイトなので厳しいですね
大手こそ対応してくれそうなもんだが。
「○○のサイトって、ガラケーのフルブラウザだとログインもできない糞サイトだわ」
とかネットで言われると困るだろうし。
0295nobodyさん2013/11/19(火) 14:15:18.76ID:???
>>289
そこそこ有名なPHPのフレームワークにそんな基本的な脆弱性があるなら、大垣氏あたりが騒いでるよ。
0296nobodyさん2013/11/19(火) 14:48:00.13ID:???
>>295
もちろん知ってる。>>284と>>288を皮肉ったんだよ、
0297nobodyさん2013/11/19(火) 15:30:48.92ID:???
>>288の話ってPHPの脆弱性の話じゃないだろ、常識だろ?
0298nobodyさん2013/11/19(火) 15:39:16.53ID:???
http://gihyo.jp/dev/serial/01/php-security/0042
0299nobodyさん2013/11/19(火) 15:49:48.19ID:???
>>295
quoteだけでは防げない問題を見つけてつぶしていってくれてるんだよ。
0300nobodyさん2013/11/19(火) 15:55:45.62ID:???
http://www.tokumaru.org/d/20100701.html

昔のMySQLみたいなprepareがクライアントサイドで処理とかゴミな実装されてると
prepareのほうが脆弱性の巣窟になりかねない。

この場合、徳丸氏や大垣氏が騒ぐから問題はいつか解決される
0301nobodyさん2013/11/19(火) 16:05:50.48ID:???
今htmlフォームのradio,cheakbox,selectを使ってphpにポストしています
ポストしたデータ類はdbやcsvに書き込んだり保存したりするわけでもなく
switch($_POST["color"])
{
case "red":return imageColorAllocateAlpha($i,200,200,200,$alpha);break;
~~~~~~
default:return imagecolorallocate($i,255,255,255,$alpha);break;
}
で最終的に変な物が飛んできてもdefaultで処理されると思うんですがセキュリティ的にこれ$_POSTを正規表現やstrlenで弾くべきですか?
0302nobodyさん2013/11/19(火) 16:09:44.47ID:???
>>301
大丈夫
0303nobodyさん2013/11/19(火) 16:12:49.08ID:???
>>302
ありがとうございます。。
0304nobodyさん2013/11/19(火) 16:17:55.45ID:???
>>301
一応、問題ない。
ただ、不正な値をエラーとして弾くと、ログから変な操作をする奴を突き止めやすい。
0305nobodyさん2013/11/19(火) 17:47:12.58ID:???
自分はpost値をひと通りチェックして処理入る前に
想定外のものがあったらexitして真っ白にして不気味感を演出したり
headerでbad requestあたりを返すと思う
0306nobodyさん2013/11/19(火) 18:06:18.79ID:???
俺は大抵302でヤフーにお任せするわ
0307nobodyさん2013/11/19(火) 20:51:48.38ID:???
headerにbad request(400)なんてあるんだね。
余談だが、404にすべきページをエラーページに飛ばしてたら
ソフト404とかで注意されたよ。
0308nobodyさん2013/11/19(火) 20:54:19.28ID:???
>>307
ステータスを404にしないからだな
0309nobodyさん2013/11/19(火) 21:10:38.01ID:???
うわー自前で正規表現やらintvalだの使ってvalidationしてたけどfilterなんてあったのか
0310nobodyさん2013/11/19(火) 21:14:07.64ID:???
<?php
header("HTTP/1.0 404 Not Found");
header("Location: http://www.example.com/error/";);

こんな感じにしたら、なぜか、最初のヘッダーは無視されて、
結局、302でのリダイレクトになっちゃうから404を出すのは諦めたんだけど。
404出してから更にエラーページに遷移するのは無理っぽい。
fiddlerでステータスコードを確認した限りの話だが。
0311nobodyさん2013/11/19(火) 21:14:29.22ID:???
>>309
FilterとCtypeは重要
0312nobodyさん2013/11/19(火) 21:15:39.77ID:???
>>310
そりゃだめだろ
リダイレクト先で404出さないと
0313nobodyさん2013/11/19(火) 21:17:35.20ID:???
>>310
それおかしいだろ
リダイレクト先のそのURLで404を返すようにしなさいよ
0314nobodyさん2013/11/19(火) 21:18:06.73ID:???
リロードしてなかったのごめんね
03153102013/11/19(火) 21:37:04.47ID:XtFCM7Hl
まじですか・・・。
いや、エラーページは200を返す普通のページにしてたんだけど。
もちろん、存在しないページ用の404ページ(ヘッダー404)は別に用意してるんだけど。
つーか、むしろエラーページに飛ばさないで、素直に404ページに飛ばせばいいのか。
03163102013/11/19(火) 21:42:44.27ID:XtFCM7Hl
普通、エラーページも404ヘッダーを出すものなのですか?
0317nobodyさん2013/11/19(火) 21:49:59.72ID:???
エラーページで404が必要なときは404

厳密には200を返す必要があるときはない
0318nobodyさん2013/11/19(火) 21:54:36.62ID:???
404 FOT FOUNDとかechoしておいて200返してるのはかなりかっこ悪いとは思う
03193102013/11/19(火) 22:48:57.12ID:9JiWXD43
レスありがとうございます。
どうも頭が混乱してしまいました。
こうすれば大丈夫でしょうか?

POSTパラメーターが不正 → エラーページ
(200ステータス: echo ”リクエストが不正です”)

GETパラメーターが不正か不存在 → 404ページ
(404ステータス: echo ”ページが存在しません”)

GETパラメーターの場合に、エラーページに飛ばしていたのが、
ソフト404の原因だと思うのです。
0320nobodyさん2013/11/19(火) 23:00:34.26ID:???
>>319
RFC2616か、WikipediaのHTTPステータスコードでもいいから読んで
どういう時にどれを使えばいいか分かるから
0321nobodyさん2013/11/19(火) 23:04:02.90ID:???
パラメーターの問題じゃない
hoge.phpというファイルは存在しているんだから404を返すのは不自然
03223102013/11/19(火) 23:29:26.30ID:9JiWXD43
>>320
ご指摘に従い、HTTPステータスコード等について調べてみます。

>>321
mod_rewriteで、GETパラメーターを静的URLに書き換えてリンクとして活用しているのですが、
この場合もhoge.phpは存在するとみなされるのでしょうか?
(例)ttp:example.com/hoge/2013/11/29
9999とか不正な値がきたら、404に飛ばせばいいかなと思ったのですが。

わかりづらい説明ですみません。
0323nobodyさん2013/11/19(火) 23:44:52.18ID:???
mod_rewriteでやってもアプリケーション側で弾かない限り
実質的にはhoge.php?y=2013&m=11&d=29みたいな感じで見れると思うけど
hoge.phpが存在するというのを表向きに知られたくないのなら好きにすればいいんじゃね
目的とか実装によりけりだよそのへんは
0324nobodyさん2013/11/19(火) 23:51:53.10ID:???
>>322
ファイルがあろうがなかろうが、そのURLを存在させたくなければ404でよい

> (例)ttp:example.com/hoge/2013/11/29
> 9999とか不正な値がきたら、404に飛ばせばいいかなと思ったのですが。
404が適切。
0325nobodyさん2013/11/19(火) 23:59:01.39ID:???
ブログ記事を表示するページのurlが
example.com/post/ブログ記事のid
だとして、存在しないidだったときは404返してたんだけど間違ってる?
03263102013/11/20(水) 00:10:19.19ID:VLPy2k85
>>323 >>324
(例)ttp:example.com/hoge/2013/11/29
結論として、このurlの不正な値の場合に、200のエラーページに飛ばしていたのがソフト404の原因ですよね。

ご指摘くださったことを参考に、もう一度、ページの構成と遷移、
ステータスコードの関係について検証したいと思います。
ありがとうございました。
0327nobodyさん2013/11/20(水) 00:31:49.62ID:???
>>325
あってる
0328nobodyさん2013/11/20(水) 07:53:07.64ID:???
訳もわからず404や403を返しちゃうのは恥ずかしいよね。
自分で書いてるスクリプトなのにw
400と500のどちらかを返すだけの方が無難だよねw
0329nobodyさん2013/11/20(水) 08:01:27.90ID:???
>>328
君は存在してることが恥ずかしい
0330nobodyさん2013/11/20(水) 09:35:19.42ID:???
>>328
httpステータスコードでググってこい
0331nobodyさん2013/11/20(水) 11:28:24.00ID:35fCUlou
通常、ファイルが存在しない場合に備えて、.htaccessに次の様な設定をすると思います。
ErrorDocument 404 /error/404.php(404ヘッダーを出力)

ここから質問です。
次のURLのid値が不正な場合、404となるよう、同様に、/error/404.php に遷移できますか?
ttp://example.com/post/id

header('Location: ttp://example.com/error/404.php');
post.phpで出すこのヘッダーは302ですが、遷移すれば、結果として404扱いになるのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています