Webアプリケーションを開発するとよく見かける脆弱性に CSRF (Cross-Site Request Forgery、クロスサイトリクエストフォージェリ) があります。
簡単には「ユーザーが予期しない処理を実行させようとする攻撃」といったところでしょうか。
その対策の1つに「正規の操作が行われていることを示すトークンを記述、検証する方法」があります。
ここでは、CSRFの詳細は記載せず、 ASP.NET MVC において、トークンを用いた CSRF対策 を実装する実例をまとめてみました。
目次
注意すべき処理
CSRF対策 で利用する クラス、メソッド
CSRF対策 の 実装例
CSRF対策 ができているか テスト
注意すべき処理
基本的に読み取り、表示以外は CSRF の危険性がないか注意すべき処理だと思います。
注意すべき処理
...
3月 2015年
Visual Studio の Browser Link を オフ にする方法
Browser link を無効にする方法をメモ。
起こっている現象
Visual Studio で Webアプリ 開発を行っていて、デバッグ実行すると以下のようなタグが埋め込まれている現象…。
<!-- Visual Studio Browser Link -->
<script id="__browserLink_initializationData" type="application/json">
{"appName":"Internet Explorer","requestId":"4fd1a29a21824d7ab098adfd5c2ebb0c"}
</script>
<script src="http://localhost:53351/5d25e5658b16437188a3fbfe704d3b2b/browserLink" type="text ...
Akinari Tsugo
0:00
ASP.NET,
Visual Studio
Blooger に オリジナルデザイン の ソーシャルボタン を設置する方法
最近、ウェブマスターツールから「モバイル対応していないと検索ランク下げるよ」的なメールが来て、直後から検索ランクがみるみる下がって困っていました…(気のせいかもしれませんが。。)
ちなみに、検索ランクを下げた理由は「モバイルユーザビリティが悪いから」だそうで、具体的には「タップ ターゲット が近すぎるから」だそうです。
致し方ないので重い腰をあげて ソーシャルボタン(facebook の「いいね」、twitter の 「ツイート」等) を押しやすいよう オリジナルデザイン に変更してみました。
ここでは、そのまとめを掲載します。
ちなみに、Google が推奨するボタンサイズ、ボタン間隔は 「タップ ターゲットのサイズを適切に調整する」 に記載されており、まとめると以下のようです。
どちらかを満たしていれば良いようなので、両方を満たして広げすぎる必要はないようです。
推奨され ...
Akinari Tsugo
22:55
Blogger
Blogger に オリジナルデザイン の "pocket" ボタン を 設置 する 方法
Blogger に オリジナルデザイン の "pocket" ボタンを設置する簡単な手順をまとめます。
オリジナルデザインのボタンを作成する場合、ブログテンプレートを直接編集することで作成します。
具体的には、Bloggerの管理ページへログイン後、[テンプレート]-[HTML の 編集]で編集できる ブログテンプレート に対して直接変更を加えます。
以下の手順では、ブログテンプレートのどの部分に対してどのように変更を加えるかを記載しています。
テンプレート の 編集手順
ポストデータを表示するタグ内で、表示したい位置に以下のタグを挿入します。
リンクは pocket に登録する URL を埋め込むように作成しています。
<b:widget id='Blog1' locked='true' title='ブログの投稿' type='Blog'>
...
...
Akinari Tsugo
18:59
Blogger
Blogger に オリジナルデザイン の "はてぶ" ボタン を 設置 する 方法
Blogger に オリジナルデザイン の "はてぶ(はてなブックマーク)" ボタンを設置する簡単な手順をまとめます。
オリジナルデザインのボタンを作成する場合、ブログテンプレートを直接編集することで作成します。
具体的には、Bloggerの管理ページへログイン後、[テンプレート]-[HTML の 編集]で編集できる ブログテンプレート に対して直接変更を加えます。
以下の手順では、ブログテンプレートのどの部分に対してどのように変更を加えるかを記載しています。
テンプレート の 編集手順
ポストデータを表示するタグ内で、表示したい位置に以下のタグを挿入します。
ブックマーク時のに URL を指定するよう作成しています。
<b:widget id='Blog1' locked='true' title='ブログの投稿' type='Blog'>
...
...
Akinari Tsugo
18:47
Blogger
Blogger に オリジナルデザイン の "+1" ボタン を 設置 する 方法
Blogger に オリジナルデザイン の "google pulus one(+1)" ボタンを設置する簡単な手順をまとめます。
Googleさんはカウント数を取得する方法を提供していないようなので、 Yahoo! の YQL (Yahoo Query Language) を利用させていただきます。
オリジナルデザインのボタンを作成する場合、ブログテンプレートを直接編集することで作成します。
具体的には、Bloggerの管理ページへログイン後、[テンプレート]-[HTML の 編集]で編集できる ブログテンプレート に対して直接変更を加えます。
以下の手順では、ブログテンプレートのどの部分に対してどのように変更を加えるかを記載しています。
テンプレート の 編集手順
前提として必要な外部ファイルは jQuery と font-awesome の2種類です。
...
Akinari Tsugo
18:01
Blogger
Blogger に オリジナルデザイン の "share" ボタン を 設置 する 方法
Blogger に オリジナルデザイン の Facebook "シェア(share)" ボタンを設置する簡単な手順をまとめます。
(残念ながら Facebook "いいね!(like!)" ボタンはうまくできていません。。)
オリジナルデザインのボタンを作成する場合、ブログテンプレートを直接編集することで作成します。
具体的には、Bloggerの管理ページへログイン後、[テンプレート]-[HTML の 編集]で編集できる ブログテンプレート に対して直接変更を加えます。
以下の手順では、ブログテンプレートのどの部分に対してどのように変更を加えるかを記載しています。
テンプレート の 編集手順
前提として必要な外部ファイルは jQuery と font-awesome の2種類です。
headerの任意の場所へ以下のタグを挿入します。
font-awesome は ...
Akinari Tsugo
17:44
Blogger
Blogger に オリジナルデザイン の "tweet" ボタン を 設置 する 方法
Blogger に オリジナルデザイン の "ツイート(tweet)" ボタンを設置する簡単な手順をまとめます。
オリジナルデザインにすれば、モバイル対応もできるはず…
具体的にはアイコンの大きさ、色、形、位置等が自由に作られるようになります。
オリジナルデザインのボタンを作成する場合、ブログテンプレートを直接編集することで作成します。
具体的には、Bloggerの管理ページへログイン後、[テンプレート]-[HTML の 編集]で編集できる ブログテンプレート に対して直接変更を加えます。
以下の手順では、ブログテンプレートのどの部分に対してどのように変更を加えるかを記載しています。
テンプレート の 編集手順
前提として必要な外部ファイルは jQuery と font-awesome の2種類です。
headerの任意の場所へ以下のタグを挿入します。
fon ...
Akinari Tsugo
17:04
Blogger
C# で EventLog を出力する方法
現在、イベントログには大きく2種類あるようです。
「Windowsログ」と「アプリケーションとサービスログ」。
ここでは古くからある「Windowsログ」の出力方法をまとめます。
イベントログの種類
上述した通り、イベントログは「Windowsログ」と「アプリケーションとサービスログ」の2種類があります。
このうち Windowsログ はさらに、大きく3種類 + カスタムログ に分類されます。
イベントログの種類
Windows ログ
アプリケーションログ
セキュリティログ
システムログ
カスタムログ
アプリケーション と サービス ログ
各アプリケーション または サービス ごと
※セキュリティログは読み取り専用
ログレベルの種類
...
Akinari Tsugo
23:24
C#,
log4net
EventLog 出力 で 使う EventSource を 登録 & 解除 する方法
.es_tbl {
width: 100%;
border-collapse: collapse;
border: 1px solid #dddddd;
}
.es_tbl th {
text-align: center;
border: 1px solid #dddddd;
background-color: #efefef;
}
.es_tbl td {
border: 1px solid #dddddd;
}
.es_dl {
width: 20em;
margin: 0 1.5em 0 1.5em;
}
.es_dl dt {
float: left;
}
.es_dl dd {
margin-left: 16em;
}
Windows の イベントログ を出力しようと思うと、あらかじめ "イベントソース" を登録して ...
Akinari Tsugo
23:24
C#,
log4net,
バッチ,
レジストリ