のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,683,033人
昨日:no data人
今日:
最近の注目
人気の最安値情報

私的良スレ書庫

不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

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

php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニュー
スレッド評価: スレッド評価について
みんなの評価 :
タグ : - shutdown + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
レスフィルター : (試験中)
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
202 : nobodyさん - 2010/06/05(土) 18:29:58 ID:??? (-1,-29,-9)
$Col0と$Col5がないんじゃ?
203 : nobodyさん - 2010/06/05(土) 18:30:23 ID:??? (+33,+10,-4)
古くさいコードだな
204 : nobodyさん - 2010/06/05(土) 18:35:44 ID:??? (+52,+29,+0)
某所ってどこなんだよ
209 : nobodyさん - 2010/06/05(土) 20:09:02 ID:IfiEpjR7 (-20,+29,-18)
「SQL対策」は「SQLインジェクション対策」の誤りでした。すみません。
210 : nobodyさん - 2010/06/05(土) 20:12:56 ID:XPkr7TFj (-5,+29,-31)
>>200
http://php.dori-mu.net/source/source.php?src=search/search.phps
これ見てやったんだろう?
これおれうごいたから。
お前どっかぬけているんだよ。
まずは元ソースが動くか試してみな
212 : nobodyさん - 2010/06/05(土) 23:00:07 ID:??? (-27,-29,-44)
マニュアルをちゃんと読んだらどうなんだ
PDO使ってるならPDOのメソッド一覧あるんだから1つずつどういうものがあるか確認するぐらいしなさいよ

>プリペアードステートメントを使わない場合、htmlspecialcharsでは代わりになりませんか?
http://www.php.net/manual/ja/pdo.quote.php

htmlspecialcharsはxss対策に使うものでsqlインジェクション対策に使う関数ではありません
213 : nobodyさん - 2010/06/05(土) 23:08:36 ID:bkBaLixK (-26,-30,-89)
質問です

28habcpt918のような英数字の組み合わさった文字列を
最後の数字の部分だけ00918のように頭に0を加えて5桁にしたいのですが、
文字列のパターンはabc123や987xyz12のようにさまざまです。

つまり、
28habcpt918なら28habcpt00918、
abc123ならabc00123、
987xyz12なら987xyz00012のようにしたいです。

アドバイスお願いします
214 : nobodyさん - 2010/06/05(土) 23:11:27 ID:??? (-7,-16,-12)
>>213
正規表現でいいじゃん
217 : 213 - 2010/06/05(土) 23:34:04 ID:bkBaLixK (-21,+29,-2)
>>214
つまりどう書けばいいんですか?
218 : nobodyさん - 2010/06/05(土) 23:37:11 ID:??? (-9,-29,-4)
>213
preg_match("/[0-9]+$/", $str);
219 : nobodyさん - 2010/06/05(土) 23:37:52 ID:??? (-21,-30,-70)
>>213
$str = "28habcpt918";
$length = count($str) - strlen((int)strrev($str)) - 1;
$format = sprintf("%05d", strrev((int)strrev($str)));
echo substr($str, 0, $length) . $format;
221 : 213 - 2010/06/05(土) 23:46:34 ID:bkBaLixK (-22,+28,+0)
>>219
すごいです
感動しました
222 : 219 - 2010/06/05(土) 23:47:44 ID:??? (+3,-30,-72)
$lengthがおかしかったから訂正

$length = count($str) - strlen((int)strrev($str)) - 1;

$length = strlen($str) - strlen((int)strrev($str));
223 : 205、208で - 2010/06/05(土) 23:54:22 ID:IfiEpjR7 (-7,-29,-131)
>>216
レスありがとうございます。

> プリペアードステートメントとは簡単に言えばSQLを高速に実行するための準備のことなので
> sqlインジェクションとは関係ありません
> PDO::prepareはこの準備をしつつSQLインジェクション対策を同時に行うメソッドです

知りたいのは、プリペアードステートメントの本来の目的ではなく、
「SQLインジェクション対策として十分か」ということです。

> xssとsqlインジェクションとではエスケープすべき文字列が異なるからです

htmlspecialcharsでは「\」がエスケープされないのが問題ということですね。
疑問が解消できました。
225 : nobodyさん - 2010/06/06(日) 00:06:05 ID:??? (+16,+30,+0)
226 : nobodyさん - 2010/06/06(日) 00:06:32 ID:??? (+25,-30,-40)
>>224
もう正規表現でええやん。

$str = '28habcpt918';
if (preg_match('/([0-9]+)$/', $str, $matches)) {
$format = sprintf('%05d', $matches[1]);
echo $format;
}
227 : 219 - 2010/06/06(日) 00:21:03 ID:??? (+57,+29,-13)
>>224
失礼
全然考えてなかった
intにキャストしてるから頭にある0が消えちゃう

>>226さんので取れるからそれでおながいします
228 : nobodyさん - 2010/06/06(日) 00:26:42 ID:??? (+93,+29,-64)
>>223
> 「SQLインジェクション対策として十分か」ということです。
そらおまえさん用意されてる関数を信じないで何を信じるの?
そんなに心配ならDBの資料あさって自前でエスケープしたらいいんとちゃうの?
229 : nobodyさん - 2010/06/06(日) 00:41:50 ID:??? (+148,+30,-69)
>>228
SQLインジェクション対策に有効だということはわかっていても
「十分」有効なのか「ある程度」有効なのかわからないということです。

プロが作ったサイトでも対策に失敗している場合があるようなので、
素人にとっては自分勝手に信じるのが怖いのです。
そのため、他者の裏付けを求めてお尋ねした次第です。

「信じないで何を信じるの?」ということは、つまり「信じていい」ということですね。
ありがとうございました。
231 : nobodyさん - 2010/06/06(日) 00:48:24 ID:??? (+77,+30,-112)
>>229
> プロが作ったサイトでも対策に失敗している場合があるようなので、
それは関数のせいじゃなくて単にエスケープ忘れてるだけ
プロといっても人間だからね
大手サイトとかにもなると作りが複雑になるし
ちゃんと規約決めて工程を遵守して多人数でやってる場合はバグも出にくいけどコストがかかる
PHPなんかはコスト重視だから設計もなしに適当にやってるとこは潜在的なバグがいっぱい
232 : nobodyさん - 2010/06/06(日) 00:50:27 ID:??? (+116,+30,-35)
>>229
あなたはSQLインジェクション対策の有効性について
慎重な意見を求めているようだけど、逆に他者の裏付けがあれば安心出来るのか?
そんなに心配なら自分で納得いくまでとことん調べるしかないだろう。
235 : nobodyさん - 2010/06/06(日) 01:20:34 ID:??? (+73,+29,-5)
>>232 独学者なら他人の意見が欲しいものだよ
236 : nobodyさん - 2010/06/06(日) 01:54:28 ID:??? (+57,+29,-42)
他の人の意見聞くのはいいだろうけど、聞いた上で自分なりに勝手に解釈して納得してるのはどうなんだ?
それなら聞く必要ない気がするけどさ。
237 : nobodyさん - 2010/06/06(日) 02:11:20 ID:??? (+52,+29,-5)
くだ質で排他的なのはイクナイ。
239 : nobodyさん - 2010/06/06(日) 11:18:37 ID:??? (-1,-29,-20)
sqliteのpdoをソフトウェアで再現するやつありますか。
ワードプレスを動かしたいのですが
241 : nobodyさん - 2010/06/06(日) 11:51:52 ID:??? (-27,+30,+0)
242 : nobodyさん - 2010/06/06(日) 12:16:08 ID:??? (+62,+30,-310)
>223
SQLインジェクションを予防するのに、
 ・「SQLインジェクションを予防するための関数」と
 ・「XSSを予防するための関数だけど、たまたまSQLインジェクションも防止できるような気がする関数」
どっちを使うかって話だよ。
つうか、「\がエスケープされないから危険」という思考は、要は裏で「SQLに混じって危険なのはコレとコレとコレと…」と候補を自分で考えてるだろ。
「危険な要素を弾く」はセキュリティ対策として非常に危険なので(見落としがあるとアウト)、自己の判断で行なうのを極力避けるべき。

俺を含めPHPプログラマの9割がカスなのは事実だが、言語自体の開発者や標準ライブラリの設計者は優秀だし、しっかりテストもされてる。
だから、「2chの意見と標準ライブラリどっちを信じるか」ならば、標準ライブラリを信じたほうが絶対にいい。
246 : nobodyさん - 2010/06/06(日) 12:47:37 ID:??? (+63,+29,-60)
posqlは一応データベースの一種だぞ
wordpressのソースをハックすればどうにでもなるが
あんな長いのを見るのもめんどくさいしな
ちゃんと抽象化されてて他のスクリプトへの影響が最小限の作りになってて
DB操作用のクラスなんかがあってそのファイルだけいじればOK
みたいなかんじの作りになってたら修正も簡単なんだけど
wpのソースなんて見たことないしシラネ
248 : nobodyさん - 2010/06/06(日) 13:39:02 ID:??? (+32,+9,-2)
代替が読めない子か
249 : nobodyさん - 2010/06/06(日) 13:57:01 ID:??? (+52,+29,+0)
犠牲になったのだ
250 : nobodyさん - 2010/06/06(日) 14:22:36 ID:??? (+30,-29,-52)
入力画面、確認画面、完了画面の3つのphpで構成したいのですが、
入力画面から確認画面に遷移する際のバリデーションは、どこに実装すべきでしょうか?
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : - shutdown + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

類似してるかもしれないスレッド


トップメニューへ / →のくす牧場書庫について