回答編集履歴
1
誤表現の修正
answer
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
文字列をHTMLとして挿入したい場合以外は原則HTMLエスケープするのが基本です。
|
9
9
|
|
10
10
|
なお、今回の場合、トークンの生成には`sha1`関数によるSHA-1ハッシュの文字列を利用しています。
|
11
|
-
`sha1`関数が返すハッシュ文字列は16進数文字列なので、HTMLエスケープが必要な文字
|
11
|
+
`sha1`関数が返すハッシュ文字列は16進数文字列なので、HTMLエスケープが必要な文字は含まれておらず、はっきり言えば無意味です。
|
12
12
|
|
13
13
|
ただ、前述したように、文字列を挿入する場合にはHTMLエスケープするのが基本です。
|
14
14
|
トークンはHTMLとして埋め込むことが目的ではないので、一応のためにHTMLエスケープを行っているものと考えられます。
|
@@ -25,6 +25,7 @@
|
|
25
25
|
トークンの生成には、`openssl_random_pseudo_bytes`や`mcrypt_create_iv`、[Secure-random-bytes-in-PHP](https://github.com/GeorgeArgyros/Secure-random-bytes-in-PHP)を利用した方が良いです。
|
26
26
|
|
27
27
|
個人的には、[Secure-random-bytes-in-PHP](https://github.com/GeorgeArgyros/Secure-random-bytes-in-PHP)をオススメします。
|
28
|
+
これは、内部的に`openssl_random_pseudo_bytes`や`mcrypt_create_iv`などが利用できるか自動で判定し、乱数を生成してくれます。
|
28
29
|
|
29
30
|
`openssl_random_pseudo_bytes`の場合:
|
30
31
|
```lang-php
|