Hide raw/endraw tags for a regular markdown

This commit is contained in:
Denis Koltsov
2016-11-19 17:26:46 +01:00
parent 1e5131b5c7
commit 61b5bc35e7
21 changed files with 42 additions and 43 deletions

View File

@@ -1,4 +1,3 @@
{% raw %}
# 4.3 クロスサイトスクリプティングの予防
現在のホームページは大量の動的なコンテンツを含みユーザのエクスペリエンスを高めています。以前に比べてとても複雑になっています。いわゆる動的なコンテンツとはユーザの環境と要求に応じてWebアプリケーションが目的の内容を出力できることを指します。動的なホームページは"クロスサイトスクリプティング"(Cross Site Scripting、セキュリティ専門家が一般的にXSSと省略するもの)と呼ばれる攻撃を受けることがあります。
@@ -27,7 +26,7 @@ Goではどのようにこの効果的な防御を行なっているのでしょ
図4.3 Javascriptフィルターによる出力
Goのhtml/templateパッケージはデフォルトでhtmlタグをフィルターします。しかし時にはこの`<script>alert()</script>`を正常な情報として出力したい場合があるかもしれません。そのような場合はどのように処理するべきでしょうかこの場合はtext/templateをご利用ください。下の例をご覧ください
<!-- {% raw %} -->
import "text/template"
...
t, err := template.New("foo").Parse(`{{define "T"}}Hello, {{.}}!{{end}}`)
@@ -67,4 +66,4 @@ Goのhtml/templateパッケージはデフォルトでhtmlタグをフィルタ
* [目次](<preface.md>)
* 前へ: [入力値の検証](<04.2.md>)
* 次へ: [フォームの複数回送信の防止](<04.4.md>)
{% endraw %}
<!-- {% endraw %} -->

View File

@@ -1,4 +1,4 @@
{% raw %}
<!-- {% raw %} -->
# 4.5 ファイルのアップロード処理
ユーザによるファイルのアップロードを処理したいとします。例えば、現在Instagramのようなホームページを作成しているとします。ユーザが撮影した写真を保存する必要があります。このような要求はどのように実現するのでしょうか
@@ -156,4 +156,4 @@
* [目次](<preface.md>)
* 前へ: [フォームの多重送信の防止](<04.4.md>)
* 次へ: [まとめ](<04.6.md>)
{% endraw %}
<!-- {% endraw %} -->

View File

@@ -1,4 +1,4 @@
{% raw %}
<!-- {% raw %} -->
# 6.4 sessionハイジャックの予防
sessionハイジャックは広範囲に存在する比較的重大な脆弱性です。session技術において、クライアントサイドとサーバサイドはsessionのIDによってセッションを維持します。しかしこのIDは簡単にスニッフィングされ、第三者に利用されてしまいます。これは中間者攻撃の一種です。
@@ -88,4 +88,4 @@ sessionが始まると、生成されたsessionIDの時間を記録する一つ
* [目次](<preface.md>)
* 前へ: [sessionストレージ](<06.3.md>)
* 次へ: [まとめ](<06.5.md>)
{% endraw %}
<!-- {% endraw %} -->

View File

@@ -1,4 +1,4 @@
{% raw %}
<!-- {% raw %} -->
# 7.1 XMLの処理
XMLはデータと情報のやりとりするための形式として十分普及しています。Webサービスが日々広範囲で応用されてくるにつれ、現在XMLは日常的な開発作業において重要な役割を演じてきました。この節ではGo言語の標準パッケージにあるXML関連のパッケージをご紹介します。
@@ -220,4 +220,4 @@ XMLをstructに解析する際は以下のルールに従います 
* [目次](<preface.md>)
* 前へ: [テキスト処理](<07.0.md>)
* 次へ: [Jsonの処理](<07.2.md>)
{% endraw %}
<!-- {% endraw %} -->

View File

@@ -1,4 +1,4 @@
{% raw %}
<!-- {% raw %} -->
# 7.4 テンプレートの処理
## テンプレートとは何か
おそらくあなたはMVCのデザインパターンについて聞いたことがあると思います。Modelはデータを処理を、Viewは表示結果を、Controllerはユーザのリクエストの制御を行います。Viewレイヤーの処理では、多くの動的な言語ではどれも静的なHTMLの中に動的言語が生成したデータを挿入します。例えばJSPでは`<%=....=%>`を挿入することで、PHPでは`<?php.....?>`を挿入することで実現します。
@@ -349,4 +349,4 @@ Webアプリケーションを作る時はテンプレートの一部が固定
* [目次](<preface.md>)
* 前へ: [正規表現の処理](<07.3.md>)
* 次へ: [ファイルの操作](<07.5.md>)
{% endraw %}
<!-- {% endraw %} -->

View File

@@ -1,4 +1,4 @@
{% raw %}
<!-- {% raw %} -->
# 9.1 CSRF攻撃の予防
## CSRFとは何か 
@@ -92,4 +92,4 @@ tokenを検証
* [目次](<preface.md>)
* 前へ: [セキュリティと暗号化](<09.0.md>)
* 次へ: [入力フィルタリングの確保](<09.2.md>)
{% endraw %}
<!-- {% endraw %} -->

View File

@@ -1,4 +1,4 @@
{% raw %}
<!-- {% raw %} -->
# 10.2 ローカライズリソース
前の節ではどのようにしてLocaleを設定するかご紹介しました。Localeを設定したあとはどのようにしてLocaleに対応する情報を保存するかという問題を解決する必要があります。ここでの情報とは以下の内容を含みますテキスト情報、時間と日時、通貨の値、画像、ファイルや動画といったリソース等です。ここではこれらの情報に対してご紹介していきたいと思います。Go言語ではこれらのフォーマットの情報をJSONに保存します。その後それぞれ適した方法によって表示します。(以下では日本語と英語のつの言語を対比して例を挙げます。保存の形式はそれぞれen.jsonとja-JP.jsonです。)
## ローカライズテキスト情報
@@ -133,4 +133,4 @@ Localeの違いによってビューを表示させる場合もあるかもし
* [目次](<preface.md>)
* 前へ: [デフォルトロケールの設定](<10.1.md>)
* 次へ: [国際化サイト](<10.3.md>)
{% endraw %}
<!-- {% endraw %} -->

View File

@@ -1,4 +1,4 @@
{% raw %}
<!-- {% raw %} -->
# 10.3 国際化サイト
前の節でどのようにしてローカライズリソースを処理するかご紹介しました。Localeに対応した設定ファイルです。ではもし複数のローカライズリソースを処理する場合はいくつかの我々が通常使用する例は簡単なテキスト翻訳、時間や日時、数字といったものはどのように処理するのでしょうかこの節では一つ一つこれらの問題を解決していきます。
## 複数のロケールパッケージの管理
@@ -179,4 +179,4 @@
* [目次](<preface.md>)
* 前へ: [ローカライズリソース](<10.2.md>)
* 次へ: [まとめ](<10.4.md>)
{% endraw %}
<!-- {% endraw %} -->

View File

@@ -1,4 +1,4 @@
{% raw %}
<!-- {% raw %} -->
# 12.2 サイトエラー処理
我々のWebアプリケーションが一旦実運用されると、さまざまなエラーが発生する可能性があります。Webアプリケーションの日常の実行ではいくつものエラーが発生する可能性があります。具体的には以下のとおり
@@ -123,4 +123,4 @@
* [目次](<preface.md>)
* 前へ: [アプリケーションログ](<12.1.md>)
* 次へ: [アプリケーションのデプロイ](<12.3.md>)
{% endraw %}
<!-- {% endraw %} -->

View File

@@ -1,4 +1,4 @@
{% raw %}
<!-- {% raw %} -->
# 13.3 controller設計
伝統的なMVCフレームワークにおいて、多くの場合Action設計のサフィックス反映にもとづいています、しかしながら、現在webではREST風のフレームワークが流行しています。なるべくFilterかrewriteを使用してURLのリライトを行い、REST風のURLを実現しています。しかしなぜ直接新しくREST風のMVCフレームワークを設計しないのでしょうか本章ではこういった考え方に基いてどのようにREST風のMVCフレームワークにフルスクラッチでcontroller、最大限に簡素化されたWebアプリケーションの開発、ひいては一行で可能な"Hello, world"の実装についてご説明します。
@@ -162,4 +162,4 @@ index.tplのコードは以下のようになります。データの設定と
* [目次](<preface.md>)
* 前へ: [カスタム定義のルータの設計](<13.2.md>)
* 次へ: [ログとコンフィグ設計](<13.4.md>)
{% endraw %}
<!-- {% endraw %} -->

View File

@@ -1,4 +1,4 @@
{% raw %}
<!-- {% raw %} -->
# 13.5 ブログの追加/削除/修正の実装
前ではbeegoフレームワークの全体的な構造思想の実装とニセコードの一部の実装についてご紹介しました。この節ではbeegoを通してブログシステムを設計しましょう。これにはブログの閲覧、追加、修正、削除といった操作が含まれます。
@@ -257,4 +257,4 @@ edit.tpl
* [目次](<preface.md>)
* 前へ: [ログとコンフィグ設計](<13.4.md>)
* 次へ: [まとめ](<13.6.md>)
{% endraw %}
<!-- {% endraw %} -->

View File

@@ -1,4 +1,4 @@
{% raw %}
<!-- {% raw %} -->
# 14.3 フォームおよび検証のサポート
Web開発ではこのようなプロセスをよく見かけます
@@ -280,4 +280,4 @@ structを定義したらcontrollerにおいてこのように操作します
* [目次](<preface.md>)
* 前へ: [Sessionのサポート](<14.2.md>)
* 次へ: [ユーザの認証](<14.4.md>)
{% endraw %}
<!-- {% endraw %} -->

View File

@@ -1,4 +1,4 @@
{% raw %}
<!-- {% raw %} -->
# 14.5 多言語サポート
第10章において国際化とローカライゼーションおよびgo-i18nライブラリの開発についてご紹介しました。この節ではこのライブラリをbeegoフレームワークの中にもってくることで、我々のフレームワークにおいて国際化とローカライゼーションをサポートさせます。
@@ -112,4 +112,4 @@ beegoにおいて以下のようにグローバル変数を設定します
* [目次](<preface.md>)
* 前へ: [ユーザ認証](<14.4.md>)
* 次へ: [pprofのサポート](<14.6.md>)
{% endraw %}
<!-- {% endraw %} -->