forked from yiisoft/yii2
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs/guide-ja updated [ci skip] (yiisoft#11537)
* docs/guide-ja translations updated [skip ci] * docs/guide-ja security-* updated [ci skip]
- Loading branch information
Showing
12 changed files
with
151 additions
and
125 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
暗号化 | ||
====== | ||
|
||
個の節では、セキュリティの以下の側面について見ていきます。 | ||
|
||
- 乱数データの生成 | ||
- 暗号化と複合化 | ||
- データの完全性の確認 | ||
|
||
|
||
擬似乱数データを生成する | ||
------------------------ | ||
|
||
擬似乱数データはさまざまな状況で役に立ちます。 | ||
例えば、メール経由でパスワードをリセットするときは、トークンを生成してデータベースに保存し、それをユーザにメールで送信します。 | ||
そして、ユーザはこのトークンを自分がアカウントの所有者であることの証拠として使用します。 | ||
このトークンがユニークかつ推測困難なものであることは非常に重要なことです。 | ||
さもなくば、攻撃者がトークンの値を推測してユーザのパスワードをリセットする可能性があります。 | ||
|
||
Yii のセキュリティヘルパは擬似乱数データの生成を単純な作業にしてくれます。 | ||
|
||
|
||
```php | ||
$key = Yii::$app->getSecurity()->generateRandomString(); | ||
``` | ||
|
||
暗号化と復号化 | ||
-------------- | ||
|
||
Yii は秘密鍵を使ってデータを暗号化/復号化することを可能にする便利なヘルパ関数を提供しています。 | ||
データを暗号化関数に渡して、秘密鍵を持つ者だけが復号化することが出来るようにすることが出来ます。 | ||
例えば、何らかの情報をデータベースに保存する必要があるけれども、(たとえアプリケーションのデータベースが第三者に漏洩した場合でも) 秘密鍵を持つユーザだけがそれを見ることが出来るようにする必要がある、という場合には次のようにします。 | ||
|
||
```php | ||
// $data と $secretKey はフォームから取得する | ||
$encryptedData = Yii::$app->getSecurity()->encryptByPassword($data, $secretKey); | ||
// $encryptedData をデータベースに保存する | ||
``` | ||
|
||
そして、後でユーザがデータを読みたいときは、次のようにします。 | ||
|
||
```php | ||
// $secretKey はユーザ入力から取得、$encryptedData はデータベースから取得 | ||
$data = Yii::$app->getSecurity()->decryptByPassword($encryptedData, $secretKey); | ||
``` | ||
|
||
[[\yii\base\Security::encryptByKey()]] と [[\yii\base\Security::decryptByKey()]] によって、パスワードの代わりにキーを使うことも可能です。 | ||
|
||
|
||
データの完全性を確認する | ||
------------------------ | ||
|
||
データが第三者によって改竄されたり、更には何らかの形で毀損されたりしていないことを確認する必要がある、という場合があります。 | ||
Yii は二つのヘルパ関数の形で、データの完全性を確認するための簡単な方法を提供しています。 | ||
|
||
秘密鍵とデータから生成されたハッシュをデータにプレフィクスします。 | ||
|
||
```php | ||
// $secretKey はアプリケーションまたはユーザの秘密、$genuineData は信頼できるソースから取得 | ||
$data = Yii::$app->getSecurity()->hashData($genuineData, $secretKey); | ||
``` | ||
|
||
データの完全性が毀損されていないかチェックします。 | ||
|
||
```php | ||
// $secretKey はアプリケーションまたはユーザの秘密、$data は信頼できないソースから取得 | ||
$data = Yii::$app->getSecurity()->validateData($data, $secretKey); | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
セキュリティ | ||
============ | ||
|
||
十分なセキュリティは、すべてのアプリケーションの健全さと成功のために欠くことが出来ないものです。 | ||
不幸なことに、理解が不足しているためか、実装の難易度が高すぎるためか、セキュリティのことになると手を抜く開発者がたくさんいます。 | ||
Yii によって駆動されるあなたのアプリケーションを可能な限り安全にするために、Yii はいくつかの優秀な使いやすいセキュリティ機能を内蔵しています。 | ||
|
||
* [認証](security-authentication.md) | ||
* [権限付与](security-authorization.md) | ||
* [パスワードを扱う](security-passwords.md) | ||
* [暗号化](security-cryptography.md) | ||
* [ビューのセキュリティ](structure-views.md#security) | ||
* [認証クライアント](https://github.com/yiisoft/yii2-authclient/blob/master/docs/guide-ja/README.md) | ||
* [ベストプラクティス](security-best-practices.md) |
Oops, something went wrong.