タグ

ブックマーク / blog.shibayan.jp (19)

  • ASP.NET Core で Open Redirect 攻撃を避けるために LocalRedirect / IsLocalUrl を使う - しばやん雑記

    ちょっと前に ASP.NET Core で Open Redirect の脆弱性が見つかって修正したという話が出てました。 歴史的に ASP.NET は Open Redirect の脆弱性が多い気もしますが、デフォルトの挙動が ReturnUrl を受け取り、それを使うという形なので注意したい部分ではあります。 JVNDB-2011-003557 - JVN iPedia - 脆弱性対策情報データベース 今回の ASP.NET Core の脆弱性は IsLocalUrl のチェックに問題があったようなので、正しく使っていても影響を受けたという悲しい感じですが、そもそも正しく使えていなければ意味がないので書きます。 Open Redirect 攻撃を受ける例 よくあるログイン前にいたページに、ログイン後戻るコードを含むアクションです。ASP.NET では歴史的に ReturnUrl という

    ASP.NET Core で Open Redirect 攻撃を避けるために LocalRedirect / IsLocalUrl を使う - しばやん雑記
  • Azure の一部インスタンスタイプでは AMD の CPU がまだ使われている - しばやん雑記

    Ryzen のニュースを見て、松山の緑色した独身の生物が「AMD が使われているクラウドが無いから、仕方なく Intel CPU が使われているクラウドを使ってる」とか、舐めたことを言ってたので書きます。 Twitter でのやり取りも一応載せておきます。 @shibayan だまれ Intel 使いめ— だるやなぎドロップアウト (@daruyanagi) 2017年2月27日 @shibayan AMD ないから仕方なく使ってあげている— だるやなぎドロップアウト (@daruyanagi) 2017年2月27日 @shibayan まじかよw— だるやなぎドロップアウト (@daruyanagi) 2017年2月27日 タイトルの通り、Azure の一部インスタンスタイプでは未だに AMD の Opteron HE が使われています。リージョンで異なるみたいですが、Japan Eas

    Azure の一部インスタンスタイプでは AMD の CPU がまだ使われている - しばやん雑記
    teracy_junk
    teracy_junk 2017/02/28
    Opteron 4171 HEと
  • ASP.NET Web API でバージョニングを実現する方法を調べた - しばやん雑記

    一般的に Web API のバージョニングを実現する方法として、URL にバージョンを含める方法とクエリパラメータや HTTP ヘッダーでバージョンを指定する方法の 2 種類が使われています。 例を挙げると Twitter や Instagram の API は URL でバージョンを指定します。 https://api.twitter.com/1.1/statuses/user_timeline.json https://api.instagram.com/v1/media/popular?client_id=CLIENT-ID対して Azure の REST API では、クエリパラメータや HTTP ヘッダーでバージョンを指定します。 https://[search service name].search.windows.net/indexes?api-version=2015-0

    ASP.NET Web API でバージョニングを実現する方法を調べた - しばやん雑記
  • IIS Express と xUnit を使って URL Rewrite のテストを書く - しばやん雑記

    ASP.NET というか IIS を使ってアプリケーション開発を行っている場合、一度はお世話になっていると思う URL Rewrite ですが、割と書き方が難しいです。 IIS Manager にパターンのテストツールはありますが、大した機能は持ってません。 パターンをテストした後は、実際にアクセスして確かめるという手順を踏む場合が多いと思いますが、IIS 以外には自動で行うためのツールも用意されているみたいでした。 mod_rewrite 向けにはあるのに、IIS の URL Rewrite 向けにはないことにショックを受けたので、土日を利用して同じような機能を持つライブラリを書きました。 仕組みとしては IIS Express を裏側で立ち上げて、リクエストを投げているだけです。IIS Express はフルの IIS と同じ機能が使える上、コマンドラインから単体実行が簡単に行えるので

    IIS Express と xUnit を使って URL Rewrite のテストを書く - しばやん雑記
  • フィードから記事をパクるサイトに狙われたので対処してみた - しばやん雑記

    もう 3 週間ほど前になりますが、亀川さんからこのブログを丸パクリしてるサイトを教えてもらいました。 @shibayan の日記がrentalservernews dot comってところで丸パクされてる?GoogleではでてこないけどBingでは出るみたい— kkamegawa (@kkamegawa) 2015年7月1日 かなりめんどくさいと思ったんですが、やられっぱなしも嫌なので時間をかけて対応してみました。 現状を把握する パクってるサイトを見たところ fullrss.net というサービスを使って、全文を取得して WordPress に自動で記事にするという仕組みになっているっぽいです。fullrss.net 自体、正直評判は良くなさそうな感じです。 どのくらいの記事がパクられているのか調べるために、適当にスクリプトを書いて調べてみたところ、その当時で 101 記事が無断で全文パ

    フィードから記事をパクるサイトに狙われたので対処してみた - しばやん雑記
  • IIS Express のサイト設定から存在しないものを一括で削除する - しばやん雑記

    普段から Visual Studio と IIS Express を利用したアプリケーションの開発を行っていると、作成した分だけ IIS Express のサイト設定が一方的に追加されていきます。 例として、普段使っているマシンの applicationHost.config を紹介しておきます。 調べてみると、サイト数が 150 ほど登録されている状態でした。サイト数はかなり多いですが、大半がテスト用のプロジェクトで既にファイルも存在しないゴミ設定でした。 いい感じに削除したいので調べてみると、森島さんこと @statemachine のブログが引っ掛かりました。 なかなか良さそうですが、森島さんが紹介しているスクリプトだと、まだ使っているサイト設定まで問答無用で削除してしまうみたいでした。 使っているものを削除してしまうと次回の起動時にちょっと面倒なことになりそうなので、先に仮想ディレ

    IIS Express のサイト設定から存在しないものを一括で削除する - しばやん雑記
  • Azure Web Apps を使うと WordPress の脆弱性を教えてくれる - しばやん雑記

    今朝、Azure から Security Alert を伝えるメールが届きました。今まで受け取ったことが無かったので少し驚きましたが、中身を読むと Azure の監視体制がしっかりしていることが理解出来ました。 要するに、Azure Web Apps にデプロイしている WordPress が脆弱性のあるバージョンだから、早くアップデートしなさいと書いてあります。 WordPress なんてデプロイしていたかなと思いましたが、daruyanagi.com が WordPress だったのを思い出しましたので、管理者でログインしてみると確かにアップデートの通知が来ていました。 daruyanagi.com は半分死んでいるので、アップデートのことなんて完全に忘れていました。 アップデート自体はとても簡単で、ワンクリックで WordPress 4.2.2 へのアップデートが完了しました。 管理

    Azure Web Apps を使うと WordPress の脆弱性を教えてくれる - しばやん雑記
  • WCF WebSockets で実現するリアルタイム Web - しばやん雑記

    最近は Node.js と socket.io で WebSocket を使うことが多いようですね。Windows Azure でも動作する node.exe がリリースされたり、Microsoft もオープンソース寄りになってきたのかと思います。 しかし!わざわざ .NET 開発者が Node.js を使う必要があるのか?と言われると、私は必要ないと考えています。 何故なら .NET のインフラストラクチャには非同期機能はあらかじめ用意されており、WebSocket も HTML5Labs でのドラフト版という形ですが WCF WebSockets が公開されています。ちなみに WebSocket は IE10 で対応される予定ですし、既に Silverlight を使うことで IE9 などでも使えるようになっています。 http://html5labs.interoperability

    WCF WebSockets で実現するリアルタイム Web - しばやん雑記
    teracy_junk
    teracy_junk 2015/01/27
    古めだけどメモ
  • Facebook の Graph API 視点から自分新聞が何をやっているのか調べてみた - しばやん雑記

    もう年末なので、まあどこからともなく Facebook 使ってると自分新聞の記事が流れてきます。個人的に面白いのでやってるんですが、まあ毎年こういう記事が上がってきます。 2014年、今年もやってきた自分新聞を使っちゃった方へ | ノマサラ日記(ノマド的サラリーマンの日記) 結局、この記事は「個人情報を抜かれる!友達の情報も抜かれる!危険!!」としか書いてないので、正直なところ中身は無いに等しいです。危機感煽ってアフィリエイトに誘導しているように見えますし。 確かにアプリの情報を確認すると友達リストにアクセスをしていることは確認できます。 必要だからアクセスしているのか、単に情報を収集したいからアクセスしているのかは区別がつきません。これだとちょっと心配に思うかもしれませんね。 Facebook の Graph API について多少の知識があるので、その視点から自分新聞の挙動を調べてみまし

    Facebook の Graph API 視点から自分新聞が何をやっているのか調べてみた - しばやん雑記
  • 簡単に OCR を行える tesseract-ocr を iOS 7 向けにビルドして実際に動かしてみた - しばやん雑記

    tesseract-ocr - An OCR Engine that was developed at HP Labs between 1985 and 1995... and now at Google. - Google Project Hosting iOS で OCR を行ってみたかったので、有名な tesseract-ocr を自分でビルドしてみました。Windows はバイナリが提供されていたり、ビルド自体もシンプルだったりしますが、iOS で使う場合には複数のアーキテクチャに対応したライブラリを作る必要があるので手間がかかります。 その辺りの知識が不足していたので、まずは先人の知恵に頼ってビルドしてみることにしました。 Compile tesseract for iOS SDK 6.0 – Code-It iOS 6 SDK を使ってビルドする手順を書いてくれているページを見

    簡単に OCR を行える tesseract-ocr を iOS 7 向けにビルドして実際に動かしてみた - しばやん雑記
  • ASP.NET vNext(MVC / Web API / Web Pages 6, Entity Framework 7, SignalR 3)が TechEd NA で発表された話 - しばやん雑記

    開発者向けと銘打った Build 2014 では大した情報が出てこなかったのに、TechEd North America 2014 でどう考えても開発者向けとしか思えない情報がたくさん出てくる現象に名前を付けたい。 1 日目のキーノートでは Azure 周りに大量のアップデートが入り、No.1 に「しねる」とまで言わせました。 Azure Updateいろいろ | ブチザッキ とりあえず Web サイトに関しては目立ったアップデートが無くてほっとしました。ASP.NET と Azure IaaS 周りの人たちは de:code に向けて頑張ってもらいたい所存(鬼 とまあ、Azure 周りはこれぐらいにして題の ASP.NET vNext についてですが、TechEd NA 2 日目の最初のセッションで Scott Hunter と Scott Hanselman という豪華な 2 人によ

    ASP.NET vNext(MVC / Web API / Web Pages 6, Entity Framework 7, SignalR 3)が TechEd NA で発表された話 - しばやん雑記
  • ASP.NET MVC でページャーやパンくずリストを作るときには部分ビューなどを使うと便利 - しばやん雑記

    Twitter で酢酸先生が ASP.NET MVC でのビューの使い回しについて悩んでいたので、久しぶりに ASP.NET についてブログを書きます。 しばやんサイトに無限クロールして地獄を味合わせるか…。あ、asp,net mvcで複数のページの任意の場所にカスタムコントロールっていうかdivの塊(ページャーとかパンくずとか)を差し込みたいんだけど、複数のcshtmlにコピペしてるとメンテ不能になりそうなので良い方法ない?— 酢酸(さくさん) (@ch3cooh) May 1, 2014 こういったケースの場合、ASP.NET MVC では部分ビューや子アクション、そして Razor のセクションを使うと便利に書けます。それぞれ微妙に機能が異なるので分けて説明します。 Partial / RenderPartial 別ファイルとして用意されたビューを指定された位置にレンダリングします。

    ASP.NET MVC でページャーやパンくずリストを作るときには部分ビューなどを使うと便利 - しばやん雑記
  • Visual Studio 2012 の「JSON / XML をクラスとして貼り付ける」機能が便利すぎるけど - しばやん雑記

    最近 Twitter で酢酸先生とがりっちが同じような内容で悩んでました。 JSONわせたら自動でクラス作ってくれるプロダクトってないですかね— 酢酸 (山の手線20周) (@ch3cooh) July 5, 2013 DataContractJson(ryは jsonと同じクラス構造をつくらなきゃいけないのでざせつしました — がりっち氏@用 (@garicchi) July 11, 2013 その度に Visual Studio 2012 で出来るよ!と呟いてるんですが、もしかして出ない環境がある? 少なくとも、現時点で最新の Visual Studio 2012 Update 3 をインストール済みの環境では使えるようになっているはずです。 すいません、嘘付いてました。Web Essentials 2012 をインストールしておかないとメニューが表示されないようです。詳細は最後に

    Visual Studio 2012 の「JSON / XML をクラスとして貼り付ける」機能が便利すぎるけど - しばやん雑記
  • ASP.NET MVC 3 開発入門 (8) - 強力なモデルバインダ - しばやん雑記

    ASP.NET MVC 3 開発入門 - インデックス アクションの引数には自動的に同名のルーティング、クエリ、フォームパラメータがバインドされますが、プリミティブ型以外にもクラスなどの複合型を指定してもバインドを行うことが出来ます。これらはモデルバインダという機能によって実現されていて、標準で文字列や数値、アップロードされたファイルなど様々な型に対応しています。 [HttpPost] public ActionResult Upload(HttpPostedFileBase uploadFile) { // uploadFile には <input type="file" name="uploadFile" /> タグでポストされたファイルがバインドされる return View(); } ポストされたデータのバインディング以外にも、モデルバインダはモデルの作成時に定義したデータアノテー

    ASP.NET MVC 3 開発入門 (8) - 強力なモデルバインダ - しばやん雑記
  • ASP.NET MVC でパラメータを配列で受け取る - しばやん雑記

    可変個のパラメータを受け取るのはいろいろとめんどくさいですよね。PHP などでは以下のように name 属性の値に [] を付けて配列であることを指定していました。 <!-- 配列にマッピングしたい --> <input type="text" name="values[]" /> <input type="text" name="values[]" /> しかし、ASP.NET MVC ではアクションの引数を配列にするだけで実現できます。 public ActionResult Update(string[] values) { // この時点で values に値が格納されている return View(); } HTML は name の値から [] を削除します。 <!-- [] は不要 --> <input type="text" name="values" /> <input

    ASP.NET MVC でパラメータを配列で受け取る - しばやん雑記
  • ASP.NET MVC 3 開発入門 - インデックス - しばやん雑記

    全 24 回で完結しました。 はじめに 前提知識 構成図 完成したアプリのイメージ 環境の構築 プロジェクトを作成 ビューエンジンの選択 作成されたプロジェクトを確認 サーバ側のロジックを開発 モデルをコードファーストで作成 リポジトリパターンを適用する コントローラの追加 コントローラの実装 アクションの追加 強力なモデルバインダ アクションの実装 動画アップロードの実装 クライアント側のロジックを開発 ビューの作成 Razor の文法 ビューの実装 Details アクション Create, Edit アクション Delete, Index アクション HTML ヘルパーを活用 タグ・コメント登録を実装する クライアントサイド検証を利用する ローカル環境で動作を確認 IIS 7.5 Express で動作検証 ルーティング定義を確認、追加 自動的に作成されたテーブルを確認 ASP.NE

    ASP.NET MVC 3 開発入門 - インデックス - しばやん雑記
  • System.Web.Helpers を活用する - しばやん雑記

    Hatena.Helper を書いている時に「JSON 扱うのめんどくさいなー、とりあえず "json" ってタイプすればインテリセンスで何か出てくるだろ。」という行動がきっかけで知ったのですが、System.Web.Helpers というお手軽クラスが入ったアセンブリがあったのですね。 このアセンブリは ASP.NET Web Pages 1.0 をインストールすると同時に入ります。つまり ASP.NET MVC 3 や WebMatrix をインストールすると同時に入るわけです。結構面白いクラスが多かったので紹介したいと思います。 AntiForgery ヘルパー CSRF 対策用のワンタイムトークンの出力と検証を行うためのヘルパーです。 GetHtml メソッドを呼ぶと input タグが生成されるので、form タグの中で呼び出します。これでトークンも一緒に POST されるように

    System.Web.Helpers を活用する - しばやん雑記
  • Windows Phone 7 に対する勘違いを正そう - しばやん雑記

    ことの発端はこの記事。追記される度に酷い勘違いされているようなので、ブログでいろいろ書きます。 WP7のアプリは、ブラウザのプラグイン向けプラットフォームであるSilverlight。Silverlightの普及率はまだまだだと思うのですが(Silverlight必須のサイト見たことないし)、Silverlight自体は.NET frameworkのサブセットとなっているので、Windows向け開発者と言う非常に広い開発資源の裾野が見込めます。ただ正直、WMのときも.NETアプリは結構ありましたが、どれも超もっさりが基だったので、動作速度は全く期待できそうにありません。 iPhone vs Android vs WindowsPhone7を考える | 無線にゃん この時点で Silverlight について誤解されていますね。Windows Phone 7 の Silverlight は

    Windows Phone 7 に対する勘違いを正そう - しばやん雑記
  • WPF メモ (19) - しばやん雑記

    teracy_junk
    teracy_junk 2009/03/30
    ContextMenu
  • 1