元スレ【PHP】下らねぇ質問はID出して書き込みやがれ 132
php覧 / PC版 /みんなの評価 :
551 = :
エンコードに使えそうな関数
addslashes
urlencode
rawurlencode
base64_encode
convert_uuencode
htmlspecialchars
htmlentities($str,ENT_QUOTES,'SJIS-win',false)
mb_convert_encoding( $str, 'HTML-ENTITIES', 'SJIS-win')
552 = 548 :
私も出力時のみと思っていたのですが入れる前にするのが常識みたいに言ってきたもので、私のほうがおかしいのかと思ってしまっておりました。
エスケープする場所を移動させるだけと思っているようで、事前にエスケープすると入れる情報の長さもかわることになるので
設計部分から見直す必要性があることもわかっていないようで困っておりました。
553 = :
>>552
そいつがプロなら殴っとけ
554 = :
使う用途次第で、HTMLをHTMLエンティティに変換して出力する用途が決まっていれば
データベースを別のコードでも使うときなどのために変換済みをいれておいたほうがいいことがある。
555 = :
>データベースに入れる際にhtmlspecialcharsするべきと
むしろ、こっちの理由を聞いてみたい。
その他人とやらにおいて、何か合理的な理由があるのだろうか。
556 = :
取り出したデータが無加工でそのまま使えることを保証するためだろ。
557 = :
>>556
そんな保証が必要なの?
出力先がHTMLに確実に限られていればわからなくはないが
558 = :
つねに、出力でhtmlspecialcharsをやるなら、ほぼHTMLだろう。
バイナリデータなどでやったらデータが破壊される。
559 = :
>>558
「つねに」やるってどこか書いてる?
561 = :
保存時はなるべく生データの方が融通聞いていいと思うけどね
562 = :
DBに保存されるのは無加工の生のデータであるべきである
なぜならhttp経由のみで使うとは限らないからである
htmlspecialcharsを入れとけばエスケープ忘れがあっても安全という主張があるが
html出力時にDBから取り出したデータにhtmlspecialcharsを挟むという
PHPのデファクトスタンダードが通用せず第三者からみたらとても不思議で一見まずいコードに見える
このような不思議な仕様にすべきでない
563 = :
HTML以外が入るときのために、変換済みのほうがいいだろ。
バイナリデータに対して出力で変換したら壊れる。
564 = :
>>563
アホなこといってんじゃないよ
バイナリデータにhtmlspecialcharsなんて使うわけないだろ
つうか画像ならGDとかに突っ込んだり
そのまま出力するにしてもヘッダで指定すんだろ
プレーンテキストとは扱いが違う
565 = :
DBに入れる際にhtmlspecialcharsすると、出力時にもhtmlspecialcharsをして、
二重にエスケープされる可能性があるから、まずいんだよね。
たとえば、'&' (アンパサンド) は '&' に変換される。
これをもう一度エスケープすると、 '&'になって、
'amp;'という不要な文字がブラウザに表示されてしまう。
566 = :
出力先にあわせて、適切な処理を行うという常識を無視し
XSS等がおきた時の責任逃れをしたいっていう感覚をヒシヒシと感じる
567 = :
htmlならバイナリデータなんてDBに突っ込まないで
場所だけを記しておくよな
568 = :
htmlspecialcharsは不可逆変換だしね。
< と < は、 double_encodeの設定で < < もしくは < < のどちらかになるにせよ
htmlspecialchars_decode すると < と < になってしまう。
569 = :
>>548
sanitized_text ってカラム名にしてそこに「も」入れるのが、その、他の人との折衷案になるんでない?
「も」としたのは生データは重要だから失うわけにはいかないという理由。
571 = :
DBいれる前に不可逆変換すると仕様変更や拡張、
リニューアルの時とかネックになりがちだしなー。
基本は、あくまで「渡す時に適切な処理を」だろ。
あくまで基本だけど。
ところで、なんでhtml文章を格納するのに話題で
バイナリにhtmlspecialcharsとか言い出してる馬鹿がいるの?
572 = :
データベースにHTMLとバイナリが混合していて、
それを見分ける方法などを付けていなければ
バイナリに対して加工してしまう可能性がある。
573 = :
>>572
バイナリをHTML自体、またはその一部として出力するの??
574 = :
>>572
DBとSQLは1対1で作るんじゃないの?
どこに何が入ってるか分からないものと戦うの?
575 = :
>>572
見分ける方法が無いまま混在させる状況がよく分からん。
よしんば入れるとして、バイナリが入る可能性があるのなら一律エスケープしないだろ。
576 = :
自分で設計しといてimage BLOBとtext CHARの区別もつかない開発者とかねーわwww
577 = :
>>576
×区別もつかない
○区別をつけない
578 = :
>>577
自レス?
579 = :
俺なら出力するときだけだな。DBに入れるのは生データのほうが何かと融通が利く。
580 = :
他人が設計して共同開発するようなものても
取得するデータがどのようなものかはあらかじめ把握しているのが普通
じゃなきゃアプリケーションなんて作れません
581 = :
r ‐、
| ○ | r‐‐、
_,;ト - イ、 ∧l☆│∧ 良い子の諸君!
(⌒` ⌒ヽ /,、,,ト.-イ/,、 l 入力と検証と保存と出力の話が混ぜこぜになっているが
|ヽ ~~⌒γ⌒) r'⌒ `!´ `⌒) 回答する側も初心者だ
│ ヽー―'^ー-' ( ⌒γ⌒~~ /| 騙されるな。
│ 〉 |│ |`ー^ー― r' |
│ /───| | |/ | l ト、 |
| irー-、 ー ,} | / i
| / `X´ ヽ / 入 |
582 = :
話がうつってるだけなのについてこれないからってクソみたいなAA貼るなカス
583 = :
まあ、DBへの入力時にhtmlspecialcharsするくらいなら、
投稿入力文字列をチェックして、タグ'<>'の投稿を禁止するとか、
入力値チェックの段階で対応する方がよさそう。
584 = :
>>572
> ところで、なんでhtml文章を格納するのに話題で
> バイナリにhtmlspecialcharsとか言い出してる馬鹿がいるの?
>>583
それも手の一つであるけど、仕様決めのときの
ポリシーの問題であってレイヤーが違いすぎるだろ。
それ言い出すと、WAFいれたらとかそういう話も出てくる。
そも、XSS対策を意図した場合、PHPレベルで解決不可能じゃないだけに
そっちを先に論ずるのも妙だと思われる。
585 = :
ム板にID入って荒らせなくなったぺちぱー涙目
586 = :
おおお、ID出るようになったのか。久々にム板いこっと
587 = :
誰にも相手にされない煽り()
588 = :
ぎいやぁぁぁぁぁぁぁぁぁぁぁ!
しまった!
大変な失敗をしてしまった!!
もう俺の人生終わりだァァァ!!
589 = :
始まってすらない
590 = :
こっちもID出てくれたらな
591 = :
お疲れ様でした。次の周では頑張ってください
592 = :
>>589
お前は始まることすらないがなw
593 :
ぺちぱーには無理
594 = :
>>585
どこが荒らされてたの?みてみたい
595 = :
被害妄想こじらせて見えない敵と戦ってるんだからそうっとしといてやれ
596 = :
PHPユーザが荒らしてることにしないと困る人キテター
597 = :
PHP「すら」使えんアフォ荒しは消えればいいのにな
598 = :
PHPは誰でも使えるくらい簡単だが
作るシステムの適正に合ったコードが書ける人間は意外と多くない
600 = :
表示出来たらそれ以降はブラウザの問題でしょ
拡張子によって保存出来ないとか?拡張子.pngにしてみたら
みんなの評価 :
類似してるかもしれないスレッド
- 【PHP】下らねぇ質問はID出して書き込みやがれ 133 (1001) - [98%] - 2014/7/8 16:30
- 【PHP】下らねぇ質問はID出して書き込みやがれ 137 (995) - [98%] - 2023/1/30 18:45
- 【PHP】下らねぇ質問はID出して書き込みやがれ 112 (1001) - [98%] - 2011/11/29 4:02
- 【PHP】下らねぇ質問はID出して書き込みやがれ 130 (1001) - [98%] - 2013/11/11 2:45
- 【PHP】下らねぇ質問はID出して書き込みやがれ 139 (994) - [98%] - 2015/7/25 21:15
- 【PHP】下らねぇ質問はID出して書き込みやがれ 131 (1001) - [98%] - 2014/1/19 21:30
- 【PHP】下らねぇ質問はID出して書き込みやがれ 138 (991) - [98%] - 2015/1/6 8:00
- 【PHP】下らねぇ質問はID出して書き込みやがれ 136 (936) - [98%] - 2014/9/18 12:45
- 【PHP】下らねぇ質問はID出して書き込みやがれ 102 (1001) - [98%] - 2011/1/25 4:34
- 【PHP】下らねぇ質問はID出して書き込みやがれ 135 (984) - [98%] - 2014/8/7 1:00
- 【PHP】下らねぇ質問はID出して書き込みやがれ 134 (1002) - [98%] - 2014/7/29 4:15
- 【PHP】下らねぇ質問はID出して書き込みやがれ 119 (1001) - [96%] - 2012/6/21 11:46
- 【PHP】下らねぇ質問はID出して書き込みやがれ 127 (1001) - [96%] - 2013/5/26 14:01
- 【PHP】下らねぇ質問はID出して書き込みやがれ 118 (1001) - [96%] - 2012/5/18 6:01
- 【PHP】下らねぇ質問はID出して書き込みやがれ 129 (1001) - [96%] - 2013/9/18 1:45
- 【PHP】下らねぇ質問はID出して書き込みやがれ 105 (1001) - [96%] - 2011/4/28 23:01
- 【PHP】下らねぇ質問はID出して書き込みやがれ 117 (1001) - [96%] - 2012/4/23 19:01
トップメニューへ / →のくす牧場書庫について