私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ【PHP】下らねぇ質問はID出して書き込みやがれ 120
php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
配列に入った値をサニタイズする関数をつくったのですが、
function check($data) {
if (is_array($data)) {
return array_map('datacheck', $data);
}
else {
$d = htmlspecialchars($data, ENT_QUOTES);
}
}
シェル上では、問題なく動作しているのに、
ブラウザでPOSTされた値を上記関数に入れ込むとなぜかサニタイズされません
しかし、check(check($data))のように2回上記関数に入れ込んでやるとしっかりサニタイズされます
POSTされた値だけ1回でうまくサニタイズされないのはどうしてでしょうか
function check($data) {
if (is_array($data)) {
return array_map('datacheck', $data);
}
else {
$d = htmlspecialchars($data, ENT_QUOTES);
}
}
シェル上では、問題なく動作しているのに、
ブラウザでPOSTされた値を上記関数に入れ込むとなぜかサニタイズされません
しかし、check(check($data))のように2回上記関数に入れ込んでやるとしっかりサニタイズされます
POSTされた値だけ1回でうまくサニタイズされないのはどうしてでしょうか
サニタイズって何だよ
セキュリティの専門家に怒られるぞ
何が毒かなんて使う場所によって違う
セキュリティの専門家に怒られるぞ
何が毒かなんて使う場所によって違う
charsetがーとか言っちゃう人ですか
この段階でこんなことするのがそもそもおかしいけどね
この段階でこんなことするのがそもそもおかしいけどね
charsetまでいくといちいち突っ込まないけど
これはだめでしょ
半角英数字以外をすべて削除するなら
個人的にサニタイズって呼んであげてもいいよ
でも文字列長はチェックしてね
これはだめでしょ
半角英数字以外をすべて削除するなら
個人的にサニタイズって呼んであげてもいいよ
でも文字列長はチェックしてね
これでいけるはず。
function sanitize($data)
{
if (is_array($data)) {
return array_map('sanitize', $data);
} else {
return 'Don\'t say SANITIZE!';
}
}
function sanitize($data)
{
if (is_array($data)) {
return array_map('sanitize', $data);
} else {
return 'Don\'t say SANITIZE!';
}
}
補足です
どうもPOSTから受けた配列を変換用関数に入れると、配列の判定をしてはいるものの
再帰処理せず、1回目の配列判定をしたところで処理が終わってるようです
自分で変数に配列をセットした場合は、再帰処理されるのに
POSTの値が再帰処理されないのはなぜでしょう・・・
どうもPOSTから受けた配列を変換用関数に入れると、配列の判定をしてはいるものの
再帰処理せず、1回目の配列判定をしたところで処理が終わってるようです
自分で変数に配列をセットした場合は、再帰処理されるのに
POSTの値が再帰処理されないのはなぜでしょう・・・
$d = $_POST['data'];
var_dump($d);
$d2 = datacheck2($d);
var_dump($d2);
$d3 = datacheck2($d2);
var_dump($d3);
上記処理をかますと、
array(2) { [0]=> string(3) "<<<" [4]=> string(2) "<<" }
array(2) { [0]=> string(12) "<<<" [4]=> string(8) "<<" }
array(2) { [0]=> string(24) "<<<" [4]=> string(16) "<<" }
となります なぜこうなるのでしょうか・・・
string(3) string(12) と長さは変わってるようですが
var_dump($d);
$d2 = datacheck2($d);
var_dump($d2);
$d3 = datacheck2($d2);
var_dump($d3);
上記処理をかますと、
array(2) { [0]=> string(3) "<<<" [4]=> string(2) "<<" }
array(2) { [0]=> string(12) "<<<" [4]=> string(8) "<<" }
array(2) { [0]=> string(24) "<<<" [4]=> string(16) "<<" }
となります なぜこうなるのでしょうか・・・
string(3) string(12) と長さは変わってるようですが
>>714
$youAreUnko = $_POST['mail'] === 'sage';
$youAreUnko = $_POST['mail'] === 'sage';
サニタイズと言って入力値をエスケープするという考え自体が、
脆弱性を作りやすい間違った考えということが分かりました
ありがとうございました
脆弱性を作りやすい間違った考えということが分かりました
ありがとうございました
twitterやってないからしらんけど
・投稿するAPIがあるならその仕様をちゃんと読む
・APIがないなら通信をトレースして何をしたらどうなるかを把握して専用のクライアントを作成する
結局この2つになるんじゃないの
・投稿するAPIがあるならその仕様をちゃんと読む
・APIがないなら通信をトレースして何をしたらどうなるかを把握して専用のクライアントを作成する
結局この2つになるんじゃないの
学ぶ力には三つの条件があります。
第一は自分自身に対する不全感。
自分は非力で、無知で、まだまだ多くのものが欠けている。
だからこの欠如を埋めなくてはならない、という飢餓感を持つこと。
第二は、その欠如を埋めてくれる「メンター(先達)」を探し当てられる能力です。
メンターは先生でもお母さんでも、ネットの中の無名の人でもいい。
生涯にわたる師ではなく、ただある場所から別の場所に案内してくれるだけの
「渡し守」のような人でもいいのです。
自分を一歩先に連れて行ってくれる人は全て大切なメンターです。
第三が、素直な気持ち。
メンターを「教える気にさせる」力です。オープンマインドと言ってもいいし、
もっと平たく「愛嬌(あいきょう)」と言ってもいい。
「学ぶ姿勢」のある人は、何よりも素直です。
つまらない先入観を持たないから、生半可なリアリズムで好奇心を閉ざさない。
素直な人に聞かれると、こちらもつい真剣になる。知っている限りのことを、
知らないことまでも、教えてあげたいという気分になる。そういうものです。
以上、この三つの条件をまとめると、
「学びたいことがあります。教えてください。お願いします」
という文になります。これが「マジックワード」です。
これをさらっと口に出せる人はどこまでも成長することができる。
この言葉を惜しむ人は学ぶことができないのです。
学ぶ力には年齢も社会的地位も関係がありません。
>>727さんも、早く学ぶ力を身に付けてください。
第一は自分自身に対する不全感。
自分は非力で、無知で、まだまだ多くのものが欠けている。
だからこの欠如を埋めなくてはならない、という飢餓感を持つこと。
第二は、その欠如を埋めてくれる「メンター(先達)」を探し当てられる能力です。
メンターは先生でもお母さんでも、ネットの中の無名の人でもいい。
生涯にわたる師ではなく、ただある場所から別の場所に案内してくれるだけの
「渡し守」のような人でもいいのです。
自分を一歩先に連れて行ってくれる人は全て大切なメンターです。
第三が、素直な気持ち。
メンターを「教える気にさせる」力です。オープンマインドと言ってもいいし、
もっと平たく「愛嬌(あいきょう)」と言ってもいい。
「学ぶ姿勢」のある人は、何よりも素直です。
つまらない先入観を持たないから、生半可なリアリズムで好奇心を閉ざさない。
素直な人に聞かれると、こちらもつい真剣になる。知っている限りのことを、
知らないことまでも、教えてあげたいという気分になる。そういうものです。
以上、この三つの条件をまとめると、
「学びたいことがあります。教えてください。お願いします」
という文になります。これが「マジックワード」です。
これをさらっと口に出せる人はどこまでも成長することができる。
この言葉を惜しむ人は学ぶことができないのです。
学ぶ力には年齢も社会的地位も関係がありません。
>>727さんも、早く学ぶ力を身に付けてください。
>>734
HTMLソースを見てみることをお勧めする
HTMLソースを見てみることをお勧めする
>>735
お忙しい中、ご助言ありがとうございます!
お忙しい中、ご助言ありがとうございます!
>>736
ID
ID
>>737
いつもご案内ありがとうございます。
いつもご案内ありがとうございます。
フォームの内容を送信するとき、GET か POST かにかかわらず data は ブラウザによって URL エンコードされ、PHP によって URL デコードされます。 要は、URL エンコード/デコードを自分で行う必要はなく、これらの処理は すべて自動的に行われると言うことです。
エンコと勘違いしてないか?
エンコと勘違いしてないか?
<?php
session_start();~
?>
<html>~</html>
としたとき、グーグルクロームで上の方に空白ができるって
なんとかならないですか?
session_start();~
?>
<html>~</html>
としたとき、グーグルクロームで上の方に空白ができるって
なんとかならないですか?
サーバで処理したものを返すから
同じ結果ならブラウザでソースが変わるってのはない
PHPとは関係ないんじゃね
同じ結果ならブラウザでソースが変わるってのはない
PHPとは関係ないんじゃね
クロームでというのが気になるが別のブラウザでも同じならBOMか改行かそこらへんだな
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- 【PHP】下らねぇ質問はID出して書き込みやがれ 126 (1001) - [98%] - 2013/3/19 13:15
- 【PHP】下らねぇ質問はID出して書き込みやがれ 129 (1001) - [98%] - 2013/9/18 1:45
- 【PHP】下らねぇ質問はID出して書き込みやがれ 130 (1001) - [98%] - 2013/11/11 2:45
- 【PHP】下らねぇ質問はID出して書き込みやがれ 110 (1001) - [98%] - 2011/9/29 22:31
- 【PHP】下らねぇ質問はID出して書き込みやがれ 125 (1001) - [98%] - 2013/2/4 13:30
- 【PHP】下らねぇ質問はID出して書き込みやがれ 128 (1001) - [98%] - 2013/8/4 14:01
- 【PHP】下らねぇ質問はID出して書き込みやがれ 121 (1001) - [98%] - 2012/8/14 7:45
- 【PHP】下らねぇ質問はID出して書き込みやがれ 123 (1001) - [98%] - 2012/11/20 5:30
- 【PHP】下らねぇ質問はID出して書き込みやがれ 100 (1001) - [98%] - 2010/11/14 21:46
- 【PHP】下らねぇ質問はID出して書き込みやがれ 124 (1001) - [98%] - 2013/1/10 6:30
- 【PHP】下らねぇ質問はID出して書き込みやがれ 127 (1001) - [98%] - 2013/5/26 14:01
- 【PHP】下らねぇ質問はID出して書き込みやがれ 133 (1001) - [96%] - 2014/7/8 16:30
- 【PHP】下らねぇ質問はID出して書き込みやがれ 134 (1002) - [96%] - 2014/7/29 4:15
- 【PHP】下らねぇ質問はID出して書き込みやがれ 116 (1001) - [96%] - 2012/3/21 18:01
- 【PHP】下らねぇ質問はID出して書き込みやがれ 136 (936) - [96%] - 2014/9/18 12:45
- 【PHP】下らねぇ質問はID出して書き込みやがれ 119 (1001) - [96%] - 2012/6/21 11:46
- 【PHP】下らねぇ質問はID出して書き込みやがれ 137 (995) - [96%] - 2023/1/30 18:45
トップメニューへ / →のくす牧場書庫について