注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
PHPerの皆さん、重要な文字列を入力データと保管情報を比較するときに比較演算子("=="とか"===")使っ... PHPerの皆さん、重要な文字列を入力データと保管情報を比較するときに比較演算子("=="とか"===")使ってませんか? これ実は使っちゃだめなので、気をつけましょう。 なぜだめなの? (2020/8/31修正) 関数名をtypoしていたため修正しました。(正)memcmp・(誤)strcmpです。 PHPを含む多くの言語では、文字列を比較する際に内部で memcmp() を使います。 通常の(厳密なセキュリティを必要としない)ケースでは、比較演算子を使うことはまったく問題ありません。 パスワードなど絶対に推測されてはいけない文字列を比較する場合、この関数は脆弱といえます。 memcmp() は内部で1バイトずつ比較検証するため、応答時間をもとに先頭から何文字正解だったか推測できます。 このような攻撃を「タイミング攻撃」といいます。 どうすればいいの? PHPでは、ハッシュ値を用いて文字
2020/08/28 リンク