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

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

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

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

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

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

過去スレは>>2-3あたり
0002nobodyさん2006/04/09(日) 01:31:41ID:???
・過去スレ
【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/
0003nobodyさん2006/04/09(日) 01:32:15ID:???
【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/
【PHP】下らねぇ質問はここに書き込みやがれpart16
http://pc8.2ch.net/test/read.cgi/php/1139146534/
【PHP】下らねぇ質問はここに書き込みやがれpart18
http://pc8.2ch.net/test/read.cgi/php/1142417901/
0004nobodyさん2006/04/09(日) 01:32:54ID:???
・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/04/09(日) 01:35:05ID:???
乙
0006nobodyさん2006/04/09(日) 01:35:33ID:???
前スレ1000、舐めてるなw
0007nobodyさん2006/04/09(日) 01:36:36ID:???
SQLインジェクションとは

全く心配は要りません。
昔と違い今は法律ができたおかげで安心して脆弱なプログラムが使えるらしいです。
0008nobodyさん2006/04/09(日) 01:47:32ID:???
PHPプログラマの心得その1

PHPに求められるものは1に開発の速さ、2に開発コストの安さです。
決してエラーチェックやセキュリティ対策を頑張ってはいけません。
それはコードの冗長化や複雑化を招き、テスト期間の長期化も招きます。
そのような堅牢なプログラムはJavaやC♯といった高性能言語に任せればいいのです。
0009nobodyさん2006/04/09(日) 01:48:32ID:???
前スレからの続き。
漏れの会社はデフォではチェックしないが
別料金でSQLインジェクションなどの対策オプションを作って依頼者にはちゃんとやってる。
XSS対策: +1000円
SQLインジェクション対策: 1500円
CSRF対策: +4000円
CSSXSS対策: 30000円

CSSXSSはWebアプリではなくInternetExporerの脆弱性であり対応が困難なので高価になっている。
0010nobodyさん2006/04/09(日) 01:52:39ID:???
・・・それは安すぎじゃないか?
0011nobodyさん2006/04/09(日) 01:53:04ID:qYTyFCRs
>>9
SQLインジェクション対策って、具体的になにしてるの?
外部から渡される値をSQLに埋める時にエスケープしてればそもそも何の心配もいらないと思うんだけど、
わざわざオプションにするような“対策”ってどんなの?
0012nobodyさん2006/04/09(日) 01:55:00ID:???
>>11
むしろ「エスケープ外せば1000円値引きできますよ」とかいうオプションにしか見えないw
0013nobodyさん2006/04/09(日) 01:56:57ID:???
>>10
mysql_escape_stringやhtmlspecialcharsをかますかどうかなんて
開発コストからしたら500円もしないもののような気がするが。
0014nobodyさん2006/04/09(日) 02:03:26ID:???
>>13
それを噛ますかどうか交渉する時間があるなら、最初からやった方が無駄が無いよな。
というか、エスケープなんてのは空気のようなもんで、あって当たり前だと思ってたよ。
エスケープしてなかったら入力にかなりの制限が付くはずだけど、エスケープしない人たちはその辺どうしてるのかな?
0015nobodyさん2006/04/09(日) 02:09:25ID:???
一言「運用でカバー」
0016nobodyさん2006/04/09(日) 02:11:50ID:???
>>14
交渉自体は営業や担当窓口でやるものだから無駄とか関係ないんじゃ?
で、料金一覧表に最初から明記してあって、発注時に選べばいいだけになってる気がする。
0017nobodyさん2006/04/09(日) 02:17:46ID:???
>>16
>>9 のオプション全部入れたって4万もしないようなもんだろ?
それをわざわざオプションを設けて作り分けるってのも、そもそも無駄な気がするけどなぁ
あヤベ、うっかり対策入りにしちまった、外さないと・・・ なんてことになったら目も当てられない

しかし、わざわざする“対策”の内容は興味あるな。
まさか単なるエスケープの有無じゃないよな?
■ このスレッドは過去ログ倉庫に格納されています