[表示 : 全て 最新50 1-99 101- 201- 301- 2chのread.cgiへ]
Update time : 05/09 18:38 / Filesize : 104 KB / Number-of Response : 378
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:nobodyさん [2009/02/18(水) 21:09:16 ID:xNLzAD7T]
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

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

◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】

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

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

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


106 名前:nobodyさん mailto:sage [2009/02/19(木) 22:27:41 ID:???]
ない

107 名前:nobodyさん mailto:sage [2009/02/19(木) 22:42:26 ID:???]
DWの方が絶対良い
データベースとか楽に構築できるしね

108 名前:nobodyさん mailto:sage [2009/02/19(木) 22:56:12 ID:???]
>>105
スレチと思ったが開発環境スレが落ちてるな
Eclipseのいいところは、
クラスや関数のアウトライン参照、コンテキストに沿ったコード補完、リファクタリング(まだまだ貧弱だが)、
ブレークポイントやステップ実行、その際の変数参照、
プラグインを導入すればバージョン管理システムやDBMSともIDE上から作業できる
これらに興味がなければ無理して乗り換える必要もないかな

109 名前:nobodyさん mailto:sage [2009/02/19(木) 23:01:15 ID:???]
DWでもCVSやSVNと接続できるけどな。
PDT使ったら、DWには戻れない。

まぁ、でも、サイトにすぐアップできるとか、いいよね。
でも、コードカラーリング崩れない? > DW

110 名前:nobodyさん mailto:sage [2009/02/20(金) 00:57:08 ID:???]
DWはIDEじゃないから比較するものじゃないでしょ
使ったことないから知らないけどデバッガとかついてないでしょ?

111 名前:82 [2009/02/20(金) 01:21:04 ID:w405pQbs]
>>86
>>104
ありがとうございます。
あと、たとえば$data[2]はたとえば3645.5218のような数字なのですが
桁を変えて36.455218にしたうえで10進から60進にしたいんです。
度 = int(36.455218) = 36
分 = int(0.455218 * 60) = int(27.31308) = 27
秒 = int(0.31308 * 60 *1000) / 1000 = 18.7848
= 36°27′18.7848″といったような感じにしたいんです。

112 名前:nobodyさん [2009/02/20(金) 01:37:44 ID:r16tK4jF]
Smartyの質問なのですが、、PHPと関連するので質問させていただきます。

テンプレートを表示する時
$smarty->display("index.html");

で表示できますが、display()の中を変数にする事って出来ないでしょうか?
それが出来たら、DBに保存しているHTMLをSmartyに反映させることが
出来るのですが、$smarty->display($html);とする方法では無理でした。

113 名前:nobodyさん mailto:sage [2009/02/20(金) 02:41:12 ID:???]
demiru

114 名前:nobodyさん [2009/02/20(金) 05:22:05 ID:nLAMcH0P]
PHPのメモリって勝手に開放されるのですか?
デストラクタでunsetとかしないでも大丈夫ですか?



115 名前:nobodyさん mailto:sage [2009/02/20(金) 07:29:32 ID:???]
自動的に開放する。
無闇にunsetすると非効率になることが多いらしい
が、処理時間の長いジョブとかの場合は開放した方がいい場合もある

116 名前:nobodyさん mailto:sage [2009/02/20(金) 08:38:58 ID:???]
>>112
www.smarty.net/manual/ja/template.resources.php#templates.from.elsewhere
これでできないか?

117 名前:nobodyさん mailto:sage [2009/02/20(金) 09:18:57 ID:???]
はい?
$template = 'index.html';
$smarty->display($template);
で普通にできるのでは?


118 名前:nobodyさん [2009/02/20(金) 10:16:20 ID:P+ZCl9Zr]
昨日今日からの初心者です。
<html><body>
<?php
if(!適用条件)
{ echo "適用外"; exit;}
// 適用条件内
...
?>
</body></html>
と書くと適用条件外の場合"</body></html>"が出力しないようなのですが仕様なのでしょうか?
その場合回避策としてタグの終りにジャンプとか抜けるみたなことは出来るのでしょうか?
(適用条件内を1スコープにして括弧で括る、は出来ればしたくないので…)

119 名前:nobodyさん mailto:sage [2009/02/20(金) 10:29:22 ID:???]
>>118
exitじゃなくて、goto ラベル;にしたらいいよ

120 名前:nobodyさん mailto:sage [2009/02/20(金) 10:39:43 ID:???]
>>119
5.3以降でしか使えない変な物を教えるな

>>118
条件外の時はexitしてるからそれ以降が実行されないので
それ以降の</body></html>が出力されない
そういう風に書くなら

if (適用条件) {
 条件内処理
}
else {
 条件外処理
}
にすればいい
あと、こっちのスレのがオススメ
pc11.2ch.net/test/read.cgi/php/1227303362/

121 名前:nobodyさん mailto:sage [2009/02/20(金) 10:45:06 ID:???]
条件内処理をブロックに入れたくないって言ってるんだから、>>120は無理でしょ。

せめて、
{ echo "適用外</body></html> "; exit;}
だな。

122 名前:nobodyさん mailto:sage [2009/02/20(金) 11:05:37 ID:???]
低級者向け:関数化すれ
中級者向け:テンプレエンジン使え
上級者向け:フレームワーク使え

123 名前:nobodyさん mailto:sage [2009/02/20(金) 11:05:49 ID:???]
いや、なんでそこでexit使うか分からんな。
>>118はexit使わなくても問題ないし。

124 名前:nobodyさん [2009/02/20(金) 11:06:54 ID:/aL6hv6c]
>>122
逆じゃない?PHPで自分で作れないからフレームワーク使うんだろ?



125 名前:nobodyさん mailto:sage [2009/02/20(金) 11:06:57 ID:???]
exitしないと、適用外のときでも、適用内の出力がまざっちまうじゃねぇか

126 名前:nobodyさん mailto:sage [2009/02/20(金) 11:08:20 ID:???]
まず、初心者がくくりたくないとかいうわがままを許していいのかってことじゃねぇか。

127 名前:nobodyさん mailto:sage [2009/02/20(金) 11:10:01 ID:???]
>>125
適用外のときは別途処理すればよくね?

128 名前:nobodyさん mailto:sage [2009/02/20(金) 11:10:28 ID:???]
>>118
なぜ「出来ればしたくない」のか聞かせてくれ。

129 名前:nobodyさん mailto:sage [2009/02/20(金) 11:18:07 ID:???]
>>127
詳しく

130 名前:nobodyさん [2009/02/20(金) 11:23:24 ID:P+ZCl9Zr]
回答・説明ありがとうございます。
取りあえず出来る書き方で書いて、天に祈りが届いたと思ってPHP5.3を待つ事にします。

>>128
Cで例外処理の場合はgoto文を使いたい(条件文が増えるとネストが深くなったりコードが重複したりするので)
みたいなものです、プログラム思想みたいなものなので余りこれ以上の突っ込みはご勘弁を…

131 名前:nobodyさん mailto:sage [2009/02/20(金) 11:25:54 ID:???]
gotoの方がよっぽど悪質だよww

132 名前:nobodyさん mailto:sage [2009/02/20(金) 11:34:03 ID:???]
try-catch

133 名前:nobodyさん mailto:sage [2009/02/20(金) 11:39:58 ID:???]
こんなところでtry-catchを持ち出そうとするからPHPerは糞だって言われるんだ

134 名前:nobodyさん mailto:sage [2009/02/20(金) 11:41:19 ID:???]
>>133
すまん
例外処理と聞いて反射的に貼り付けただけなんだ



135 名前:nobodyさん mailto:sage [2009/02/20(金) 11:56:07 ID:???]
>>130
それは貴方のロジックとかが悪いだけ

136 名前:nobodyさん mailto:sage [2009/02/20(金) 11:56:21 ID:???]
gotoが許されるのはHSPだけです

137 名前:nobodyさん mailto:sage [2009/02/20(金) 11:59:50 ID:???]
finallyを実装しなかった罪は思い

138 名前:nobodyさん mailto:sage [2009/02/20(金) 12:55:37 ID:???]
設計が悪いのにプログラム思想がうんぬん言われてもな…w
困るんだわ…w

139 名前:nobodyさん mailto:sage [2009/02/20(金) 13:12:10 ID:???]
せっ・・・けい・・・?

140 名前:nobodyさん mailto:sega [2009/02/20(金) 15:34:00 ID:???]
PHPのデバッガで、gdbのようなものはありますか?
主にコマンドラインプログラムが対象です

attachの機能(すでに起動しているものを乗っ取れる)が
必須なんですが

141 名前:nobodyさん [2009/02/20(金) 16:27:31 ID:DGCUxhS+]
組込Linux C/C++ なドライバ屋(PHP歴は5日w)が質問させていただきます。
// 赤の他人の尻拭い中

識者いらっしゃいましたら助けてください。
よろしくお願いします。

【OS名】Linuxカーネル 2.6.18-92 (RHEL5.3)
【PHPのバージョン】php5.1.6
【連携ソフトウェア】Akelos
【質問内容】
XHTML 1.0 / UTF-8 な日本語ページ(タイトルも日本語)を出力する view があります。
IEやFireFoxなどのブラウザ、docomo iモードでは期待する内容が表示されます。
が、ezwebで文字化けします。

UTF-8が問題かと思ったのですが、同ページをPCブラウザ上で表示させ、
ソースを xx.html として保存。
このxx.html をezwebで表示すると、文字化けせずに期待通りの表示になります。

ezweb のブラウザ側の問題の可能性もあるかもしれませんが、回避策など
ありましたら、教えてください。

--- xx.html の内容
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<title>たいとる</title>
// 以下略


142 名前:nobodyさん mailto:sage [2009/02/20(金) 16:33:21 ID:???]
どうしてもUTF8でやりたいのなら
ezwebだけ出力するときだけsjisに変換したら?

143 名前:nobodyさん mailto:sage [2009/02/20(金) 16:35:22 ID:???]
>>141
www.au.kddi.com/ezfactory/tec/spec/4_2.html
> また、EZwebでサポートする文字コードはShift-JISです。

144 名前:141 mailto:sage [2009/02/20(金) 16:44:08 ID:???]
>>142,143
返答ありがとうございます。
Shift-JISに変換して出力するようにします。

ですが、.html拡張子のUTF-8なページは文字化けしないのが疑問のままなのは
ちょっとモヤモヤが残ります。
識者いらっしゃいましたら、引き続きよろしくお願いします。



145 名前:nobodyさん mailto:sage [2009/02/20(金) 18:39:08 ID:???]
>>144
header送信はどうやってる?

146 名前:nobodyさん [2009/02/20(金) 18:58:54 ID:QkuM0xlT]
PHPの中から、apache上で走っているのか
バッチファイル的に使われているのか(シェル上で、php hoge.php)を
判断する方法を教えて下さい

147 名前:nobodyさん mailto:sage [2009/02/20(金) 19:04:26 ID:???]
>>146
phpinfo保存してdiffして好きなのを使うとか

148 名前:nobodyさん mailto:sage [2009/02/20(金) 19:12:40 ID:???]
>>147
ありがとうございます
それをヒントにして$_SERVERを比較したところ
SHELLというキーが、シェルから呼んだ場合には設定されていました

149 名前:nobodyさん mailto:sage [2009/02/20(金) 19:17:35 ID:???]
jp.php.net/manual/ja/function.php-sapi-name.php
もろそういう用途の関数がありますよ

150 名前:nobodyさん mailto:sage [2009/02/20(金) 20:55:16 ID:???]
php_sapi_name()ならpearのgo-pearを参考にしてもいいかも。
pear.php.net/go-pear

151 名前:nobodyさん mailto:sage [2009/02/20(金) 21:07:24 ID:???]
めちゃめちゃPHP覚えてきた
自分の才能がコワイお(´・ω・‘)

152 名前:nobodyさん mailto:sage [2009/02/20(金) 21:09:59 ID:???]
ほう,じゃ最近学んだこと何か語ってみてくれ

153 名前:nobodyさん [2009/02/20(金) 21:34:19 ID:JGeRmwBm]
URLのうち、ドメイン直下の最上位ディレクトリを抽出するにはどうしたらいいですか?
str系の関数組み合わせて3個目の/が何文字目で4個目が何文字目で…
ってやれば出来るでしょうが、非効率というかアホっぽいので、正規表現でバキっと出す方法を
教えてください
よろしく御願いします

154 名前:nobodyさん mailto:sage [2009/02/20(金) 21:37:09 ID:???]
>>153
scandirが使えるバージョンならドメイン直下のディレクトリ名を取得すればおk
使えないならopendirとreaddirでググレカス



155 名前:nobodyさん mailto:sage [2009/02/20(金) 21:44:06 ID:???]
>>141
GWの文字コード変換対象はtext/〜から始まるコンテンツのみ。
SSLも変換噛まさないけ

156 名前:nobodyさん mailto:sage [2009/02/20(金) 22:16:34 ID:???]
>>152
文字コードがshift-jis、Euc-jpだとSQLインジェクションされる
かといってutf-8は安全?というとそうでもない。

157 名前:nobodyさん mailto:sage [2009/02/20(金) 22:24:54 ID:???]
php関係ねー
氏ねや

158 名前:nobodyさん mailto:sage [2009/02/20(金) 22:27:27 ID:???]
そ・・・そんなん 必死に覚えてきたお(´・ω・‘)

159 名前:nobodyさん mailto:sage [2009/02/20(金) 22:37:43 ID:???]
>>158
世の中にはいくらやっても報われないことが二つある
ひとつは賽の河原の石積み
もうひとつはお前のPHPの勉強だ

160 名前:nobodyさん [2009/02/20(金) 23:27:51 ID:r16tK4jF]
SQLインジェクション対策は、
基本的に外部入力値をhtmlspecialcharsしていれば良い

って考えは間違い?

161 名前:nobodyさん mailto:sage [2009/02/20(金) 23:31:06 ID:???]
>>160
大間違い


162 名前:nobodyさん mailto:sage [2009/02/20(金) 23:34:48 ID:???]
htmlspecialcharsで防げるだろ
>>161はhtmlspecialcharsを使用しても抜けられる穴について説明よろ

163 名前:nobodyさん mailto:sage [2009/02/20(金) 23:39:40 ID:???]
>>160
htmlspecialchars(,ENT_QUOTES)で防げるのは「Script Injection」。
Javascript埋め込みとかそんなヤツ。

「SQLインジェクション」は別問題。
「PHPサイバーテロの技法」を買って読んどけ。

164 名前:nobodyさん mailto:sage [2009/02/20(金) 23:47:18 ID:???]
>>162
LIKEのとこに%とか*突っ込んでみるとか。
select * from table where name like '%' ;




165 名前:nobodyさん mailto:sage [2009/02/21(土) 00:28:20 ID:???]
>112
$str = '<font size="10">でっかい</font>';
$smarty->assign('tag', $str);
$smarty->display('hoge.tpl');

---hoge.tpl---
<body>
{$tag}
</body>

とかいう意味だったら笑う。

>162
>164の変数名のところに「' OR 1=1」と入れるとレコードが全件変数に入り個人情報大暴露大会。
「'; DROP なんたらかんたら」と書くとテーブルがぶっ飛ぶ。レプリケーション先も全部死ぬからサービス復旧不能で店じまい、会社は倒産。
MySQLの設定が甘いと、管理テーブルを書き換えられてroot奪われるとかもあるな。

166 名前:nobodyさん mailto:sage [2009/02/21(土) 00:32:30 ID:???]
あーっと、ENT_QUOTESだったか。死んでくる。

167 名前:nobodyさん mailto:sage [2009/02/21(土) 00:38:03 ID:???]
>>160
addslashes

168 名前:nobodyさん mailto:sage [2009/02/21(土) 00:44:54 ID:???]
>>167
addslashesも大間違い

169 名前:nobodyさん mailto:sage [2009/02/21(土) 01:19:11 ID:???]
mysql_escape_string

170 名前:nobodyさん mailto:sage [2009/02/21(土) 01:34:53 ID:???]
>>169
それも%とかをエスケープできないので間違い
mysql_real_escape_string

171 名前:nobodyさん mailto:sage [2009/02/21(土) 01:47:18 ID:???]
可能な場合常にプレースホルダを使う、でFAだろ
クエリの9割以上はカバーできるはずだ

172 名前:nobodyさん mailto:sage [2009/02/21(土) 02:05:10 ID:???]
めんどいから ' と ; は削っちゃえ

173 名前:nobodyさん mailto:sage [2009/02/21(土) 02:17:42 ID:???]
mysql_escape_stringって%エスケープしないのか
ありえねーな
likeを使ってなかったらだいじょうぶ?

174 名前:nobodyさん [2009/02/21(土) 02:35:53 ID:60WB0UqA]
addslashesじゃだめなの?
ある本にmysql_escape_stringより良いって書いてあったのに、早いって。。
純朴な素人をバカにしやがって



175 名前:nobodyさん mailto:sage [2009/02/21(土) 02:37:42 ID:???]
お前は何を言ってるんだ
本にWebに書いてあることを鵜呑みにすることが「勉強」じゃないぞ?

176 名前:nobodyさん mailto:sage [2009/02/21(土) 02:44:35 ID:???]
何ぬかしてる、mysql_real_escape_string() は非推奨の mysql_escape_string() と機能は同じ
だいたいこの関数はSQLステートメントとして成立する文字列リテラルを作るためのものだ
%を勝手に殺したりする用途に使うもんじゃない

177 名前:nobodyさん mailto:sage [2009/02/21(土) 02:45:52 ID:???]
%殺されちゃたまらないな。しかも%なんてSQLインジェクションには使えないだろ
エスケープする必要ない

178 名前:nobodyさん mailto:sage [2009/02/21(土) 02:46:31 ID:???]
PDOで解決

179 名前:176 mailto:sage [2009/02/21(土) 02:46:46 ID:???]
悪いアンカーが抜けていた
>>176>>170,173へのレス

180 名前:nobodyさん [2009/02/21(土) 02:49:17 ID:RWcdEiGu]
phpでhtmlのinputのtype="text"でreadonly='true'して
printしているのですが、これってもしreadonlyに対応していない
ブラウザとかだったら変更可能ですかね?ブラウザとか関係なく、
もし確実じゃなければ、それに代わる確実な方法を実現したいのですが
何か方法があれば教えてください。

181 名前:nobodyさん mailto:sage [2009/02/21(土) 02:58:27 ID:???]
>>180
変更されてはならないものはクライアントに持たせない
セッション変数なりストレージなりに保持しておく

182 名前:nobodyさん mailto:sage [2009/02/21(土) 05:32:46 ID:???]
>>118
phpにおけるexitは強制終了。
それに続くタグとかは、一切実行も表示もされない。

183 名前:nobodyさん mailto:sage [2009/02/21(土) 12:05:11 ID:???]
>180
そもそも、ブラウザなんぞ無くともデータは送受信可能だ。
HTTPなんて、テキストデータを送受信してるだけだからな。
クライアントに渡した全ての値は改竄され得るし、クライアントから送信される値は全て信用ならない。
input type="select"の中に、選択肢にない文字列が入ってくるなんてのはよくある事だ。

184 名前:nobodyさん mailto:sage [2009/02/21(土) 12:05:51 ID:???]
<select><option>だったか。まあいいや。



185 名前:nobodyさん mailto:sage [2009/02/21(土) 13:04:41 ID:???]
ちょっと気になったんだが、>>165が書いている方法も

SELECT * FROM test WHERE name='".htmlspecialchars($_POST["name"],ENTQUOTES)."'

としていれば大丈夫なんじゃないのか?
「%」の件もlike使わなければいいわけだし。
like使う用途って「検索」が多いだろうから、表示されても良いデータだろうし。

186 名前:nobodyさん mailto:sage [2009/02/21(土) 13:10:29 ID:???]
>>183
>選択肢にない文字列が入ってくる

てっきりvalueにテキストを挿入してるかと思ったwwww

187 名前:nobodyさん mailto:sage [2009/02/21(土) 13:10:58 ID:???]
>>185
そのセンス、感服するわ。
htmlspecialcharsで変換される文字君たちは検索にかからなくなるわけだが、
SQLにlikeを使わなきゃいいって制約を追加するわけだが、

188 名前:nobodyさん mailto:sage [2009/02/21(土) 13:14:04 ID:???]
なんでそこまでしてhtmlspecialcharsに拘るのかが理解できない。
mysqlなら何も考えずmysql_real_excape_stringが一番安全確実簡単だろ。
htmlspecialchars使うと、<や>、&のような文字が全部変換されてDBに入力されてしまう。
検索なら対象がうまくヒットしなくなるし、画面表示文字列だとエスケープ/アンエスケープのタイミングを考慮しないといけない。
DBからCSVに書き出したくなったらどう変換すればいいんだ?JavaScriptに渡す時は?

mlsql_real以下略なら、入力データはそのままの形でDBに格納されるし、そのままの形で検索される。この上なく分かりやすい。

189 名前:nobodyさん mailto:sage [2009/02/21(土) 13:16:13 ID:???]
>>187
うん?クラスの処理とかすべて書けば良かったか?
単純かしたことに「こいつ馬鹿だwww」と感服したのかもしれないが。

そもそも、出力する時もフィールド指定するだろ。
だから、like使ってもパスワードが漏れないよな。
全件出力されるとか書いてたけど、普通limit指定するし。

>htmlspecialcharsで変換される文字君たちは検索にかからなくなるわけだが
かからなくていいんじゃないか?検索させない場合は、変換入れるだろうが。

190 名前:nobodyさん mailto:sage [2009/02/21(土) 13:16:27 ID:???]
未だにDBで何をエスケープしておけばいいかわからないやつ多いよな。

基本的には「'」と「\」だけでいいんだぜ

191 名前:nobodyさん mailto:sage [2009/02/21(土) 13:19:03 ID:???]
>>188
「そのままの形で格納されると困る」んだよ。

お前、WEBアプリケーション作ったことあるか?
または、会員制サイト作って誰かに利用させたことあるか?

その際、htmlspecialcharsで変換されない文字があるとどうなるかわかるだろ。
それに、htmlspecialcharsだけでも、CSV出力やJavascript(AJAX)の利用は出来る。

192 名前:nobodyさん mailto:sage [2009/02/21(土) 13:25:16 ID:???]
>>189
おいおい、
記事中から、bread&butterって検索したくてもできないじゃないか。

193 名前:nobodyさん mailto:sage [2009/02/21(土) 13:26:33 ID:???]
zend server
人柱だれかよろ
ttp://sourceforge.jp/magazine/09/02/19/2316221

194 名前:nobodyさん mailto:sage [2009/02/21(土) 13:27:24 ID:???]
>>191が作ったWebアプリケーションは穴だらけ、バグだらけだろうなぁ。
ご愁傷様



195 名前:nobodyさん mailto:sage [2009/02/21(土) 13:27:36 ID:???]
Zendワロタwwwwwwwww
よく開発続けられるよなwwwww不人気なのにwwwwwww

196 名前:nobodyさん mailto:sage [2009/02/21(土) 13:29:18 ID:???]
htmlspecialcharsをDBアクセスで使用するバカ
後輩とかに指摘されて恥かくまでずっとやってろ

197 名前:nobodyさん mailto:sage [2009/02/21(土) 13:30:31 ID:???]
俺はforeachのことを「フォレーチ」って読んでた
先輩は「フォー・イーチ」って読んでた

別に恥ずかしくないんだからねっ!これからも「フォレーチ」って読むわ

198 名前:nobodyさん mailto:sage [2009/02/21(土) 13:32:44 ID:???]
>>191
なぁ、ちょっと確認していいか?
入力->フィルター->エスケープ->DB -> 取り出し-> フィルター -> html適合化 -> 表示
おまえこの流れは理解してるってことでいいんだよな?



199 名前:nobodyさん mailto:sage [2009/02/21(土) 13:34:46 ID:???]
xamppに代わる開発環境になるかな?

200 名前:nobodyさん mailto:sage [2009/02/21(土) 13:35:45 ID:???]
>>199
ネーミングが悪かったかもしれない
XAMPPは初心者もなじみやすい名前だから、暫くはそっちが流行ると思うな

201 名前:nobodyさん mailto:sage [2009/02/21(土) 13:36:24 ID:???]
>191
会員制の課金の発生する、バックエンドでCSVとTSVでレポートを吐くwebアプリを仕事で書いてるが、
・DBに渡す際にPDOのプレースホルダで渡す、あるいはmysql_real_escape_stringなどでクエリを構成する
・画面表示する際にはビューに渡す時点で原則全ての値をhtmlspecialcharsでエスケープ
 (タグを書き出さないといけない箇所や、HTML以外の箇所などの例外は慎重に検討したうえでエスケープせず渡す)
・DBには、例えばフォームからの入力なら入力値がそのままの形で格納される
このルールが一番分かりやすいし、安全だし、汎用性がある。

出力部で「この文字列はDBから来た値だからhtmlspecialcharsは不要、こっちはクライアントからの入力値だから必須…」とかやってると、絶対変換ミスが発生する。
何も考えずルールにさえ従ってさえいれば脆弱性が発生しない事をシステムが担保してくれる形にするのが一番安全なんだよ。
俺はMySQLでの危険文字を全て列挙すら出来ない低能だし、職場には俺以下の屑が溢れているが、このルールに従う限り絶対安全だとシステム側で保障できるコードを組める。

202 名前:nobodyさん mailto:sage [2009/02/21(土) 13:41:28 ID:???]
>>198
してるわけないだろ。関数の使いどころすらわかってないんだから

203 名前:nobodyさん mailto:sage [2009/02/21(土) 13:41:54 ID:???]
>>201
それでOKなんだけど、>>191はフィルターやバリデーターとDB登録時のエスケープを混同してるらしいからw

204 名前:nobodyさん mailto:sage [2009/02/21(土) 14:03:40 ID:???]

俺が使ってるサービスで
↓を混同してるプログラマがコード書いてませんように・・・

・DB入力時(SQLインジェクション)
・画面出力時(Scriptインジェクション)




205 名前:nobodyさん mailto:sage [2009/02/21(土) 14:14:16 ID:???]
>>193
雑談はネタ不足気味な雑談スレで。
pc11.2ch.net/test/read.cgi/php/1200314111/


206 名前:nobodyさん mailto:sage [2009/02/21(土) 14:20:49 ID:???]
>>198
ああ。実際に>>201が書いているようなことはしているよ。
例として>>185みたいな簡単な1行ソース出したから
「こいつ何も知らない馬鹿だなwww」と煽りたい気持ちも分かる。
だが、1から10までここに書けないだろ。

入力時、出力時にそれぞれ適切に変換するのは、初歩中の初歩だと思う。
201がああだこうだ書いてるが、俺は自作クラス作ってDB処理をしているから
変換ミスがどうのこうのはない。

ま、そういう自分の事はどうでも良くて、>>185の意見を出しただけなんだが
なぜか俺自身を煽りたい馬鹿がいるな。そんな事しても無駄だろ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<104KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef