愛用本 標準 ASP テクニカルリファレンス


TOP メモ全般 DNS と ActiveDirectory 関連 Windows Server 2003 SP1 関連 リモートデスクトップ 関連 WSC 関連 SMTP 送信関連 IIS 関連 ASP 関連(ここ)
プログラマ以外は一度、目を通しておくとよい。  プログラミングについてあまり知られていない7つのこと  http://www.tommyjp.com/2010/08/blog-post_1710.html  スタートアップ企業で8年間Webの開発をしてみての反省点いろいろ  http://blog.madoro.org/mn/84  月刊エンジニアライフ(26)プログラマとリーダーの「すれ違い」を解決しよう  http://jibun.atmarkit.co.jp/lcom01/rensai/el/26/01.html  電話するならまず先にメールでアポを取るべき  http://togetter.com/li/52775  聞き上手がとらない10個の行動  http://sem-labo.net/blog/2010/10/17/0419/  プレゼンのための5:3:2の法則  http://www.mindhacks.jp/2010/10/post-2937  【レポート】無能な人とはつきあわない - コンサルが教える時間を無駄にしない10のコツ  http://journal.mycom.co.jp/articles/2010/10/20/timemanagement/ プログラマは  脆弱性体験学習ツール AppGoat  http://www.ipa.go.jp/security/vuln/appgoat/index.html
●キャッシュオフの設定 ASP Response.AddHeader "Pragma","no-cache" 'HTTP/1.0 用ヘッダ Response.AddHeader "Cache-control","no-cache" 'HTTP/1.1 用ヘッダ Response.Expires = 0 '期限切れ Response.CacheControl = "Private" public キャッシュ可能 private プライベート (非共有) キャッシュ可能 no-cache キャッシュ禁止 こんな書き方も Response.AddHeader "Cache-Control", "no-cache, must-revalidate" XHTML <meta http-equiv="Cache-Control" content="no-cache" /> HDML <HDML VERSION=3.0 PUBLIC=TRUE MARKABLE=FALSE TTL=0> ※TTL=0を追加する
デバッグ用に、ポップアップ表示(サーバサイドで動作するので注意) Function strPrint(str) Dim objWS Set objWS = Server.CreateObject("WScript.Shell") objWS.Popup str End Function strPrint "メッセージが表示されます。" IIS7.0 で Response.Expires = 0 と書くと何かバグがあるみたいで極稀に、500 内部サーバーエラーを返すようです… (1回だけ遭遇しましたがエラーを控えてなかった… 時計周りっぽい気がします。) で、時計回りで胡散臭いのは HPET。 BIOS で hpet の設定項目があるなら disable しといた方が良いかも。 Response.Expires の 上に Response.Expiresabsolute = Now()-1 と書いておけばOKかも? (Response.Expires = 0 の行でエラーが出てたから書くなら上に。) IIS7.0 + ASP で w3wp.exe の負荷率が上がって応答がなくなる場合は、 該当する asp ファイルを保存しなおすと直るかも。 原因不明な現象は、ASP ファイルが正しく読めない事が原因の可能性、大。 IIS でサーバーを立てる場合は、7.0 を飛ばして 7.5 にするのが無難。 IIS 7.0 および IIS 7.5 上で Classic ASP アプリケーションを実行する IIS7 - Classic ASP ハングアップ - Web/DB プログラミング徹底解説
include virtual と include file <!--#include virtual="./include.asp"--> <!--#include file="include.asp"--> 何処かに書いた気がするんだけど、消しちゃってたみたいなので…
HTML タグを使ってイメージ ツール バーをオフにする Web ページの個別の画像に対してイメージ ツール バーの機能をオフにする <img border="0" src="filename" galleryimg="no"> <img border="0" src="filename" galleryimg="false"> Web ページのすべての画像に対してイメージ ツール バーの機能をオフにする <meta http-equiv="imagetoolbar" content="no"> <meta http-equiv="imagetoolbar" content="false"> Web ページのすべての画像に対してイメージ ツール バーの機能をオフにした場合には、以下の <img> 構文を使用して galleryimg 属性を "yes" または "true" に設定することで、機能を画像ごとにオンにできます。 <img border="0" src="filename" galleryimg="yes"> <img border="0" src="filename" galleryimg="true"> 詳しくは http://www.microsoft.com/japan/ie/using/howto/customizing/imgtoolbar.asp
ASP で StrConv を扱うには。 下記サイトに、関数を作られている方がいらっしゃいます。 http://www.dolphinnetservice.ne.jp/AcrobatASP/1.asp
Server.MapPath で利用できない文字 ・Asterisk (*) ・Question mark (?) ・Angle brackets (< or >) ・Comma (,) ・Colon or semi-colon (: or ;) ・Single-quote or double-quote (' or ") ・Right square bracket (]) ・Double slashes (// or \\) Server.MapPath Method http://msdn2.microsoft.com/en-us/library/ms524632.aspx
自然言語・形態素解析を使ってみる。 利用ソフト 茶筅 Windows版 茶筅(ChaSen)をVBなどから呼び出すためのラッパーDLL ComCha.dll、ChaDll.dll ※ comcha.dll は、chasen.dll と同じ場所に置かないと動きません。ASP から呼び出す場合は、アクセス権(アプリケーションプールのアカウントを追加)にも注意 [サンプル] Dim oCha, sRes Const CstRcFile = "c:\program files\chasen21\dic\chasenrc" Set oCha = Server.CreateObject("ComCha.Chasen") Call oCha.Init("-j -r """ & CstRcFile & """ -F%M\t%y\t%H\n") sRes = oCha.Analyze("茶筅は素晴らしいソフトウェアです") '解析結果の表示 Response.Write oCha.Version & "<br>" Response.Write "<TABLE BORDER=1>" Response.Write "<TR><TH>見出語</TH><TH>読み</TH><TH>品詞</TH></TR><TR><TD>" For lPos = 1 To Len(sRes) sWk = Mid(sRes, lPos, 1) If (Asc(sWk) = 10) Then Response.Write "</TR>" & vbCrLf &"<TR><TD>" ElseIf (Asc(sWk) = 9) Then Response.Write "</TD><TD>" Else Response.Write(sWk) End If Next Response.Write "</TD></TR></TABLE>" その他  日本語形態素解析システム JUMAN  http://www.kc.t.u-tokyo.ac.jp/nl-resource/juman.html  MeCab (和布蕪)  http://mecab.sourceforge.jp/  ウェブで茶せん−Yahoo!JAPAN、「日本語形態素解析Webサービス」APIを無料公開  http://www.rbbtoday.com/news/20070618/42770.html  RakutenMAによる形態素解析入門 - あんちべ!  http://antibayesian.hateblo.jp/entry/2015/01/08/085741
Log Parser 2.2 日本語版リリース http://go.microsoft.com/?linkid=3169569 IIS のリソースキットにも、2.0 だか 2.1 が含まれていて気になってたのですが 2.2 がリリースされたので、使ってみる。  試しに ASP で実験  コンポーネントの登録  C:\Program Files\Log Parser 2.2>regsvr32 LogParser.dll  HELP のソースを参考に書いてみる。 Dim oLogQuery Set oLogQuery = Server.CreateObject("MSUtil.LogQuery") ' 入力形式オブジェクトを作成します。 Set oIISW3CInputFormat = Server.CreateObject("MSUtil.LogQuery.IISW3CInputFormat") ' クエリ テキストを作成します。 strQuery = "SELECT c-ip FROM <W3SVC/1> WHERE cs-uri-stem LIKE '%hitcount.asp'" ' クエリを実行し、LogRecordSet を受け取ります。 Set oRecordSet = oLogQuery.Execute ( strQuery, oIISW3CInputFormat ) ' すべてのレコードを参照します。 DO WHILE NOT oRecordSet.atEnd ' レコードを取得します。 Set oRecord = oRecordSet.getRecord ' 最初のフィールド値を取得します。 strClientIp = oRecord.getValue ( 0 ) ' フィールド値を出力します。 Response.Write "Client IP Address: " & strClientIp ' LogRecordSet を次のレコードに進めます。 oRecordSet.moveNext LOOP ' RecordSet を閉じます。 oRecordSet.close … アクセス権が無いとかで、動きませんでした。。。 %systemroot%\system32\LogFiles\W3SVC1 に IUSR_xxx を追加で表示されるようになります。 Windows Server 2003 の IIS6.0 で自作した DLL とかコールして うまく動かない場合は SYSTEM32 フォルダに入れてみましょう。(環境パスの通った場所に置く) (2000 だと何処に置いても問題なく動いてたから、これを解決するのに結構悩みました。。。) それでも動かない場合は NETWORK SERVICE ユーザにアクセス権を付与してみる。 Active Server Pages が VBScript 実行時エラー '800a01ad' を返す DLL ファイルで "アクセス許可は拒否されました" エラーを監視する ISAPI アプリケーションマッピングからエクステンションを削除する影響 ネットワーク サービスとは何ですか? DLL ファイルの登録時にライブラリの読み込みが失敗する [INFO] IIS 6.0 でのデフォルトのアクセス許可とユーザー権利 資料を探すならこのあたりを参考に。 http://blogs.sqlpassj.org/mitsugi/archive/2004/04/09/1613.aspx http://www.exconn.net/Forums/ShowPost.aspx?PostID=759 http://www.atmarkit.co.jp/fwin2k/operation/logparser1/logparser1_01.html http://www.atmarkit.co.jp/fwin2k/operation/logparser1/logparser1_02.html http://www.atmarkit.co.jp/fwin2k/operation/logparser1/logparser1_03.html http://www.atmarkit.co.jp/fwin2k/operation/logparser1/logparser1_04.html IIS7 + ASPX の場合はフォルダにアプリケーションの変換を行い、ログにアクセス権限を与えればOKです。 kojikoji.net の 本日の User-Agent 集計 実験するだけなら、アプリケーションプールのアカウントを LocalSystem に変更すればトラブル無く表示出来るかと。 初めて aspx で書いた時に作った物でよければどーぞ。alog.zip 完成度が高い物が仕上がったら下さい(笑) (攻撃の形跡など調べるなら十分利用できるかと思います)  こういったものも。  ウェブサイト攻撃の検出ツール「iLogScanner」の性能向上版を公開 〜ウェブサイト管理者は、ログを分析する習慣を〜  http://www.ipa.go.jp/about/press/20100827.html  ASP.NET アプリケーションに偽装を実装する方法  http://support.microsoft.com/kb/306158/ja  System.Security.Principal.WindowsIdentity.GetCurrent().Name で、実行しているユーザを確認出来ます。 関連  ■ Tales from the Script 2005 年 1 月 - ログこそすべて (Log Parser について)  http://go.microsoft.com/?linkid=3700640  ■ ErrorCodes.js  http://www.microsoft.com/japan/technet/scriptcenter/tools/logparser/scripts/logpar01.mspx  ■ WEB サービスの提供  http://www.microsoft.com/japan/technet/technetmag/issues/2005/01/servingtheweb/default.mspx ADSI を利用すれば、ログの抽出も楽になりますね。 Active Directory Service Interfaces (ADSI)のお勉強に少し書いてます。 IIS のログのパスは Dim ComputerObj, Child Set ComputerObj = GetObject("IIS://localhost/W3SVC") For Each Child In ComputerObj If Child.Class = "IIsWebServer" THEN Response.Write Child.ServerComment & "<br>" Response.Write ComputerObj.LogFileDirectory & "\" & ComputerObj.Name & Child.Name & "\" & "<br>" Response.Write Child.LogFileLocaltimeRollover 'True で 現地時間でログが保存(ファイル名が u_ex….log になっている IIS7 では False でもこれ、ってバグ?) 'Request.ServerVariables("SERVER_SOFTWARE") で IIS のバージョン確認するしかないかな End If Response.Write "<hr>" Next こんな感じで。※このスプリクトを動作させるには IIS6管理互換をインストールしておく必要があります。  リファレンス  http://msdn.microsoft.com/ja-jp/library/cc338173.aspx ちなみに、リファラーの検索ワードをデコードする場合は、URLUNESCAPE(cs(Referer))、EUC の場合は URLUNESCAPE(cs(Referer),20932)←コードページ指定で。 ネットワークにコンテンツがある場合に、2009.12パッチで動かなくなった?  マイクロソフト セキュリティ アドバイザリ(973811) 認証に対する保護の強化  http://www.microsoft.com/japan/technet/security/advisory/973811.mspx   Microsoft Windows の HTTP サービス (WinHTTP) で認証の拡張保護を実装する更新プログラムの説明   http://support.microsoft.com/kb/971737   HTTP プロトコル スタック (http.sys) で認証の拡張保護を実装する更新プログラムの説明   http://support.microsoft.com/kb/970430   インターネット インフォメーション サービス (IIS) で認証の拡張保護を実装する更新プログラムの説明   http://support.microsoft.com/kb/973917 -- あなたのサイトをGoogleはどう見てる?--Googleサイトマップ日本語版が登場 http://japan.cnet.com/news/media/story/0,2000047715,20091123,00.htm 試しに登録してみました。 2005.11.18 に調べた結果。  上位の検索クエリ   1. 0x8007041d   2. ネットワーク "アダプタ に" ip "アドレス を 設定 する 際 の エラー" メッセージ   3. 0x8ddd0004 エラーコード   4. logparser win32 有効 アプリケーション   5. wsus "クライアント 設定" 上位の検索クエリのクリック数   1. iispassword   2. "winhttp5 dll"   3. aspbufferinglimit   4. netbt 4321   5. url "エンコード 攻撃" だ、そうで。。。  必要なディスク領域を計算しています。しばらくお待ちください。    Windows Server 2008 SP2 を Virtual Server にインストールして  LogParser.msi をセットアップしようとすると、このメッセージのまま固まる?  Windows インストーラー使った物が全滅っぽいなぁ  容量可変のDISKになっているとそうなるっぽいのかも。
動的 HTTP圧縮について ASP で Response.BinaryWrite で吐き出すとエラーになった。(って事は SSL 使った場合もエラーになるんだろう…) で、少し調査。 ------------------------------------------------------------------------------------- デフォルトの HTTP 圧縮では、拡張子が "htm"、"html"、"txt" のファイルのみが圧縮される。  doc, ppt, xls, csv を追加   CSCRIPT.EXE ADSUTIL.VBS SET W3Svc/Filters/Compression/GZIP/HcFileExtensions "htm" "html" "txt" "doc" "ppt" "xls" "csv"   CSCRIPT.EXE ADSUTIL.VBS SET W3Svc/Filters/Compression/DEFLATE/HcFileExtensions "htm" "html" "txt" "doc" "ppt" "xls" "csv"   IISRESET.EXE  参考   HTTP 圧縮対象のドキュメントの種類を追加する方法   http://support.microsoft.com/kb/q234497/ ------------------------------------------------------------------------------------- gzip圧縮転送について http://tech.bayashi.net/pdmemo/gzip.html Simple MIME type handling test http://entropymine.com/jason/testbed/mime/ サーバが生成したデータを gzip 圧縮し、ヘッダ情報追加して吐きだせば上手く動くのかな。 GZIP.DLL があるっぽい  zCompress  http://www.vector.co.jp/soft/win95/prog/se129697.html 追加するヘッダ情報追加 Response.AddHeader "Content-Encoding", "gzip" 実験は、そのうち。 誰かやっている人いるかな… 関連情報  HTTP圧縮を使用するだけで帯域幅もコストも削減できる〜米調査結果  http://internet.watch.impress.co.jp/www/article/2003/0724/port80.htm   port80 http://www.port80software.com/surveys/top1000compression/#checkyoursite   この記事で紹介されている上記サイトでは、URL を入力するだけで gzip 圧縮がされているか否か   圧縮したらどの程度圧縮されるのか、どの程度の転送スピードアップが見込めるのか教えてくれます。  IIS 5.0 Web サイトで HTTP 圧縮を使用する  http://www.microsoft.com/japan/technet/prodtechnol/windows2000serv/technologies/iis/maintain/featusability/httpcomp.mspx  HOW TO: IIS の ASPX 圧縮を有効にします。  http://support.microsoft.com/kb/322603  [IE] HTTP 圧縮を使用している Web サーバーから返送されたデータの最初の 2,048 バイトが Internet Explorer で失われる  http://support.microsoft.com/default.aspx?scid=kb;ja;JP312496  Apacheにmod_gzipを組み込んで帯域を節約したい  http://www.itmedia.co.jp/help/tips/linux/l0455.html  Accept-Encoding に gzip を付けてないクライアントをリダイレクト  http://sonic64.com/cat_http.html  Web Team Walking: はじめに  http://www.microsoft.com/japan/msdn/columns/webteam/webteam08062001.asp  XML での (G)zip の使い方がわかりません - XML をさらに (一緒に) 圧縮する  http://www.microsoft.com/japan/msdn/columns/webteam/webteam08062001.asp#webteam08062001_topic2  キャッシュはなくても、整っている  http://www.microsoft.com/japan/msdn/columns/webteam/webteam06042001.asp  [ASP.NET]動的に圧縮ファイルを生成するには?  http://www.atmarkit.co.jp/fdotnet/dotnettips/361aspzipfile/aspzipfile.html  10 行でズバリ !! 圧縮と展開 (VB)  http://www.microsoft.com/japan/msdn/thisweek/300x10/phase3/compress/vb.aspx  10 行でズバリ !! 圧縮と展開 (C#)  http://www.microsoft.com/japan/msdn/thisweek/300x10/phase3/compress/cs.aspx
HTTPS 利用時に Respose.BinaryWrite をする場合の注意点。  Internet Explorer では、Web サイト名またはアドレス - ファイル名 をダウンロードできません。  このインターネットのサイトを開くことができませんでした。要求されたサイトが使用できないか、見つけることができません。後でやり直してください。 と、表示されて動かない場合は、  サーバー側(asp) で調整するには、Cache-control: no-cache や Cache-control: no-store ヘッダーが送信されいると思われる。  これを削除すると動作する。 これは、インターネット一時ファイルに保存出来ない事が原因らしい。 IE の設定を変更する事で、一時ファイルの作成をしなくなりエラーが出なくなる。   現在のユーザ   HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings   全てのユーザ   HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings   値の名前 : BypassSSLNoCacheCheck   データ型 : REG_DWORD   値     : 1(有効) デフォルトは 0(無効)   HTTPS を使用しない通常の HTTP の場合   値の名前 : BypassHTTPNoCacheCheck   データ型 : REG_DWORD   値     : 1(有効) デフォルトは 0(無効) 参考  Internet Explorer が SSL 経由によるファイルのダウンロードで "No-Cache" ヘッダーを処理できない  [IE] HTTPS URL から Office ドキュメントまたは PDF ファイルを開こうとすると "ダウンロードできません" エラーが発生 圧縮にかんしても、こういうことだったのかな?(そのうち調べよう・・・)
エラーコード一覧 400 - Bad Request 構文に誤りがあるため、サーバーはリクエストを正しく認識できませんでした。 401 - Unauthorized リクエストにはユーザーの認証が必要です。 403 - Forbidden サーバーはリクエストを認識しましたが、その実行を拒否しています。 404 - Not Found サーバーは、Request-URI に一致するものを検出できませんでした。 405 - Method Not Allowed Request-Line で指定されている方法は、Request-URI で識別されるリソースには許可 されていません。 406 - Not Acceptable リクエストによって識別されるリソースは、コンテンツ特性を持つ応答エンティティを 生成できるだけで、リクエストの一部として送信された受付ヘッダに従って受け付ける ことができません。 407 - Proxy Authentication Required このコードは 401 (Unauthorized) に類似していますが、クライアントがまずプロキシ によって認証される必要があることを示します。 408 - Request Timeout クライアントは、サーバーが待機している時間内にリクエストを生成できませんでした。 409 - Conflict リソースの現在の状態との競合により、リクエストを完了できませんでした。 410 - Gone リクエストされたリソースはもはやサーバーでは使用可能ではなく、転送アドレスがわ かりません。 411 - Length Required サーバーは、定義済みの Content- Length を含まないリクエストの受付を拒否します。 412 - Precondition Failed 1 つまたは複数のリクエストヘッダ フィールドで指定されている必須条件が、サーバ ー上でテストされたときに false と評価されました。 413 - Request Entity Too Large リクエスト エンティティのサイズがサーバーの処理能力を超えているため、サーバー はリクエストの処理を拒否しています。 414 - Request-URI Too Long Request-URI が長すぎてサーバーがそれを解釈できないため、サーバーはリクエストへ のサービスの提供を拒否しています。 415 - Unsupported Media Type リクエストのエンティティが、リクエストされた方法に対応するリソースによってサポ ートされていない形式であるため、サーバーはリクエストへのサービスの提供を拒否し ています。 417 - Expectation Failed Expect リクエストヘッダ フィールドで指定されている 期待値がこのサーバーによって満たされませんでした。また、サーバーがプロキシの場 合は、リクエストが次にホップするサーバーによって満たされないことが明らかになり ました。 500 - Internal Server Error サーバーで、リクエストの実行を妨げる予期しない状況が発生しました。 501 - Not Implemented サーバーは、リクエストの実行に必要な機能をサポートしていません。サーバーがリク エストの方法を認識できず、任意のリソースに対してそのリクエストをサポートできな いとき、このエラーは適切な応答といえます。 502 - Bad Gateway ゲートウェイまたはプロキシとして動作しているサーバーが、リクエストを実行しよう としてアクセスした上流のサーバーから無効な応答を受信しました。 503 - Service Unavailable 一時的な過負荷または保守により、サーバーは現在リクエストを処理することができま せん。 504 - Gateway Timeout ゲートウェイまたはプロキシとして動作しているサーバーが URI (HTTP、FTP、LDAP など) によって指定されている上流のサーバー、またはリクエストを実行しようとして アクセスする必要のあったその他の補助サーバー (DNS など) からタイムリーな応答を 受信できませんでした。 505 - HTTP Version Not Supported サーバーは、リクエスト メッセージの中で使用されていた HTTP プロトコルのバージ ョンをサポートしていません。またはそのサポートを拒否しています。 サブステータス コード 401.1 ログインに失敗 401.2 サーバー設定のためにログインに失敗 401.3 リソースの ACL (アクセス制御リスト) のために、認証されません 401.4 フィルターによって認証が失敗 401.5 ISAPI/CGI のアプリケーションにより認証に失敗 401.7 ポリシーによる URLAuthZ 拒否(IIS6 のみ?) 403.20 Passport のログインの失敗 404.1 MIME ポリシーによる拒否 404.2 ロックダウン ポリシーによる拒否 500.16 UNC ユーザー名/パスワードが不正確 500.17 URLAuthZ ストアが見つからない 500.18 URLAuthZ ストアを開けない 500.19 不正なファイル メタデータ 500.20 URLAuthZ スコープが見つからない IIS 状態コード http://support.microsoft.com/kb/318380/
Doodle2 VBS用画像描画・変換COMコンポーネント http://www.vector.co.jp/soft/winnt/prog/se219120.html DynaCall - Win32APIコール http://www.borncity.com/WSHBazaar/WSHDynaCall.htm オブジェクト内のメソッドプロパティがわからないときはVB、Officeがあるならオブジェクトブラウザ 持ってない人はOLE/COM Object Viewer http://www.microsoft.com/com/resources/oleview.asp Office XP ツール : Web Components http://go.microsoft.com/?linkid=4345017 Office 2003 アドイン : Office Web Components http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=7287252C-402E-4F72-97A5-E0FD290D4B76
ScriptX を呼び出す。 参考 ScriptX スクリプトによる Web ページ印刷のサポート Server.CreateObject("ScriptX.Factory") 印刷については  印刷プレビュー  http://winofsql.jp/VA003334/asp051102163328.htm
ASP で AJAX... UTF-8 で 出力 <%@ Language=VBScript ENABLESESSIONSTATE=False CODEPAGE=65001 LCID=1041 %> <% Option Explicit %> <% Response.AddHeader "Pragma","no-cache" %> <% Response.AddHeader "Cache-control","no-cache" %> <% Response.ContentType = "text/xml" %> <% Response.Expires = 0 %> <% Response.CacheControl = "Private" %> <% Server.ScriptTimeout = 120 'タイムアウト時間を 120 秒に設定 Response.CharSet = "UTF-8" '文字セットを UTF8 に設定 'ENABLESESSIONSTATE=True の場合は、セッション保持時間を設定 'Session.Timeout = 5 'セッション保持時間を 5 分に設定 'Session.CodePage = "65001" Response.Write "<?xml version=""1.0"" encoding=""UTF-8""?>" & vbCrLf %> ※ファイルの保存時に UTF-8 を選択する事。 上記コードをインクルードした asp を SSL のサイトで XMLHttpRequest でコールすると VISTA 以外は IE がハングするんですけど。。。 なんで?( http アクセスの場合は IE が応答なしになる事はないみたい) 文字コードを Shift-JIS に変更しても一緒・・・ SSL + ASP による 動的 XML がアウト?  Ajaxを理解する4つのポイント  http://www.itmedia.co.jp/enterprise/articles/0608/10/news019.html  たのしいXML: XML/XHTML入門ページです  http://www6.airnet.ne.jp/manyo/xml/index.html ※1 行目に改行が在ると XML として認識されません。  ASP で動的にデータを出力する場合はご注意を。。。   responseXML で取得ができない例    <%    Server.ScriptTimeout = 120 'タイムアウト時間を 120 秒に設定    Response.CharSet = "UTF-8" '文字セットを UTF8 に設定    %>    <?xml version="1.0" encoding="UTF-8"?>   responseXML で取得可能な例    <%    Server.ScriptTimeout = 120 'タイムアウト時間を 120 秒に設定    Response.CharSet = "UTF-8" '文字セットを UTF8 に設定    %><?xml version="1.0" encoding="UTF-8"?> Internet Explorer 6 で UTF-8 のコンテンツを閲覧した場合、日本語が正常に表示されないことがある http://support.microsoft.com/kb/943922 Internet Explorer で Windows Server 2003 ベースのコンピュータまたは Windows XP ベースのコンピュータで JScript を使用する Web ページを表示すると、パフォーマンスの Web ブラウザ低下が発生することがあります。 http://support.microsoft.com/kb/942840 2008.4.2 現在 IIS6.0 の Server.HtmlEncode で 2バイト文字が表示されないんですが… UTF-8 でファイルを保存した場合に起きるようで、、、いつから?  Server.HTMLEncode および Server.URLEncode によって上位の UTF8 文字列が破損する  http://support.microsoft.com/kb/294831/ja UTF-8 で保存したソースで、OpenTextFile や OpenAsTextStream で ANSI(Shift-JIS)を取り込んだ場合に 上記現象が発生するようで。。。ADODB.Stream で解決。下の方に書いてます。  UTF-8.jp  http://utf-8.jp/ 第5回 [さらに気になる]JSONの守り方 http://www.atmarkit.co.jp/fcoding/articles/webapp/05/webapp05b.html  XMLHttpRequest Level 2 でクライアント側でのクロスドメインでの通信が可能になるようです。  サーバー側のヘッダに Access-Control-Allow-Origin [domein] で。  例)  Response.AddHeader "Access-Control-Allow-Origin", "http://www.netdive.jp"  てな感じでしょうかね。  IE8 の場合は XDomainRequest を利用するようです。    これを有効にしている場合、IE で重要情報が抜かれる可能性があるそうで・・・  http://www.itmedia.co.jp/enterprise/articles/1009/07/news019.html    
ソース : Active Server Pages イベント ID : 5 が出る場合の対処  DCPROMO 実行時に一部の IIS フォルダのアクセス許可が保持されない  http://support.microsoft.com/?id=332097    を参考に、IIS_WPG、NETWORK SERVICE のアクセス許可がフォルダにあるか確認。
DB 利用時の次ページ実装(てぬき) Const P = 10 '1ページの表示件数 pg = Request.QueryString("pg") If pg = "" Or pg = "0" Or IsNumeric(pg)=False Then pg = 1 Else pg = Abs(pg) End If pg = Int(pg) RS.Open SQL, DB, 3, 1 If Not RS.Eof Then RS.PageSize = P RS.AbsolutePage = pg pgcnt = RS.PageCount L=1 Do Until RS.Eof Or L > P Response.Write RS.Fileds("id").Value RS.MoveNext L = L + 1 Loop Response.Write pg & "/" & pgcnt End If このサイトが役立つかも。  WinOfSql  http://hp.vector.co.jp/authors/VA003334/
エクセルファイルを表示 OLEDB は 32bit の IIS でしか動かないので注意。 Dim i Dim SQL Dim DB: Set DB = Server.CreateObject("ADODB.Connection") Dim RS: Set RS = Server.CreateObject("ADODB.Recordset") DB.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & _ "Data Source=" & Server.MapPath("エクセルファイル.xlsx") & ";" & _ "Extended Properties=""Excel 12.0;HDR=YES;IMEX=1"";" ' ↑14にしろとかMSのサイトに書いてあったけど、動かないと思う。 SQL = "SELECT * FROM [Sheet1$]" RS.Open SQL, DB Response.Write "<html>" Response.Write "<body>" Do While Not RS.EOF For i=0 To RS.Fields.Count - 1 Response.Write RS.fields(i).Name Response.Write RS.fields(i).Value Next Response.Write "<br>" RS.MoveNext Loop Response.Write "</body>" Response.Write "</html>" RS.Close DB.Close
WEBサーバにtelnet接続 コマンドから telnet www.netdive.jp http GET /index.html HTTP/1.1 Host: netdive.jp Connection: close ※HTTP/1.1 でアクセスする場合は、Host,Connection は必須 ちなみに、このサイトは HTTP1.0 ではアクセス出来ません。 以下記事も参考に。  XSSは知ってても、それだけじゃ困ります?  http://www.atmarkit.co.jp/fsecurity/rensai/httpbasic01/httpbasic01.html
Web サーバに telnet 接続(と POST 送信) コマンドから telnet www.kojikoji.net http open プロクシサーバ:8080 <プロクシ経由でアクセスしたい場合 POST /index.asp HTTP/1.1 Cookie: hoge=hogehoge Referer: http://hoge.com Connection: close Proxy-Connection: Keep-Alive User-Agent: Mozilla/1.0 Host: kojikoji.net Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */* Accept-Encoding: gzip, deflate Accept-Language: ja Content-type: application/x-www-form-urlencoded Content-length: 11 name=MYNAME BASP を使った POST 送信(ASP) Server.ScriptTimeout = 120 Const strDATA = "name=MyName" Set BASPB = Server.CreateObject("basp21.socket") C = BASPB.Connect("www.kojikoji.net", 80, 10) BASPB.Write ("POST /index.asp HTTP/1.1" & vbCrLf & _ "Cookie: hoge=hogehoge" & vbCrLf & _ "Referer: http://hoge.com" & vbCrLf & _ "Connection: close" & vbCrLf & _ "Proxy-Connection: Keep-Alive" & vbCrLf & _ "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */*" & vbCrLf & _ "Accept-Encoding: gzip, deflate" & vbCrLf & _ "Accept-Language: ja" & vbCrLf & _ "User-Agent: Mozilla/1.0" & vbCrLf & _ "Host: www.kojikoji.net" & vbCrLf & _ "Content-type: application/x-www-form-urlencoded" & vbCrLf & _ "Content-length: " & Len(strDATA) & vbCrLF & _ strDATA & vbCrLF & vbCrLF) C = BASPB.Readline(datas) While C = 0 And Len(datas) > 0 ' ヘッダーを読み飛ばす Response.Write datas & "<br>" C = BASPB.Readline(datas) Wend C = BASPB.Readline(datas) While C = 0 Response.Write datas & vbCrLf C = BASPB.Readline(datas) Wend BASPB.Close Set BASPB = Nothing Response.End ※基本的にユーザからの情報は信用出来ない事が分かるかと。 ファイルのアップロードを行う時は Content-type: multipart/form-data; boundary=BOUND_STRING --BOUND_STRING Content-Disposition: form-data; name="file"; filename="C:\temp\文書.txt" Content-Type: text/plain ... 文書.txt ... --BOUND_STRING Content-Disposition: form-data; name="submit" 送信 --BOUND_STRING-- 参考サイト W3C Recommendation Webブラウザが送信する変数 Webサーバ側の環境変数 Accept: HTTP_ACCEPT: Referer: HTTP_REFERER: Accept-Language: HTTP_ACCEPT_LANGUAGE: Accept-Encoding: HTTP_ACCEPT_ENCODING: User-Agent: HTTP_USER_AGENT: Host: HTTP_HOST: Proxy-Connection: HTTP_CONNECTION: Proxyサーバが付加して送信している情報 HTTP_VIA: HTTPプロトコルのバージョン、ProxyサーバのFQDN名:ポート番号、Proxyサーバのバージョン HTTP_FORWARDED: Proxyサーバの情報 HTTP_X_FORWARDED_FOR: 経由してきたProxyサーバのIPアドレス一覧。一番左側がクライアントのIPアドレス。 HTTP_CACHE_CONTROL: Proxyサーバ側でのキャッシュを保持する最大秒数 HTTP_CACHE_INFO: Proxyサーバ側でのキャッシュ [HOWTO] XMLHTTP を使用してバイナリ ストリームを送信する方法 http://support.microsoft.com/default.aspx?scid=kb;ja;296772 ユーザー エージェント文字列を理解する http://www.microsoft.com/japan/msdn/ie/ie7/aboutuseragent.aspx
ASP で XML 文書を扱う Set objDOM = Server.CreateObject("MSXML2.DOMDocument") result = objDOM.load("file.xml") 'XML 形式のファイルを読み込んでメモリ上に展開する result = objDOM.loadXML(str) 'XML 形式の文字列を読み込んでメモリ上へ展開する Set nodelist = objDOM.selectNodes("/XML/*") 'XPath が /XML/* なもののノード名および要素を取得 For i = 0 To nodelist.length - 1 rc = rc & nodelist.item(i).nodename & "," rc = rc & nodelist.item(i).text & "," Next result = objDOM.selectsingleNode("/XML/status").text 'XPath が /XML/status な要素を取得 属性を拾う場合は、  nodelist.attributes.item(i).nodeName  nodelist.attributes.length 予約語 いくつかの文字は XML の構文構造の一部であり、単に入力しただけでは文字として解釈されません。 特殊な文字シーケンス( XML では「エンティティ」といいます)に置き換えなければなりません。 以下のケースに注意してください。 < &lt; & &amp; > &gt; " &quot; ' &apos; じゃなく、、、&#39; がいいらしい。 SQLXML パフォーマンスの最適化 ちなみに パラメータ付URLでエンコードが不要な文字は 「a〜z」「A〜Z」「0〜9」「'」「.」「-」「*」「)」「(」「_」 XPath インジェクションによる危険を回避する http://www.ibm.com/developerworks/jp/xml/library/x-xpathinjection.html?ca=drs-jp XPS Documents: XML Paper Specification ドキュメントを作成する API の概要 https://www.microsoft.com/japan/msdn/msdnmag/issues/06/01/XMLPaperSpecification/default.aspx XMLコンソーシアム、セキュリティ規格「WS-Security」の日本語翻訳文書を公開 http://japan.zdnet.com/news/sec/story/0,2000056194,20167667,00.htm DOMとJavaScript: 子ノードを調べる、他 http://www6.airnet.ne.jp/manyo/xml/dom/step2.html AJAX で処理中のプログレスバーとかのアイコンが欲しい場合は http://mentalized.net/activity-indicators/
PerlScriptの呼び出し方 --------------- test.asp <script language="PerlScript" runat="Server"> sub GetHostName { return (gethostbyaddr(pack("C4", split(/\./, $_[0])), 2)); } </script> <html> <body> <% Response.Write GetHostName(Request.ServerVariables("REMOTE_HOST")) %> </body> </html>
VBScriptの呼び出し方 strCommand = """" & Server.MapPath("Scripts/Create.vbs") Set objShell = Server.CreateObject("WScript.Shell") lngRet = objShell.Run(strCommand, 10, True) Set objShell = Nothing Dim strFullPath : strFullPath = Server.MapPath(".") & "\メモ帳.lnk" Set WshShell = Server.CreateObject("WScript.Shell") Set oLink = WshShell.CreateShortcut( strFullPath ) Response.Write "TargetPath:" & oLink.TargetPath & "<br>" Response.Write "WindowStyle:" & oLink.WindowStyle & "<br>" Response.Write "Hotkey:" & oLink.Hotkey & "<br>" Response.Write "IconLocation:" & oLink.IconLocation & "<br>" Response.Write "Description:" & oLink.Description & "<br>" Response.Write "WorkingDirectory:" & oLink.WorkingDirectory & "<br>" RC = WshShell.Run("CMD.EXE /C DIR > a.txt", 0, True) Response.Write RC Set oLink = Nothing Set WshShell = Nothing レジストリの値も取り出せます。 OS情報を表示 ProductName : <% = WshShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProductName") %> CurrentVersion : <% = WshShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\CurrentVersion") %> CSDVersion : <% = WshShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\CSDVersion") %> CurrentBuildNumber : <% = WshShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\CurrentBuildNumber") %> こんな感じ
他のサイトのコンテンツを ASP 内で取得 '---IEオブジェクト利用 Set ie = CreateObject("InternetExplorer.Application") ie.Navigate ("http://www.yahoo.co.jp") For i = 0 To 10000 If ie.ReadyState = 4 Then Exit For End If Next Set obj = ie.Document 'src に HTML のソースを入れる src = obj.body.outerHTML たぶん、このような書き方ができます。 Response.Write ie.document.getElementsByName("l")(0).tagName Response.Write ie.document.getElementsByName("l")(0).outerHTML Response.Write ie.document.getElementsByName("l")(0).value エレメントの仕様についてはこの辺り http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/objects.asp 余談 C:\Program Files\INTERN~1>IEXPLORE.EXE "about:<html><body><input type=file id=txtFile></body></html>" は、IE6SP1 から禁止されましたが C:\Program Files\INTERN~1>IEXPLORE.EXE "javascript:document.write('<html><body><input type=file id=txtFile></body></html>');" これは、動きます。… [update]個人でもできる情報漏洩対策 http://opentechpress.jp/special/article.pl?sid=07/07/03/1126253 スプリクトを使って、IE を起動してログインとかは簡単に作れますしね… 非表示で動作していると、なにされてるかも判りませんし、、、 こんな感じ。 このサンプルでは、input に値を入れていますが ブラウザに各サイトでのユーザーIDとパスワードを覚えさせて いるような場合は、ページを開いて submit するだけで… '*************************************************** '* GMAIL に自動ログイン '*************************************************** On Error Resume Next Set wShell=CreateObject("WScript.Shell") Set ie=CreateObject("InternetExplorer.Application") ie.Visible=True ie.Navigate2 "https://www.google.com/accounts/ServiceLogin?service=mail&passive=true&rm=false&continue=http%3A%2F%2Fmail.google.com%2Fmail%3Fhl%3Dja%26ui%3Dhtml%26zy%3Dl<mpl=default<mplcache=2&hl=ja" Do While ie.Busy Or ie.ReadyState<>4 WScript.Sleep 100 Loop Set Body = ie.Document.getElementsByTagName("INPUT") If Body.length <> 0 Then For i = 0 To Body.length - 1 Select Case UCase(Trim(Body(i).Name)) Case "Email" Body(i).Value = "メールアドレス" Case "Passwd" Body(i).Value = "パスワード" End Select Next ie.Document.forms(0).submit Do While ie.Busy Or ie.ReadyState<>4 WScript.Sleep 100 Loop End If Wscript.Quit ※動作チェックはしてませんw  テキストファイルに ID とパスワードをメモして保存している場合は  標準機能に暗号化が在りますので、利用しましょう。  下のほうで、右クリックに追加する方法を書いています。  Ctrl+Fで「暗号化機能を活用する」を検索して下さい。 '---MSXML2を利用 Const lResolve = 1000 Const lConnect = 1000 Const lSend = 5000 Const lReceive = 5000 Const SXH_OPTION_URL_CODEPAGE = 0 Const SXH_OPTION_ESCAPE_PERCENT_IN_URL = 1 Const SXH_OPTION_IGNORE_SERVER_SSL_CERT_ERROR_FLAGS = 2 Const SXH_OPTION_SELECT_CLIENT_SSL_CERT = 3 Const SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS = 13056 Dim oXmlHttp Set oXmlHttp = Server.CreateObject("MSXML2.ServerXMLHTTP") With oXmlHttp .setTimeouts lResolve, lConnect, lSend, lReceive 'タイムアウトの設定(ServerXMLHTTP 利用時のみ有効) .setOption SXH_OPTION_URL_CODEPAGE, 932 'コードページ設定(コードページ一覧) ' .setOption SXH_OPTION_IGNORE_SERVER_SSL_CERT_ERROR_FLAGS, SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS ' .setOption SXH_OPTION_SELECT_CLIENT_SSL_CERT, "LOCAL_MACHINE\My\[Cert Common Name]" '証明書が必要なページの場合 '※証明書が ASP ページで指定されている場合は、証明書の完全なパスを指定して setOption を呼び出す。 'スプリクトからは .setOption SXH_OPTION_SELECT_CLIENT_SSL_CERT, "[Cert Common Name]" ' Response.Write .getOption(SXH_OPTION_URL_CODEPAGE) で値の取得が可能。 Call .open("POST", url, False) ' Call .open(bstrMethod, bstrUrl, bAsync, bstrUser, bstrPassword) 'パスワード付のページの場合 .setrequestHeader "Content-type", "application/x-www-form-urlencoded" 'POST でデータを送信するとき .send data 'データは a=123 等。 Do Until .ReadyState = 4 .waitForResponse 1000 Loop html = .responseText 'コンテンツの内容を取得 ' html = .responseBody 'コンテンツの内容をバイナリで取得 ' html = .responseStream 'コンテンツの内容をストリームで取得 .status 'HTTPレスポンスコード取得 End With XMLHTTP メソッド Abort          現在の HTTP 要求をキャンセルします。 GetAllResponseHeaders  応答メッセージからすべてのヘッダー フィールドを取得します。 GetResponseHeader    応答の本文から HTTP ヘッダーの値を取得します。 Open           HTTP サーバーへの接続を開始します。 SetRequestHeader     要求ヘッダー フィールドの 1 つを設定します。 .SetRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" .SetRequestHeader "Cookie", "BrowserTest=Success" .SetRequestHeader "Accept-Language", "ja" .SetRequestHeader "Content-Type", "text/html; charset=iso-2022-jp" .setRequestHeader "Accept-Encoding", "identity" Send  HTTP サーバーに要求を送信します (本文を含めることもできます)。 XMLHTTP プロパティ OnReadyStateChange        イベント ハンドラの参照。このプロパティは非同期操作のみで使用され、サーバーからデータが返されるなど、ready 状態が変更されたときのイベント ハンドラの呼び出しを指定します。 ReadyState   Integer    非同期操作の状態を示します。0 (初期化されていません)、1 (ロード中)、2 (ロード済み)、3 (対話中)、または 4 (完了) のいずれかです。 ResponseBody   Variant    配列 応答の本文を配列で返します。 ResponseStream  IStream    応答の本文を ADO Stream オブジェクトで返します。 ResponseText   String    応答の本文をテキスト文字列で返します。 ResponseXML   XMLDocument   オブジェクト応答の本文を MSXML XMLDOM パーサーで解析された状態で返します。 .responseXML.selectSingleNode(".//*").nodename .responseXML.selectSingleNode(".//*").text .responseXML.getElementsByTagName("title").length .responseXML.getElementsByTagName("title")(i).text .responseXML.getElementsByTagName("title").Item(i).Length .responseXML.getElementsByTagName("title").Item(i).nodename .responseXML.getElementsByTagName("title").Item(i).Text .responseXML.getElementsByTagName("title").Item(i).tagname .responseXML.getElementsByTagName("title").Item(i).nodeTypedValue Status   Long   サーバーが返す HTTP ステータス コードです。 StatusText  String   HTTP 応答ラインのステータスです。 "OK" --> "200 OK" "PARTIAL_CONTENT" --> "206 Partial Content" "MULTIPLE_CHOICES" --> "300 Multiple Choices" "MOVED" --> "301 Moved Permanently" "REDIRECT" --> "302 Found" "NOT_MODIFIED" --> "304 Not Modified" "BAD_REQUEST" --> "400 Bad Request" "AUTH_REQUIRED" --> "401 Authorization Required" "FORBIDDEN" --> "403 Forbidden" "NOT_FOUND" --> "404 Not Found" "METHOD_NOT_ALLOWED" --> "405 Method Not Allowed" "NOT_ACCEPTABLE" --> "406 Not Acceptable" "LENGTH_REQUIRED" --> "411 Length Required" "PRECONDITION_FAILED" --> "412 Rrecondition Failed" "SERVER_ERROR" --> "500 Internal Server Error" "NOT_IMPLEMENTED" --> "501 Method Not Implemented" "BAD_GATEWAY" --> "502 Bad Gateway" "VARIANT_ALSO_VARIES" --> "506 Variant Also Negotiates" 詳しくは、MSDNで。 XML Web サービス構築ガイド 第 10 章 安全な Web サービスの構築 MSXML September 2001 Microsoft XML Core Services (MSXML) 4.0 RTM Release の新機能 ServerXMLHTTP に関してよく寄せられる質問 (FAQ) [PRB] ServerXMLHTTP を使用して認証済みサイトにアクセスすると "アクセスが拒否されました" エラーが発生する [PRB] HTTP 上で XML を読み込むと Load メソッドが失敗する [INFO] ServerXMLHTTP が動作するにはプロキシ構成ユーティリティを使用する [MSXML] ServerXMLHTTP はリダイレクトされた要求を受信できない [IIS] HOWTO: ネットワーク モニタと MSXML HTTP コードを使用した TCP および HTTP データ フレームのキャプチャ Server.HTMLEncode/Server.URLEncode で UTF8 文字列が破損 [FIX] 要求が失敗すると ServerXMLHTTP は応答ヘッダーにアクセスできない [FIX] ServerXMLHTTP と長い URL での一般的なエラー メッセージ IIS サーバーに ServerXMLHTTP 要求オブジェクトのクライアント証明書をインストールする方法 .NET Framework 2.0 を使ってアプリケーションで証明書をサポートする ※ Windows 2000 Server で MSXML4.0 を動作させて、アクセスが拒否されました と出る場合は以下を参考 [INFO] ServerXMLHTTP が動作するにはプロキシ構成ユーティリティを使用する BUG: MSXML 4.0 SP2 をインストールした後に、 Proxycfg.exe を実行したら「 WinHTTP5.dll が見付からなかった」エラーがメッセージです。   イベントID 1000 と “アクセスが拒否されました。” というエラー メッセージが表示される場合   XP と 2003 でイベント ID 1517 と 1524 が表示される場合は   User Profile Hive Cleanup Service また、ServerXMLHTTP コンポーネントを使用するときには、setTimeouts Methodを使って、目的のタイムアウトを設定することができます。 MSXML Core Services 3. 0 および MSXML コア サービス 6. 0 の更新プログラムの説明 http://support.microsoft.com/kb/973687 Microsoft XML コア サービス 4. 0 Service Pack 3 の更新プログラムの説明 http://support.microsoft.com/kb/973685 AJAX(Asynchronous JavaScript + XML)関連  JKL.ParseXML  http://www.kawa.net/works/js/jkl/parsexml.html  古くて新しいAjaxの真実を見極める  http://www.atmarkit.co.jp/fwcr/special/ajax01/01.html  Ajaxで基本認証+SSL。  http://allabout.co.jp/career/javascript/closeup/CU20050730A/index.htm  Ajaxはじめの一歩 XMLHttpRequest  http://allabout.co.jp/career/javascript/closeup/CU20050515A/index.htm  RSSリーダーを作る  http://allabout.co.jp/career/javascript/closeup/CU20050531A/index.htm サイドメニューの折りたたみ(v5.0:ゆっくり折りたたむ) http://www.koikikukan.com/archives/2005/08/24-235656.php 【特集:枯れた新しいUI革命「Ajax」をASP.NETで活用する】 http://www.atmarkit.co.jp/fdotnet/special/ajax/ajax_01.html AJAXによるサーバサイドJavaとの連携を容易に - DWR 1.0公開 http://pcweb.mycom.co.jp/news/2005/08/30/017.html Webアプリに使えるAjaxライブラリ8選! http://www.atmarkit.co.jp/fwcr/special/ajax_kaitai03/01.html  そのうちこれで試してみる   セキュリティ情報 RSS 配信   http://www.exconn.net/Blogs/team02/archive/2005/08/15/2365.aspx 試す前に microsoft.FeedsManager オブジェクトが増えた。。。  Windows RSS プラットフォームの紹介  http://www.microsoft.com/japan/msdn/ie/ie7/msfeeds_ovw.aspx XAML とか ガジェット とか。。。  第 3 章 コントロールと XAML  http://www.microsoft.com/japan/msdn/longhorn/introducing/longhornch03.asp   SWF2XAML   http://www.mikeswanson.com/SWF2XAML/   一部で話題になってる Flash を XAML に変換するツール。  Windows Live ガジェット SDK の日本語版を公開  http://promotion.live.jp/livesdk/  .ResponseBody で 355MB 付近で 8007000E 「この操作を完了するのに十分な記憶域がありません。」と出る。。。  うちだけかなぁ・・・ WinHttp を使った場合(未確認) <% Dim objHTTP set objHTTP = Server.CreateObject("WinHttp.WinHttpRequest.5.1") objHTTP.Open "GET", "http://www.kojikoji.net/" objHTTP.SetRequestHeader "Content-type", "text/html" objHTTP.Send Response.Write objHTTP.ResponseText %>  Microsoft Windows HTTP サービス (WinHTTP) で認証に対する保護の強化を実装する更新プログラムについて  http://support.microsoft.com/kb/971737  WinHTTP API で Windows 7 または Windows Server 2008 R2 での特殊文字が含まれている Web サイトからコンテンツを取得できません。  http://support.microsoft.com/kb/2409615 Microsoft.XMLHTTP を使った場合(未確認) <% Const URL="http://www.kojikoji.net/" Dim objXMLSet objXML = Server.CreateObject("Microsoft.XMLHTTP") objXML.Open "GET", URL, False objXML.SendResponse.Write(objXML.ResponseText) Set objXML = Nothing %> Java用の非同期HTTP通信ライブラリ http://journal.mycom.co.jp/column/tool/041/
ServerXMLHTTP で取り込んだデータが文字化けしていた場合の対応 Dim objStream Const adTypeBinary = 1 Const adTypeText = 2 Set objStream = Server.CreateObject("ADODB.Stream") With objStream .Open .Type = adTypeBinary .Write oXmlHttp.responseBody .Position = 0 .Type = adTypeText .Charset = "Shift-JIS" Response.Write .ReadText() .Close End With Set objStream = Nothing ※Content-Type で文字コードを確認しましょう。  ちなみに、EUC-JP かの判断は   If Instr(oXmlHttp.GetResponseHeader("Content-Type"),"euc-jp")=0 Then  こんな感じ。 Microsoft の ダウンロードセンター に "CAPICOM" ってのがあり http://www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=en これを使ってキャラクタセットを変換できるようです。  ASP で utf-8 な XML を返す  http://winofsql.jp/VA003334/useXML060306183105.htm  Windowsユーザーのためのワンポイント・レッスン 第23回  http://itpro.nikkeibp.co.jp/members/ITPro/ITBASIC/20040428/1/ UTF8なファイルを取り込んで正しく表示(ASP) Response.CharSet = "UTF-8" Set FS = Server.CreateObject("Scripting.FileSystemObject") Set objStream = Server.CreateObject("ADODB.Stream") With objStream .Open .Type = 2 .Charset = "UFT-8" .loadFromFile FS.BuildPath(Server.MapPath("."), "UTF8.HTML") Response.Write .ReadText() .Close End With Set objStream = Nothing Set FS = Nothing UTF8で保存 tempUTF8 = Request.Form("UTF8") Set FS = Server.CreateObject("Scripting.FileSystemObject") Set objStream = Server.CreateObject("ADODB.Stream") With objStream .Type = 2 .Charset = "UTF-8" .Open .WriteText tempUTF8 .SaveToFile FS.BuildPath(Server.MapPath("."), "UTF8.HTML") , 2 .Close End With Set objStream = Nothing Set FS = Nothing
エクセルファイルの作成 set_file_path = "C:\TEMP\エクセルのファイル作成.xls" Set set_obj = Server.CreateObject("Excel.Application") set_obj.Visible = True set_obj.Workbooks.Add set_obj.Range("A1").Value = "エクセルファイル作成" set_obj.ActiveWorkbook.Saveas set_file_path
セルの読み取り set Book = set_obj.Workbooks.Open(set_file_path) Response.Write Book.Worksheets(1).Cells(1,1).Value 'A1
エクセルの Sub,Function Macroの実行 set_file_path = "C:\TEMP\test.xls" Set set_obj = Server.CreateObject("Excel.Application") set_obj.Workbooks.Open set_file_path 'SubやFunctionやマクロの名前 Functionの後は名前の後に引数 set_obj.Run("test") set_obj.Quit Set set_obj = Nothing ADO を使用して Excel ブックのデータの読み取りおよび書き込みを行う方法 (ExcelADO) http://support.microsoft.com/kb/278973
ワード 入力フォームがあるテンプレートに流し込む場合 Set objWord = Server.CreateObject("Word.Application") Set objDoc = objWord.Documents.Open("c:\sample.doc") objWord.ActiveDocument.FormFields("Text1").Result = "〒とか" objWord.save "temp.doc" '別名保存 objDoc.Close objWord.Quit Set objDoc = Nothing Set objWord = Nothing 特定の位置を書き換える場合 Set objSelection = objWord.Selection With objSelection.Range.Find .ClearFormatting() .Text = "●●●●●●株式会社" .Forward = True .MatchWholeWord = False With .Replacement .ClearFormatting() .Text = "NETDIVE" End With .Execute ,,,,,,,,,,2 End With ちなみにロック解除は objWord.ActiveDocument.UnProtect
アクセスのマクロの実行 set_file_path = "C:\TEMP\db1.mdb" Set set_obj = Server.CreateObject("Access.Application") set_obj.OpenCurrentDatabase set_file_path set_obj.DoCmd.RunMacro "テストマクロ" set_obj.CloseCurrentDatabase set_obj.Quit Set set_obj = Nothing
MDBを使用したトランザクション処理の書き方 ADO編 Private Function tatoeba Dim Conn as ADODB.Connection Dim strsql as string On Error Goto Registerr Set conn = CurrentProject.Connection conn.BeginTrans 〜処理 strsql = "insert into t_DB1(ID,Num,Main)" & vbCrLf _ & " select ID,NUM,MAIN from t_DB2" conn.Execute strsql, , adExecuteNoRecords 'もしくはRecordSet開いて処理でも良い。 conn.CommitTrans conn.Close Set conn = Nothing Exit function Registerr: conn.RollbackTrans conn.close Set conn = Nothing End Function DAO編  Dim wk As Workspace  Set wk = DBEngine.Workspaces(0)  wk.BeginTrans 'ロールバックしたい時  wk.Rollback  wk.Close  Set wk = Nothing 'コミットしたい時  wk.CommitTrans  wk.Close  Set wk = Nothing
ADO を使った XML としてのデータ出力 Private Sub cmdSave_Click() Dim objNWRecordset As ADODB.Recordset Dim objNWConnection As ADODB.Connection Set objNWRecordset = New ADODB.Recordset Set objNWConnection = New ADODB.Connection objNWConnection.CursorLocation = adUseClient ' 次のステートメントの IES-FUJI を、 ' 適切なデータソースに置き換える必要がある objNWConnection.Open "Provider=SQLOLEDB.1;" & _ "Integrated Security=SSPI; Persist Security Info=False;" & _ " User ID=sa; Initial Catalog=Northwind; " Data Source=IES-FUJI" objNWRecordset.CursorLocation = adUseClient objNWRecordset.CursorType = adOpenStatic Set objNWRecordset.ActiveConnection = objNWConnection objNWRecordset.Open "Products" ' レコードセットを XML としてファイルに保存する objNWRecordset.Save "C:\Products.xml", adPersistXML End Sub ADO を使った XML としてのデータ入力 Private Sub cmdRetrieve_Click() Dim objNWRecordset As ADODB.Recordset Set objNWRecordset = New ADODB.Recordset ' XML ファイルにレコードセットを開く objNWRecordset.Open "C:\Products.XML", Options:=adCmdFile ' 新しいレコードセットを追加する objNWRecordset.AddNew objNWRecordset.Fields("ProductName") = "Test" End Sub 詳しくは http://www.microsoft.com/japan/msdn/library/ja/jpdnbwebapp/htm/XMLWeb06-01.asp
SQL Server Compact に接続 "Provider=Microsoft.SQLSERVER.CE.4.0;Data Source=c:\db\db.sdf;"
バイナリデータを16進で表示してみる Set BASP = Server.CreateObject("basp21") FLG=0 For i=0 To LenB(DAT) '16進表記で Response.Write Right("0" & Hex(AscB(BASP.MidB(DAT, i, 1))), 2) & " " FLG = FLG + 1 If FLG = 16 Then Response.Write "<br>" FLG = 0 End If Next ちなみに着うた作成では、BASP を利用してメモリ上で加工して出力しています。 IIS6.0でマッピングされてないファイルの出力の仕方はIIS関連のトレカ(.trc)で書いています。
JScript や VBScript をコードの中で利用 Set sc = CreateObject("ScriptControl") sc.Language = "VBScript" sc.Language = "JScript" Set js = sc.CodeObject Response.Write js.encodeURIComponent("文字列") 'UTF-8で出力される Timeout、AddCode、Eval が使える。
ISPのようにユーザー毎にWEB、FTP共に仮想ディレクトリを作り その仮想ディレクトリを登録、修正、管理する。 'FTPSVR SETTING FtpVdirPath = "c:\test" Set FtpServObj = GetObject("IIS://WWW/msftpsvc/1/Root") Set FtpVdirObj = FtpServObj.Create("IIsFtpVirtualDir", test) FtpVdirObj.SetInfo FtpVdirObj.AccessRead = True FtpVdirObj.AccessWrite = True FtpVdirObj.Put "Path", (FtpVdirPath) FtpVdirObj.SetInfo Response.Write"仮想ディレクトリを作成しました" & "<br>" 詳しくは ADSI や WMI をキーにサーチエンジンで検索して下さい。 ADSI Scriptomatic WMI (Windows Management Instrumentation) でのアプリケーション プロファイル
IEの「お気に入り」にアイコンを指定する 自分の好きなデザインのアイコンを作成して、【favicon.ico】という名前で保存する。 htmlファイルと同じフォルダに、作成した favicon.ico を用意しておけば準備完了 別のフォルダのアイコンを指定するにはHTML文書の<HEAD>〜</HEAD>の間に、 <LINK REL="SHORTCUT ICON" HREF="http://www.hoge.com/favicon.ico"> と記述する事で、アイコンファイルのURLを指定することが可能 ※アイコンファイルは、ちゃんとアイコンエディタで作成してやる必要があるので注意。  ⇒アイコンを作成するソフトとしては、MicrosoftのVisual C++などの開発環境に含まれているアイコンエディタなどがあります。
クロス サイト スクリプティングの問題点を軽減する ※Internet Explorer 6.0 SP1から、利用出来るようになっています。 Cookie は HTTP レスポンス ヘッダーを使ってクライアントに設定されます。以下にこのヘッダーで使用する構文を示します。 Set-Cookie: <name>=<value>[; <name>=<value>][; expires=<date>][; domain=<domain_name>][; path=<some_path>][; secure][; HttpOnly] HttpOnly 属性は大文字と小文字を区別しないことに注意してください。 以下のように、 ASP ページや ASP.NET ページを更新することによって HttpOnly オプションを設定できます。 Response.AddHeader("Set-Cookie","Name=Michael; path=/; HttpOnly; Expires=" + CStr(Now)) および HttpCookie cookie = new HttpCookie("Name", "Michael"); cookie.Path = "/; HttpOnly"; Response.Cookies.Add(cookie); または、以下のコードですべての送信 Cookie に対して自動的にタスクを実行する ISAPI フィルタを作成できます。 #include <windows.h> #include <httpfilt.h> #include "tchar.h" #include "strsafe.h" // HttpOnly 部分 DWORD WINAPI HttpFilterProc( PHTTP_FILTER_CONTEXT pfc, DWORD dwNotificationType, LPVOID pvNotification) { // ハードコードした Cookie 長 (2K バイト) CHAR szCookie[2048]; DWORD cbCookieOriginal = sizeof(szCookie) / sizeof(szCookie[0]); DWORD cbCookie = cbCookieOriginal; HTTP_FILTER_SEND_RESPONSE *pResponse = (HTTP_FILTER_SEND_RESPONSE*)pvNotification; CHAR *szHeader = "Set-Cookie:"; CHAR *szHttpOnly = "; HttpOnly"; if (pResponse->GetHeader(pfc,szHeader,szCookie,&cbCookie)) { if (SUCCEEDED(StringCchCat(szCookie, cbCookieOriginal, szHttpOnly))) { if (!pResponse->SetHeader(pfc, szHeader, szCookie)) { // 安全にできない - cookie を送信しません! pResponse->SetHeader(pfc,szHeader,""); } } else { pResponse->SetHeader(pfc,szHeader,""); } } return SF_STATUS_REQ_NEXT_NOTIFICATION; } ASP.Net 4: Change the Default Encoder http://software-security.sans.org/blog/2011/07/12/asp-net-4-change-the-default-encoder
'ADOX接続実験 [Microsoft ADO Ext 2.1 for DDL and Security] '参考 http://homepage2.nifty.com/inform/vbdb/ Set DB = Server.CreateObject("ADODB.Connection") Set CAT = Server.CreateObject("ADOX.Catalog") Set TBL = Server.CreateObject("ADOX.Table") DB.Open "Provider=SQLOLEDB;Data Source=(local);" & _ "Initial Catalog=pubs;", "sa", "" CAT.ActiveConnection = DB ' DB(pubs)のテーブルコレクション内をループする For Each TBL In CAT.Tables If TBL.Type = "TABLE" Then ' 通常のテーブルの場合だけ Response.Write TBL.Name ' テーブル名を出力する End If Next DB.Close Set TBL = Nothing Set CAT = Nothing Set DB = Nothing
'ADOX のデータ定義機能を利用して新しい MDB ファイルを作成 '使用する OLEDB プロバイダのバージョンによって規定のMDBファイル形式が異なるが、 'Engine Type パラメータを指定することにより特定のファイル形式を指定することが可能 OLEDB の登録一覧は PowerShell から (New-Object data.oledb.oledbenumerator).getElements() で確認出来ます。 Set CAT = Server.CreateObject("ADOX.Catalog") 'Access97形式のファイル作成 CAT.Create "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=C:\db97.mdb;" & _ "Jet OLEDB:Engine Type=4;" 'Access2000形式のファイル作成 CAT.Create "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=C:\db2000.mdb;" & _ "Jet OLEDB:Engine Type=5;" 'Access2007形式のファイル作成 CAT.Create "Provider=Microsoft.ACE.OLEDB.12.0;" & _ "Data Source=C:\db2007.accdb;" & _ "Jet OLEDB:Engine Type=6;" 'Download: 2007 Office system ドライバ: データ接続コンポーネント - Microsoft Download Center - Download Details 'http://www.microsoft.com/ja-jp/download/details.aspx?id=23734 'Download: Microsoft Access データベース エンジン 2010 再頒布可能コンポーネント - Microsoft Download Center - Download Details 'http://www.microsoft.com/ja-jp/download/details.aspx?id=13255 Set CAT = Nothing 'ADOX は DAOで装備されていてADOに不足しているデータ定義(DDL) 機能を提供します。 'ADOX は MDBファイルを対象にしていますので、SQL Server や Oracle のデータ定義を行うことはできない。 Set CAT = Server.CreateObject("ADOX.Catalog") Set TBL = Server.CreateObject("ADOX.Table") CAT.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\db2000.mdb;Jet OLEDB:Engine Type=5;" TBL.Name = "商品マスタ" CAT.Tables.Append TBL 'フィールドの定義 With cat.Tables("商品マスタ").Columns .Append "商品コード", adWChar, 10 .Append "商品名", adWChar, 30 .Append "説明", adWChar, 255 .Append "単価", adCurrency End With Set CAT = Nothing Set TBL = Nothing ※64 ビット コンピュータでは、Microsoft Access データ ソースに接続するパッケージを 32 ビット モードで実行する必要があります。  32 ビット バージョンで使用できるのは、Microsoft Jet OLE DB Provider と Microsoft Office 12.0 Access 用の OLE DB プロバイダだけです。  Access データベースに接続する方法  http://msdn.microsoft.com/ja-jp/library/cc280478(v=sql.105).aspx  OLE DB 接続マネージャ  http://msdn.microsoft.com/ja-jp/library/ms141013(v=sql.90).aspx Access HELP より 定数 値 説明 adArray (ADOX には適用せず。) 0x2000 常に別のデータ型定数と組み合わされ、そのデータ型の配列を示すフラグ値です。 adBigInt 20 8 バイトの符号付き整数を示します (DBTYPE_I8)。 adBinary 128 バイナリ値を示します (DBTYPE_BYTES)。 adBoolean 11 ブール値を示します (DBTYPE_BYTES)。 adBSTR 8 Null で終了する Unicode 文字列を示します (DBTYPE_BSTR)。 adChapter 136 子行セットの行を識別する 4 バイト チャプタ値を示します (DBTYPE_HCHAPTER)。 adChar 129 文字列値を示します (DBTYPE_STR)。 adCurrency 6 通貨値を示します (DBTYPE_CY)。通貨型は小数点以下 4 桁の固定小数点の数値です。スケールが 10,000 の、8 バイトの符号付き整数で格納します。 adDate 7 日付値を示します (DBTYPE_DATE)。日付型は倍精度浮動小数点数型 (Double) で格納され、整数部分は 1899 年 12 月 30 日からの日数を、分数部分は日数の分数を表します。 adDBDate 133 日付値 (yyyymmdd) を示します (DBTYPE_DBDATE)。 adDBTime 134 時刻値 (hhmmss) を示します (DBTYPE_DBTIME)。 adDBTimeStamp 135 日付/時刻スタンプ (yyyymmddhhmmss および 10 億分の 1 桁までの分数) を示します (DBTYPE_DBTIMESTAMP)。 adDecimal 14 固定精度およびスケールの正確な数値を示します (DBTYPE_DECIMAL)。 adDouble 5 倍精度浮動小数点値を示します (DBTYPE_R8)。 adEmpty 0 値を指定しません (DBTYPE_EMPTY)。 adError 10 32 ビット エラー コードを示します (DBTYPE_ERROR)。 adFileTime 64 1601 年 1 月 1 日からの時間を示す 64 ビット値を 100 ナノ秒単位で示します (DBTYPE_FILETIME)。 adGUID 72 固有のグローバル識別子 (GUID) を示します (DBTYPE_GUID)。 adIDispatch 9 COM オブジェクトの IDispatch インターフェイスへのポインタを示します (DBTYPE_IDISPATCH)。 注意 このデータ型は、現在は ADO ではサポートしていません。使用すると予期しない結果になることがあります。 adInteger 3 4 バイトの符号付き整数を示します (DBTYPE_I4)。 adIUnknown 13 COM オブジェクトの IUnknown インターフェイスへのポインタを示します (DBTYPE_IUNKNOWN)。 注意 このデータ型は、現在は ADO ではサポートしていません。使用すると予期しない結果になることがあります。 adLongVarBinary 205 長バイナリ値を示します (Parameter オブジェクトのみ)。 adLongVarChar 201 長文字列の値を示します (Parameter オブジェクトのみ)。 adLongVarWChar 203 Null で終了する Unicode 文字列値を示します (Parameter オブジェクトのみ)。 adNumeric 131 固定精度およびスケールの正確な数値を示します (DBTYPE_NUMERIC)。 adPropVariant 138 オートメーション PROPVARIANT を示します (DBTYPE_PROP_VARIANT)。 adSingle 4 単精度浮動小数点値を示します (DBTYPE_R4)。 adSmallInt 2 2 バイトの符号付き整数を示します (DBTYPE_I2)。 adTinyInt 16 1 バイトの符号付き整数を示します (DBTYPE_I1)。 adUnsignedBigInt 21 8 バイトの符号なし整数を示します (DBTYPE_I8)。 adUnsignedInt 19 4 バイトの符号なし整数を示します (DBTYPE_I4)。 adUnsignedSmallInt 18 2 バイトの符号なし整数を示します (DBTYPE_I2)。 adUnsignedTinyInt 17 1 バイトの符号なし整数を示します (DBTYPE_I1)。 adUserDefined 132 ユーザー定義の変数を示します (DBTYPE_UDT)。 adVarBinary 204 バイナリ値を示します (Parameter オブジェクトのみ)。 adVarChar 200 文字列値を示します (Parameter オブジェクトのみ)。 adVariant 12 オートメーション バリアント型 (Variant) を示します (DBTYPE_VARIANT)。 注意 このデータ型は、現在は ADO ではサポートしていません。使用すると予期しない結果になることがあります。 adVarNumeric 139 数値を示します (Parameter オブジェクトのみ)。 adVarWChar 202 Null で終了する Unicode 文字列を示します (Parameter オブジェクトのみ)。 adWChar 130 Null で終了する Unicode 文字列を示します (DBTYPE_WSTR)。 'オートナンバーと「空文字列の許可」を定義する Set COL = Server.CreateObject("ADOX.Column") Set CAT = Server.CreateObject("ADOX.Catalog") CAT.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\db2000.mdb;Jet OLEDB:Engine Type=5;" COL.Name = "ID" ' フィールド名 COL.Type = adInteger ' データ型 COL.ParentCatalog = cat ' Properties を設定する前に ParentCatalog の設定が必須 COL.Properties("Autoincrement") = True ' オートナンバーの指定 CAT.Tables("商品マスタ").Columns.Append COL ' Columnオブジェクトに特定のフィールドを割り当てる ' (オブジェクト変数 col を再利用する) Set COL = CAT.Tables("商品マスタ").Columns("説明") ' 対象フィールドの「空文字列の許可」を「はい」にする COL.Properties("Jet OLEDB:Allow Zero Length") = True
'主キーを設定する Set CAT = Server.CreateObject("ADOX.Catalog") CAT.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\db2000.mdb;Jet OLEDB:Engine Type=5;" Set keyX = Server.CreateObject("ADOX.Key") keyX.Name = "PrimaryKey" ' 任意の名前を割り当てる keyX.Type = 1 keyX.RelatedTable = "商品マスタ" ' 対象の既存テーブル名を指定 keyX.Columns.Append "ID" ' キーフィールドの追加 'さらに Append を繰り返すと複合の主キーを設定することができる CAT.Tables("商品マスタ").Keys.Append keyX
'MDBファイル内に新しいクエリーを作成 Set DB = Server.CreateObject("ADODB.Connection") Set CMD = Server.CreateObject("ADODB.Command") Set CAT = Server.CreateObject("ADOX.Catalog") CAT.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\db2000.mdb;Jet OLEDB:Engine Type=5;" ' クエリーとして保存する任意のSQL文を指定する SQL = "SELECT COUNT(*) AS 合計 FROM 商品マスタ" ' クエリーをCommandオブジェクトに設定 CMD.CommandText = SQL ' 名前を指定してクエリーを追加 CAT.Views.Append "合計数", CMD ' 既存のクエリーを削除する場合 'CAT.Views.Delete "合計数" ' 既存のクエリーを修正する場合 'CAT.Views.Item("合計数").Command = CMD ※ ファイルを監視するスプリクトで ADOX を扱っています。ソースはこっち
リンクの作成 Set CAT = Server.CreateObject("ADOX.Catalog") Set TBL = Server.CreateObject("ADOX.Table") CAT.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\db2000.mdb;Jet OLEDB:Engine Type=5;" With TBL .Name = "商品マスタ" Set .ParentCatalog = CAT .Properties("Jet OLEDB:Create Link") = True .Properties("Jet OLEDB:Link Datasource") = _ "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\db97.mdb;Jet OLEDB:Engine Type=4;" .Properties("Jet OLEDB:Remote Table Name") = "商品マスタ" End With CAT.Tables.Append TBL Set CAT = Nothing Set TBL = Nothing ※動作チェックしてません。  詳しくは   Microsoft Access のテーブルを使用した作業   http://www.microsoft.com/japan/msdn/columns/office/office10052000.asp 昔書いたルーチン。 Public Function LinkChk() Dim DBS As Database Dim DBS2 As Database Dim TBLink As TableDef Const DBName = "\target.mdb" Const TB_Name = "TB_Target" On Error GoTo ErrMsg Set DBS = CurrentDb For dbcnt = 0 To DBS.TableDefs.Count If dbcnt = DBS.TableDefs.Count Then 'ファイルが見つからない Exit For ElseIf DBS(dbcnt).Name = TB_Name Then '既にリンク済み Exit Function End If Next Set DBS2 = DBEngine.Workspaces(0).OpenDatabase(GetNamePath() & DBName) For dbcnt = 0 To DBS2.TableDefs.Count If dbcnt = DBS2.TableDefs.Count Then '元データに必要なテーブルが存在しない。 MsgBox "テーブルが見つかりませんでした。", vbExclamation Exit Function ElseIf DBS2(dbcnt).Name = TB_Name Then 'テーブルが見つかったので次の作業に取り掛かる。 Exit For End If Next Set TBLink = DBS.CreateTableDef(TB_Name) TBLink.Connect = ";DATABASE=" & DBS2.Name TBLink.SourceTableName = TB_Name DBS.TableDefs.Append TBLink DBS2.Close DBS.Close Set DBS2 = Nothing Set DBS = Nothing Exit Function ErrMsg: If Err.Number = 3024 Then MsgBox "「" & DBName & "」と同じところから実行して下さい。", vbInformation End If DoCmd.Close End Function Public Function GetNamePath() Dim fsObj As Object Set fsObj = CreateObject("Scripting.FileSystemObject") GetNamePath = fsObj.GetAbsolutePathName(CurrentDb.Name) Set fdObj = Nothing Exit Function End Function IIS 7. 0 で Access データベースに接続する ASP ページを要求すると、エラー メッセージ:「Microsoft Jet データベース エンジン エラー '80004005'」 http://support.microsoft.com/kb/926939
'Excel へエクスポート Set DB = Server.CreateObject("ADODB.Connection") CAT.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\db2000.mdb;Jet OLEDB:Engine Type=5;" SQL = "SELECT COUNT(*) AS 合計 INTO [Excel 8.0;Database=C:\Pubs.XLS].[Sheet1] FROM [商品マスタ]" ' エクスポートを行う DB.Execute SQL DB.Close Set DB = Nothing [XL2003] MIME の種類を使用して IE 内に Excel で ASP の結果を表示する方法 http://support.microsoft.com/default.aspx?scid=kb;ja;199841 書式付きの Excel ブックを作成して MIME コンテンツとしてストリーム配信する方法 http://support.microsoft.com/default.aspx?scid=kb;ja;271572
'SQL Server で テンポラリテーブル を利用する Set DB = Server.CreateObject("ADODB.Connection") Set RS = Server.CreateObject("ADODB.Recordset") ' titles テーブルから 一時テーブル を作成する DB.Open "Provider=SQLOLEDB;Data Source=(local);Initial Catalog=pubs;", "sa", "" SQL = "select title into #TempTable from titles" DB.Execute SQL ' 作成した 一時テーブル からレコードセットを作成する SQL = "select title from #TempTable" Set RS = DB.Execute(SQL) ' 確認のため取得したレコードを出力する Do While Not RS.EOF Response.Write RS.Fields("title").Value RS.MoveNext Loop ' 接続が閉じられると一時テーブルは消滅する RS.Close DB.Close Set RS = Nothing Set DB = Nothing
GUID を利用  [HOWTO] IIS で Active Server Pages を使用して GUID を作成する方法  http://support.microsoft.com/kb/320375/ja
If 文で誤動作? POSTでパラメータ受け取るときの出来事 l = Request.Form("l") If IsNumeric(l)=false Then l = 20 ElseIf birth1 <= 0 Then l = 20 m = Request.Form("m") ・ ・ ・ Call Subなんちゃら() Response.End ってなことやったら、 m = Request.Form("m") ・ ・ ・ が無視された。 If IsNumeric(l)=false Then l = 20 ElseIf birth1 <= 0 Then l = 20 End If としたら、ちゃんと処理したけど、、、エラーも出ないし訳判りません!
ASP から ASP.NET への移植 サブルーチンは、<script runat="server"></script> に書く。 インクルードファイルは Class 化 して、CodeFile="class.aspx.vb" Inherits="_ClassName" としておく。 Err は Try...Catch...Finally ステートメントで(効率的なエラー処理コードを記述する方法) ASP.NET でのコード ブロック http://msdn.microsoft.com/ja-jp/library/f0111sbh.aspx Visual Basic .NET または Visual Basic 2005 で数学関数、型変換関数、および文字列関数を使用する方法 http://support.microsoft.com/kb/818805/ja ファイルのダウンロードとアップロード http://msdn.microsoft.com/ja-jp/library/aa478985.aspx#ECAA バイナリ・ファイルを簡単に読み書きするには?[2.0のみ、C#、VB] http://www.atmarkit.co.jp/fdotnet/dotnettips/669bincopy/bincopy.html http://www.atmarkit.co.jp/fdotnet/dotnettips/670readallbytes/readallbytes.html .NET TIPS 数値を右詰めや0埋めで文字列化するには?[C#、VB] http://www.atmarkit.co.jp/fdotnet/dotnettips/116formatint/formatint.html プログラミング Tips http://msdn.microsoft.com/ja-jp/library/cc952353.aspx プログラミング Tips http://msdn.microsoft.com/ja-jp/asp.net/cc671384.aspx ASP.NET と Web フォームの紹介 http://www.microsoft.com/japan/msdn/net/upgrade/introwebforms.aspx ASP から ASP.NET への変換 http://www.microsoft.com/japan/msdn/net/upgrade/convertasptoaspnet.aspx ASP→ASP.NET移行テクニック 第3回 ASP/ASP.NETを支える周辺技術の移行 http://www.atmarkit.co.jp/fdotnet/aspmigrt/aspmigrt03/aspmigrt03_01.html 「300 秒でズバリ !!」 & 「10 行でズバリ !!」 シリーズ http://www.microsoft.com/japan/msdn/thisweek/Wednesday/ ASP.NET 2.0 プログラミング編 http://www.microsoft.com/japan/msdn/thisweek/step7/#step7-asp.net ASP.NET http://msdn.microsoft.com/ja-jp/asp.net/default.aspx Web 開発 http://msdn.microsoft.com/ja-jp/library/aa155073.aspx ASP.NET の非同期プログラミングを使ったスケール変換可能なアプリケーション http://msdn.microsoft.com/ja-jp/magazine/cc163463.aspx Microsoft .NET Framework 開発ガイド ブック http://msdn.microsoft.com/ja-jp/netframework/ee624167.aspx C言語最大の欠点 http://itpro.nikkeibp.co.jp/article/Watcher/20101015/352993/ C#たんと学ぶ/わりと硬派なソフトウェア開発講座 第1回「C#でできること」 http://codezine.jp/article/detail/5346 system.web 要素 (ASP.NET 設定スキーマ) 後はクラスライブラリに目を通しておく。 Visual Basic .NET を使用して ASP.NET のカスタム エラー報告ページを作成する方法 http://support.microsoft.com/kb/308132/ja とあるコンサルタントのつぶやき  .NETの例外処理 Part.1  http://blogs.msdn.com/nakama/archive/2009/01/18/net-part-1.aspx  .NETの例外処理 Part.2  http://blogs.msdn.com/nakama/archive/2009/01/18/net-part-2.aspx  .NETの例外処理 Part. 3  http://blogs.msdn.com/nakama/archive/2009/01/18/net-part-3.aspx  .NETの例外処理 Part. 4  http://blogs.msdn.com/nakama/archive/2009/01/23/net-part-4.aspx 基本ベースは <% @Page Language="VB" Trace="False" Explicit="True" CodePage="65001"%> <script runat="server"> '宣言とか、サブルーチン 'この中に javascript を書きたい場合は 'Response.Write( "<script type=""text/javascript"">" ) 'Response.Write( "<" + "/script>" ) '分離しないとエラーが出る。 'Pageクラスには 'RegisterClientScriptBlock()メソッドと 'RegisterStartupScript()メソッドが用意されています。 Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 'Pageオブジェクトの主要プロパティ 'Request System.Web.HttpRequest ' QueryString ' Form ' ServerVariables ' Cookies 'Response System.Web.HttpResponse ' Cache ' Cookies ' Expires ' Write ' BinaryWrite ' Redirect 'Server System.Web.HttpServerUtility ' HtmlEncode ' MapPath ' Transfer 'Application System.Web.HttpApplicationState ' Lock ' UnLock 'Session System.Web.SessionState.HttpSessionState ' SessionID ' Abandon ' 'StateBagクラス(WebブラウザにはViewStateに格納されたデータがBase64で隠しフィールドの値として渡される) '値の設定 ViewState.Item("AccessDateTime") = Date.Now '値の取り出し D = Convert.ToDateTime(ViewState.Item("AccessDateTime")).ToString() '適切に型変換する ' If Not Page.IsPostBack Then 'メインコード(初回アクセスの処理) Else '2回目以降の処理 End If End Sub </script> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <style type="text/css"> </style> <script type="text/jscript" language="javascript"> //<!-- // --> </script> </head> <body> <% %> </body> </html> で、とりあえず動く。 web.config <configuration> <system.web> <customErrors mode="Off" /> <!--debug="true" は開発時のみ --/> <compilation debug="true" strict="false" explicit="true" /> <!--POSTデータの最大値を10Mbytes、実行タイムアウトを2分に設定--> <httpRuntime maxRequestLength="10240" executionTimeout="120" /> <pages> <namespaces> <clear /> <add namespace="System" /> <add namespace="System.IO" /> </namespaces> </pages> </system.web> </configuration> '************************************************************************************ '文字列を一次元バイト配列に変換 '(BitConverter.ToString の逆, BASP の ByteArray) もっと簡単に書ける方法ある? '************************************************************************************ Private Function ByteArray(ByVal strByteData As String) As Byte() If strByteData Is System.DBNull.Value Then strByteData = "" If strByteData.Length Mod 2 <> 0 Then strByteData = strByteData & "0" Dim i As Integer Dim t As Byte() Dim c As Byte Dim MS As New System.IO.MemoryStream() Dim BstrByteData As New System.IO.BinaryWriter(MS) MS.Flush For i = 0 To strByteData.Length-1 Step 2 Try c = CInt("&H" & strByteData.Substring(i, 2) ) BstrByteData.Write( c ) Catch Exit For End Try Next Dim BR As New System.IO.BinaryReader(MS) MS.position = 0 t = BR.ReadBytes(MS.Length) BR.Close() BR = Nothing MS = Nothing Return t End Function '************************************************************************************ 'バイナリデータの抜き出し ' BASP の MidB '************************************************************************************ Private Function MidB(ByVal strBinaryData() As Byte, ByVal StartByte As Int64, Optional ByVal LenByte As Int64 = -1 ) As Byte() Dim tmpBuff As Byte() If LenByte >= -1 Then If LenByte = -1 Then LenByte = strBinaryData.Length - StartByte End If Dim MS As New System.IO.MemoryStream() MS.Flush MS.Write(strBinaryData, StartByte, LenByte) MS.position = 0 Dim BR As New System.IO.BinaryReader(MS) tmpBuff = BR.ReadBytes(MS.Length) MS.Close() MS.Dispose() BR = Nothing MS = Nothing Else 'tmpBuffに何か値を入れて返さないと tmpBuff = strBinaryData 'OSがハングする可能性があるかも。 End If 'GC.Collect() Return tmpBuff End Function '************************************************************************************ 'バイナリデータの結合 ' BASP の BinaryConcat '************************************************************************************ Private Function BinaryConcat(ByVal BinaryData1() As Byte, ByVal BinaryData2() As Byte) As Byte() Dim t As Byte() Dim MS As New System.IO.MemoryStream() MS.Flush If (BinaryData1 Is System.DBNull.Value = False) _ And (BinaryData1 Is Nothing = False) Then MS.Write(BinaryData1, 0, BinaryData1.Length) End If If (BinaryData2 Is System.DBNull.Value = False) _ And (BinaryData2 Is Nothing = False) Then MS.Write(BinaryData2, 0, BinaryData2.Length) End If Dim BstrByteData As New System.IO.BinaryWriter(MS) MS.position = 0 Dim BR As New System.IO.BinaryReader(MS) t = BR.ReadBytes(MS.Length) MS.Close() MS.Dispose() BR = Nothing MS = Nothing 'GC.Collect() Return t End Function 10進を16進にして桁揃え Dim d As Integer = 123 Response.Write( d.ToString("X").PadLeft(10, "0") ) 出力結果は 000000007B 文字列の結合 Response.Write( String.Concat("A","B","C") ) 出力結果は ABC 文字列を数値に Integer.Parse(text) プログラム内から別のアプリケーションを実行 http://www.atmarkit.co.jp/fdotnet/dotnettips/149procstart/procstart.html System.Diagnostics.Process.Start("notepad.exe")  プロセスの終了を非同期で待機  http://dobon.net/vb/dotnet/process/openfile.html プロセス優先度 Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.BelowNormal RealTime High AboveNormal Normal BelowNormal Idle SmtpClientクラスを使ってメールを送信する http://dobon.net/vb/dotnet/internet/smtpclient.html .NETでPOPサーバからメールを受信する方法 http://codezine.jp/article/detail/477?p=1 ※HTML 形式の本文は Content-Transfer-Encoding の値が強制的に Quoted-Printable になる。(仕様) Request.QueryString("file") で日本語のファイル名を受け取って Response.Write(System.IO.File.Exists("ファイル名")) が DoCoMo の携帯からだと False になる。(IE からだとちゃんと True) 日本語ファイル名じゃなければ True になるけど、なんで? 文字コード絡みか… DoCoMo から パラメータ付き URL を送る場合 UTF-8 だとそうなるっぽい。 Dim enc As System.Text.Encoding = System.Text.Encoding.GetEncoding(932) "http://URL?file=" & HttpUtility.UrlEncode(ファイル名, enc) これで OK エラー処理の実装とか・・・ [ASP.NET]ASP.NETアプリケーションに独自の拡張子を追加するには? http://www.atmarkit.co.jp/fdotnet/dotnettips/123aspadext/aspadext.html ASP.NETでのWebアプリケーションのエラー処理 http://japan.internet.com/developer/20050906/25.html [ASP.NET]アプリケーション内で発生したエラー情報をロギングするには? http://www.atmarkit.co.jp/fdotnet/dotnettips/168asperrlog/asperrlog.html root の Web.Config に書いた customErrors mode="ON" がサブディレクトリも継承され フォルダ内の customErrors mode="Off" が機能しないのね… ハンドルリークの調査方法 〜 ハンドルリークとは? http://keicode.com/iis/iis504.php オブジェクトの解放について http://msdn.microsoft.com/ja-jp/library/cc440884.aspx ソケット通信を実装する方法について http://msdn.microsoft.com/ja-jp/library/cc440898.aspx How to detect and avoid memory and resources leaks in .NET applications http://msdn.microsoft.com/ja-jp/library/ee658248(en-us).aspx And,AndAlso,Or,OrElse http://blog.livedoor.jp/akf0/archives/51181557.html 増えてるんだ。 第5回■注目される文字コードのセキュリティ問題 http://itpro.nikkeibp.co.jp/article/COLUMN/20090208/324377/ 第6回■異なる文字集合への変換がぜい弱性につながる http://itpro.nikkeibp.co.jp/article/COLUMN/20090215/324766/ 今後は UTF-16 で保存した方がよさそうなのかな。 連載:〜ScottGu氏のブログより〜 ASP.NET、HTML、JavaScriptのスニペット・サポート(VS 2010&.NET 4シリーズ) http://www.atmarkit.co.jp/fdotnet/scottgublog/20090916snippet/snippet.html ASP.NET 4 WebフォームでURLルーティング(VS 2010&.NET 4シリーズ) http://www.atmarkit.co.jp/fdotnet/scottgublog/20091026net4routing/net4routing.html .NETプログラミングにピンポイントで役立つテクニックとヒント集 http://www.atmarkit.co.jp/fdotnet/dotnettips/index/index.html [PRB] Response.End、Response.Redirect、または Server.Transfer メソッドを使用すると ThreadAbortException が発生する http://support.microsoft.com/kb/312629/ja Blogs - Japan IE Support Team Blog - Site Home - TechNet Blogs .NET Framework で TLS1.1 および 1.2 を有効化する方法 http://blogs.technet.com/b/jpieblog/archive/2015/04/07/3647694.aspx QR コード asp.net で使えるフリーのがあるみたい。 うちのは64bitで動かないし、.net で書き直すのも面倒なので IISを 64bit で動かす事になったら利用させてもらうかも。  ASP.NETのWebサイト内でQRコードを表示  http://d.hatena.ne.jp/kobarunrun/20080425 QR_Encode.dll と QRMake.dll の2つが用意されています。http://www.spicy-inc.jp/seihin/free/qrencode.html QRMake.dll はレジストリに登録して、CreateObject で呼び出せます。 IIS のコンテンツがネットワークパスに置いてある場合で QR_Encode.dll が使えない場合にいいかも。 vb にしてみた。※bin のすぐ上のフォルダをアプリにないと bin の dll は無視されるので注意。 Imports System.IO Imports System.Drawing Imports QR_Encode_Class Partial Class _Default Inherits System.Web.UI.Page Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Response.Buffer = True Response.Expires = 0 Response.ClearContent() Response.ContentType = "image/gif" Dim strSource As String = Request.QueryString("q") If strSource Is Nothing Or strSource = "" Then Response.Status = "404 Not Found" Response.End() End If If strSource = "" Then Response.Status = "404 Not Found" Response.End() End If If (strSource.Length > 512) Then Response.Status = "404 Not Found" Response.End() End If Dim qr As Object = New QR_Encode qr.BackColor = Color.White qr.ForeColor = Color.Black Dim ret As Int16 = qr.EncodeData(1, 0, False, -1, 2, strSource, "", False, 255, 255) Dim MS As New MemoryStream() Dim Bitmap As Bitmap = qr.GetBMP Bitmap.Save(MS, Imaging.ImageFormat.Gif) Response.BinaryWrite(MS.ToArray()) Response.End() End Sub End Class JavaScriptを使ってQRコードを作れる「jQuery.qrcode」 http://ke-tai.org/blog/2011/04/18/jquery-qrcode/ QRコードをアプリケーションで作成するには?[C#、VB] http://www.atmarkit.co.jp/fdotnet/dotnettips/884qrcode/qrcode.html PHPの場合は  swetake.com  http://www.swetake.com/ 「ZXing」でQRコードに格納された情報を読み取る http://journal.mycom.co.jp/column/tool/035/ AndroidでZXingを使ってバーコードを読み取るには http://journal.mycom.co.jp/column/tool/036/ ワンタイム パスワード ワンタイム パスワード ソリューションによる認証の強化 http://msdn.microsoft.com/ja-jp/magazine/cc507635.aspx エクセル出力 .NET 用の POI、NPOI ってのがあるみたい。 必要になったら試してみる。  NPOI入門してみた - かずきのBlog@Hatena  http://d.hatena.ne.jp/okazuki/20091128/1259405232 業務システムに組み込みたい。PHPからExcelファイルを読み書きする「PHPExcel」 - MOONGIFT|オープンソース・ソフトウェア紹介を軸としたITエンジニア、Webデザイナー向けブログ http://moongift.jp/2011/09/20110920/ Microsoft Ajax Library(プレビュー6)とMicrosoft Ajax Minifierの告知 http://www.atmarkit.co.jp/fdotnet/scottgublog/20091027ajaxlib6/ajaxlib6.html [ASP.NET AJAX]Ajax通信で使われる「ロード中/更新中」の画像を入手するには http://www.atmarkit.co.jp/fdotnet/dotnettips/984ajaxloadingpic/ajaxloadingpic.html ASP.NET 4.0 で追加された機能  <%: … %>  与えられた式を HTML エスケープして出力する。  たぶん  <%= Html.Encode(…) %>  といっしょ。 VBラムダ式 基礎文法最速マスター http://www.atmarkit.co.jp/fdotnet/rapidmaster/rapidmaster_02/rapidmaster_02.html ASP.NET でも使えるのかな? ASP.NETのセッション固定対策 http://d.hatena.ne.jp/teracc/20100424#1272092128 Azure向けアプリケーションを簡単に開発できるツールが登場 http://itpro.nikkeibp.co.jp/article/COLUMN/20100902/351706/ Web開発を簡単に! マイクロソフトが無償ツール「WebMatrix」提供開始 http://journal.mycom.co.jp/news/2011/01/14/022/ Razor 構文と ASP.NET Web ページ http://msdn.microsoft.com/ja-jp/asp.net/gg193039 第1回 初めてのVisual Studio 2010 http://www.atmarkit.co.jp/fdotnet/easyvs2010/easyvs201001/easyvs201001_01.html .NETによるスマートフォンWeb UI開発ガイド【導入編】 Webフォーム vs. ASP.NET MVC ― スマートフォン向けWeb開発で使えるのはどっち? http://www.atmarkit.co.jp/fdotnet/smartweb/smartwebintro02/smartwebintro02_01.html 送信するクエリ数が1000を超える場合はエラーになるので以下を調整する必要がる。 <configuration> <appSettings> <add key="aspnet:MaxHttpCollectionKeys" value="1000" /> </appSettings> </configuration>  多くのフォーム キー、ファイル、または JSON ペイロード メンバーを含む ASP.NET 要求が例外が発生して失敗する  http://support.microsoft.com/kb/2661403/ja
Path.GetTempFileName() でハマったのでメモ。 一時ファイル作成時は最後にちゃんと削除しないと、65535 個作った後にファイルが作成出来なくなります。 一時ファイルは c:\windows\temp に 0 バイトのファイルとして作成されます。(アプリケーションプールの実行ユーザを変更している場合)  .NET TIPS 一時ファイル(テンポラリ・ファイル)を作成するには? http://www.atmarkit.co.jp/fdotnet/dotnettips/227tempfile/tempfile.html
ASP.NET MVC  ASP.NET とは別物。  ASP や他のスクリプト言語から入る場合はこちらの方が理解しやすいでしょう。(たぶん)  出力されるソースもキレイですので AJAX の開発はやりやすいかと。  連載:ASP.NET MVC入門  http://www.atmarkit.co.jp/fdotnet/aspnetmvc/index/index.html  関連   URL 書き換えモジュール   http://technet.microsoft.com/ja-jp/iis/ee854973.aspx   Application Request Routing   http://technet.microsoft.com/ja-jp/iis/ee839425.aspx  連載:〜ScottGu氏のブログより〜  ASP.NET MVC 2  http://www.atmarkit.co.jp/fdotnet/scottgublog/20100113aspnetmvc2/aspnetmvc2.html  ASP.NET MVC 2(リリース候補版2)が利用可能に  http://www.atmarkit.co.jp/fdotnet/scottgublog/20100210aspnetmvc2rc2/aspnetmvc2rc2.html  ASP.NET MVC 2がリリース  http://www.atmarkit.co.jp/fdotnet/scottgublog/20100315aspnetmvc2/aspnetmvc2.html  ASP.NET MVC 3の紹介(プレビュー1)  http://www.atmarkit.co.jp/fdotnet/scottgublog/20100811aspnetmvc3/aspnetmvc3.html  ルート定義を追加するには?[3.5、4、C#、VB]  http://www.atmarkit.co.jp/fdotnet/dotnettips/1031aspmvcrouting1/aspmvcrouting1.html  ASP.NET MVC  http://msdn.microsoft.com/ja-jp/asp.net/aa336581.aspx  ASP.NET MVC Music Store チュートリアル  http://msdn.microsoft.com/ja-jp/asp.net/gg315881.aspx  ASP.NET MVC 2 Web開発 〜全貌と応用、そしてvNextに向けて  http://wp.techtarget.itmedia.co.jp/contents/?cid=3232    連載:マイクロソフト技術による標準化志向Web開発ことはじめ  第1回 WebフォームによるWeb開発と、ASP.NET MVC登場の背景  http://www.atmarkit.co.jp/fdotnet/introwebstandard/introwebstandard01/introwebstandard01_01.html  ASP.NET MVC 3 RTM  http://www.microsoft.com/downloads/en/details.aspx?FamilyID=d2928bc1-f48c-4e95-a064-2a455a22c8f6&displaylang=en  .NET開発の新標準「NuGet」入門(前編) − @IT  http://www.atmarkit.co.jp/fdotnet/chushin/nuget_01/nuget_01_01.html  ASP.NET MVCでPDFを出力する(RazorPDF) « 84zume Works  http://84zume.wordpress.com/2012/10/17/asp-net-mvc-razorpdf/  PDF Generator Net Freeの詳細情報 : Vector ソフトを探す!  http://www.vector.co.jp/soft/winnt/prog/se502257.html
html のテンプレート内に URL が書き込まれていた場合にリダイレクタを差し込む。 元ページのリファラからアクセスされないように。。。の処理。 あまり検証してません。 redirector.asp <% On Error Resume Next Response.AddHeader "REFRESH", "0;url=" & Request.Querystring("url") 'Response.Redirect redirect_url 'これだと元ページのリファラからアクセスされる Response.End %> ※組み込んでませんがリダイレクタを悪用されない仕組みは必要でしょう・・・ '*********************************************** 'リダイレクタ埋め込みルーチン '*********************************************** Sub Redirector(ByRef P) 'URL チェック Dim Reg, Mtchs, Mch Set Reg = New RegExp Reg.IgnoreCase = True Reg.Global = True Reg.Pattern = "\b(?:https?|shttp)://(?:(?:[-_.!~*'()a-zA-Z0-9;:&=+$,]|%[0-9A-Fa-f" _ & "][0-9A-Fa-f])*@)?(?:(?:[a-zA-Z0-9](?:[-a-zA-Z0-9]*[a-zA-Z0-9])?\.)" _ & "*[a-zA-Z](?:[-a-zA-Z0-9]*[a-zA-Z0-9])?\.?|[0-9]+\.[0-9]+\.[0-9]+\." _ & "[0-9]+)(?::[0-9]*)?(?:/(?:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f]" _ & "[0-9A-Fa-f])*(?:;(?:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f][0-9A-" _ & "Fa-f])*)*(?:/(?:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f" _ & "])*(?:;(?:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*)*)" _ & "*)?(?:\?(?:[-_.!~*'()a-zA-Z0-9;/?:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])" _ & "*)?(?:#(?:[-_.!~*'()a-zA-Z0-9;/?:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*" _ & ")?" Reg.Pattern = "((http|https)://[\w,_,\.,/,\-]+)" Set Mtchs = Reg.Execute(P) For Each Mch In Mtchs If Instr(Mch, Request.ServerVariables("SERVER_NAME"))=0 Then P = Replace(P, Mch, "./redirector.asp?url=" & Server.UrlEncode(Mch) ) End If Next Set Mtchs = Nothing Set Reg = Nothing End Sub
Ranges を使った PDF のダウンロード(DoCoMo) Set BASP = Server.CreateObject("basp21") Response.Clear() Response.Buffer = True Range = Request.ServerVariables("HTTP_RANGE") Buff = BASP.BinaryRead("c:\sample.pdf") If Range="" Then Response.Status = "200 OK" Response.ContentType = "application/pdf" 'Response.AddHeader "Accept-Range", "bytes" 'Response.AddHeader "Content-Range", "bytes 0-" & Len(Buff)-1 & "/" & Len(Buff) ElseIf Left(Range, 6)="bytes=" Then Range = Mid(Range, 7) If Instr(Range,"-")<>0 Then Response.Status = "206 Partial Content" Response.ContentType = "application/pdf" Response.AddHeader "Accept-Ranges", "bytes" Response.AddHeader "Content-Range", "bytes " & Range & "/" & Len(Buff) tmpRange = Mid(Range, 1, Instr(Range,"-")-1) tmpRange2 = Mid(Range, Instr(Range,"-")+1) Buff = BASP.MidB(Buff, 0, Int(tmpRange2)+1) Buff = BASP.MidB(Buff, Int(tmpRange)) End If End If Response.AddHeader "X-Dcm-Move","0001" 'SDカードへの移動許可 0000 で機種間許可 Response.AddHeader "X-Dcm-Pdtf","1" '故障時コンテンツファイル移行ヘッダ 0 で移行不可 Response.AddHeader "Content-disposition", "attachment; filename=sample_1.pdf"                       ↑inline のがいいのかも。 Response.BinaryWrite Buff Set BASP = Nothing Response.End
携帯キャリア & Cookie 有効判定 Dim UserID '固有ID保管用 Function CAREER() 'IPアドレス確認 '戻り値 D - DOCOMO ' A - AU ' J - J-PHONE、SoftBank ' W - WILLCOM ' E - その他(PC、スマートフォン、フルブラウザなど) On Error Resume Next Dim tmp_cookie, tmp_url If UCase(Request.ServerVariables("HTTPS"))="ON" Then tmp_url = "https://" & Request.ServerVariables("SERVER_NAME") & Request.ServerVariables("SCRIPT_NAME") Else tmp_url = "http://" & Request.ServerVariables("SERVER_NAME") & Request.ServerVariables("SCRIPT_NAME") End If If Request.ServerVariables("REQUEST_METHOD")="GET" Then 'POSTを含める場合は、CONTENT_TYPE で multipart/form-data の判定を先に。 If Request.QueryString.Item="" Then tmp_url = tmp_url & "?cookie=chk" Else tmp_url = tmp_url & "?" & Request.QueryString.Item & "&cookie=chk" End If tmp_cookie = Request.QueryString("cookie") End If CAREER = "E" 'ドコモ端末チェック If Instr(HTTP_USER_AGENT,"DoCoMo/")<>0 Then CAREER = "D" UserID = Request.ServerVariables("HTTP_X_DCMGUID") ElseIf Instr(HTTP_USER_AGENT,"KDDI-")<>0 And _ (Instr(HTTP_USER_AGENT,"UP.Browser/")<>0 Or Instr(HTTP_USER_AGENT,"UP.Link/")<>0) Then CAREER = "A" UserID = Request.ServerVariables("HTTP_X_UP_SUBNO") ElseIf Instr(HTTP_USER_AGENT,"J-PHONE")<>0 Or Instr(HTTP_USER_AGENT,"Vodafone")<>0 Or _ Instr(HTTP_USER_AGENT,"SoftBank")<>0 Then CAREER = "J" UserID = Request.ServerVariables("HTTP_X_JPHONE_UID") ElseIf Instr(HTTP_USER_AGENT,"WILLCOM")<>0 Then CAREER = "W" 'WILLCOMは勝手サイトには固有IDを吐き出さない… End If If UserID="" Then If Request.ServerVariables("HTTP_X_UE_VERSION")<>"" And _ Instr(HTTP_USER_AGENT,"DoCoMo")<>0 Or Instr(HTTP_USER_AGENT,"DoCoMo")=0 Then 'DoCoMoは 2009年夏モデルからクッキーに対応。基本は無効で '正確な判断をする場合はキャッシュサイズが500以上かどうかを調べる UserID = Request.Cookies("CKEY")("ID") '2008 Server x64 でたまに「オブジェクトでサポートされいないプロパティまたはメソッドです」が出る・・・ If tmp_cookie = "chk" And UserID="" Then 'Cookieが有効でない場合の処理。 Response.Write "Cookieを有効にしてください。" Response.End If UserID="" Then 'クッキーにユーザーID保存 Randomize UserID = Year(Date) & Right("00" & Month(Date),2) & Right("00" & Day(Date),2) _ & Right("00" & Hour(Now),2) & Right("00" & Minute(Now),2) & Right("00" & Second(Now),2) _ & Int(10000 * Rnd + 1) Response.Cookies("CKEY")("ID") = UserID Response.Cookies("CKEY").Expires = DateAdd("Y", 50, Date) Response.Cookies("CKEY")("ID").Path = "/" If Request.ServerVariables("REQUEST_METHOD")="GET" Then Response.Redirect tmp_url Response.End End If End If End If End If End If If CAREER = "E" Then '回線からキャリア判断(独自ドメインをとっている場合で逆引きを偽装されたら、たぶんアウト。素直にキャリアが公開しているIPアドレスで調べるように) Dim HOST: HOST = Request.ServerVariables("REMOTE_HOST") If Instr(HOST, ".au-net.ne.jp")<>0 Or Instr(HOST, ".ezweb.ne.jp")<>0 Then CAREER = "A" ElseIf Instr(HOST, ".jp-t.ne.jp")<>0 Or Instr(HOST, ".panda-world.ne.jp")<>0 Then CAREER = "J" ElseIf Instr(HOST, ".docomo.ne.jp")<>0 Or Instr(HOST, ".spmode.ne.jp")<>0 Then CAREER = "D" End If Set A = Nothing End If On Error Goto 0 End Function  第2回 間違いだらけの「かんたんログイン」実装法  http://www.atmarkit.co.jp/fsecurity/rensai/keitaiweb02/keitaiweb01.html  第3回 実は厄介、ケータイWebのセッション管理  http://www.atmarkit.co.jp/fsecurity/rensai/keitaiweb03/keitaiweb01.html
携帯向けに XHTMLで。 HTTP_USER_AGENT= Request.ServerVariables("HTTP_USER_AGENT") Dim META If Instr(HTTP_USER_AGENT,"MSIE")<>0 Or Instr(HTTP_USER_AGENT,"AppleWebKit/530")<>0 Then ' WebKit/530 系(Android 2.0, 2.1)は XHTML でタグを書いている場合、改行のみの行があると表示出来ない(バグ?)528(Android 1.6)は問題ない。機種依存文字がある場合 XHTML で表示できない。携帯の絵文字とか META = "<meta http-equiv=""Content-Type"" content=""text/html; charset=shift_JIS"" />" & vbCrLf _ & "<meta name=""viewport"" content=""width=device-width, user-scalable=yes, initial-scale=1, maximum-scale=1.6"" />" Response.AddHeader "Content-Type", "text/html" Else META = "<meta http-equiv=""Content-Type"" content=""application/xhtml+xml; charset=Shift_JIS"" />" & vbCrLf _ & "<meta name=""viewport"" content=""width=device-width, user-scalable=yes, initial-scale=1, maximum-scale=1.6"" />" Response.AddHeader "Content-Type", "application/xhtml+xml" End If Dim S, DOCTYPE S = CAREER() Select Case S Case "D": DOCTYPE = "<!DOCTYPE html PUBLIC ""-//i-mode group(ja)//DTD XHTML i-XHTML(Locale/Ver.=ja/2.3)1.0//EN"" ""i-xhtml_4ja_10.dtd"">" Case "A": DOCTYPE = "<!DOCTYPE html PUBLIC ""-//OPENWAVE//DTD XHTML 1.0//EN"" ""http://www.openwave.com/DTD/xhtml-basic.dtd"">" Case "J": DOCTYPE = "<!DOCTYPE html PUBLIC ""-//J-PHONE//DTD XHTML Basic 1.0 Plus//EN"" ""xhtml-basic10-plus.dtd"">" Case "W": DOCTYPE = "<!DOCTYPE html PUBLIC ""-//WAPFORUM//DTD XHTML Mobile 1.0//EN"" ""http://www.wapforum.org/DTD/xhtml-mobile10.dtd"">" Case "E": DOCTYPE = "<!DOCTYPE html PUBLIC ""-//W3C//DTD XHTML 1.0 Transitional//EN"" ""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"">" End Select Function InpKey(C,St) 'C キャリア 'St モード '1 全角かな '2 半角カナ '3 英数 '4 数字 Select Case C Case "J": 'SoftBank Select Case St Case 1: InpKey= "mode=""hiragana""" Case 2: InpKey= "mode=""katakana""" Case 3: InpKey= "mode=""alphabet""" Case 4: InpKey= "mode=""numeric""" End Select Case "A", "W": 'AU, WillCom InpKey= "istyle=""" & St & """" Case "D": 'DoCoMo Instr(HTTP_USER_AGENT,"AppleWebKit")=0 Then 'ドコモのスマホでは使えない。XHTML でインラインスタイルシートが2重になる場合はページが表示できない。 Select Case St 'istyle="1" 全角かな/全角文字 Case 1: InpKey= "style=""-wap-input-format:&quot;*&lt;ja:h&gt;"quot;;""" 'istyle="2" 全角カナ/全角文字 Case 2: InpKey= "style=""-wap-input-format:&quot;*&lt;ja:hk&gt;"quot;;""" 'istyle="3" 英字/半角文字 Case 3: InpKey= "style=""-wap-input-format:&quot;*&lt;ja:en&gt;"quot;;""" 'istyle="4" 数字/半角文字 Case 4: InpKey= "style=""-wap-input-format:&quot;*&lt;ja:n&gt;"quot;;""" End Select End If Case "E": End Select End Function <?xml version="1.0" encoding="Shift_JIS"?> <%=DOCTYPE%> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja"> <head> <%=META%> <title></title> <style type="text/css"> h2 {font-size:20px;} //SoftBanck //<![CDATA[ h2 {font-size:30px;} //AU //]]> </style> </head> <body> <input type="password" name="pw1" size="16" value="" <%=InpKey(CAREER(),4)%> /> </body> </html>
絵文字変換テーブル IDx|NAME|D|A|S 1|晴|毫`| 2|曇||e| 3|雨|。|d| 4|雪|「|]| 5|雷|」|_|} 6|台風|、|A| 7|霧|・|オ|[霧] 8|小雨|ヲ|シ|| 9|牡羊座|ァ|g|゚ 10|牡牛座|ィ|h| 11|双子座|ゥ|i| 12|蟹座|ェ|j| 13|獅子座|ォ|k| 14|乙女座|ャ|l| 15|天秤座|ュ|m| 16|蠍座|ョ|n| 17|射手座|ッ|o| 18|山羊座|ー|p| 19|水瓶座|ア|q| 20|魚座|イ|r| 21|スポーツ|ウ|C|[スポーツ] 22|野球|エ|倒V 23|ゴルフ|オ|カ|T 24|テニス|カ|酢U 25|サッカー|キ|楯X 26|スキー|ク||S 27|バスケットボール|ケ|キ|j 28|モータースポーツ|コ|竹r 29|ポケベル|サ|ク|[ポケベル] 30|電車|シ|旨^ 31|地下鉄|ス||t 32|新幹線(1)|セ|榎u 33|車(セダン)|ソ|掛[ 34|車(RV)|タ|掛n 35|バス|チ|| 36|船|ツ|U|「 37|飛行機|テ|芸] 38|家|ト|лv 39|ビル|ナ||x 40|郵便局|ニ|Q| 41|病院|ヌ|R| 42|銀行|ネ|ポ 43|ATM|ノ|{| 44|ホテル|ハ|T| 45|コンビニ|ヒ||| 46|ガソリンスタンド|フ|旨z 47|駐車場|ヘ|~| 48|信号|ホ|B| 49|トイレ(1)|マ|}| 50|レストラン|ミ|| 51|喫茶店|ム|エ| 52|バー|メ|斈 53|ビール|モ|忿 54|ファーストフード|ヤ|ッ|` 55|ブティック|ユ||~ 56|美容院(1)|ヨ||ウ 57|カラオケ|ラ|ワ|| 58|映画|リ||} 59|右斜め上|ル|q|ヨ 60|遊園地|レ|E|d 61|音楽|ロ|痞ェ 62|アート|ワ|ケ|「 63|演劇|ン|ノ|」 64|イベント|゙|サ|[イベント] 65|チケット|゚|v|e 66|喫煙|烟U|ョ 67|禁煙|痞V|ィ 68|カメラ|窩|H 69|カバン|縹t|テ 70|本|艚w| 71|リボン|蛞シ|エ 72|プレゼント|諫ィ|R 73|バースデー|轎ス| 74|電話|閖ウ|I 75|携帯電話|驂・|J 76|メモ|黥e|。 77|TV||ロ|j 78|ゲーム||毫k 79|CD||蛞f 80|ハート(1)||x|ャ 81|スペード||セ|ョ 82|ダイヤ||ソ|ュ 83|クラブ||タ|ッ 84|目||チ|Y 85|耳||ツ|[ 86|グー|||P 87|チョキ||テ|Q 88|パー||ト|R 89|右下||i|リ 90|左上||h|ラ 91|足|||ヨ 92|くつ|||G 93|眼鏡||ラ|[メガネ] 94|車椅子||W|ェ 95|新月|@|ナ|[●] 96|やや欠け月|A|ニ| 97|半月|B|ヌ| 98|三日月|C|^| 99|満月|D|a|[○] 100|犬|E|コ| 101|猫|F|エ| 102|リゾート|G|鋼\ 103|クリスマス|H|「|s 104|左下|I|r|ル 105|カチンコ|P|慾ト 106|ふくろ|Q|[袋]|[袋] 107|ペン|R|レ|。 108|人影|U|ユ| 109|いす|V|[椅子]|_ 110|夜|W|| 111|soon|[|[SOON]|[SOON] 112|on|\|[ON]|[ON] 113|end|]|[end]|[end] 114|時計|^|ア|f 115|phone to|r|゚|D 116|mail to|s|f|C 117|fax to|t||K 118|iモード|u|[i mode]|[i mode] 119|iモード(枠付き)|v|[i mode]|[i mode] 120|メール|w||C 121|ドコモ提供|x|[ドコモ]|[ドコモ] 122|ドコモポイント|y|[ドコモ]|[ドコモ] 123|有料|z|嘶オ 124|無料|{|怖カ 125|ID|||[|ノ 126|パスワード|}|| 127|Enter|~|y|[Enter] 128|クリア||ネ|[CL] 129|サーチ|−ワ|T 130|NEW||蛞イ 131|位置情報|ポ|[位置情報] 132|フリーダイヤル|лフリーダイヤル|ア 133|シャープダイヤル||榎ー 134|モバQ||H|[Q] 135|1|||シ 136|2|||ス 137|3|榎@|セ 138|4|掛A|ソ 139|5|弓B|タ 140|6|芸C|チ 141|7|鋼D|ツ 142|8|旨E|テ 143|9|楯F|ト 144|0|酢ノ|ナ 145|ハート(2)|掃イ|b 146|揺れるハート|竹フ|ヌ 147|失恋|倒O|c 148|ハートたち(複数ハート)|培P|ヌ 149|わーい(嬉しい顔)|怖I|U 150|ちっ(怒った顔)|翻J| 151|がく〜(落胆した顔)|慾培 152|もうやだ〜(悲しい顔)||K|G 153|ふらふら|處ヒ|P 154|グッド(上向き矢印)|嘶|ヨ 155|るんるん|斈|~ 156|いい気分(温泉)|忿怖c 157|かわいい|掟〓|〓 158|キスマーク|桍ト|C 159|ぴかぴか(新しい)|毫D|ホ 160|ひらめき||N|O 161|むかっ(怒り)|。|セ|ヤ 162|パンチ|「|フ|M 163|爆弾|」|R|ア 164|ムード|、|゙|ニ 165|バッド(下向き矢印)|・||リ 166|眠い(睡眠)|ヲ|M|| 167|!|ァ|Z|a 170|!?|ィ||[!?] 171|!!|ゥ||[!!] 172|どんっ(衝撃)|ェ|ヘ|[どんっ] 173|あせあせ(飛び散る汗)|ォ|ホ|ム 174|たらーっ(汗)|ャ|ソ|H 175|ダッシュ(走り出すさま)|ュ|ヘ|ミ 176|ー(長音記号1)|ョ|−[ー] 177|ー(長音記号2)|ッ||[ー] 178|決定|ー|ハ| 179|iアプリ|ア|[α]|[α] 180|iアプリ(枠付き)|イ|[α]|[α] 181|Tシャツ(ボーダー)|ウ|諫F 182|がま口財布|エ|ン|[財布] 183|化粧|オ|窩シ 184|ジーンズ|カ|{|[ジーンズ] 185|スノボ|キ|掃W 186|チャベル|ク||ナ 187|ドア|ケ|[ドア]|[ドア] 188|ドル袋|コ||o 189|パソコン|サ|閖L 190|ラブレター|シ|||Cヌ 191|レンチ|ス|、|[レンチ] 192|鉛筆|セ|y|。 193|王冠|ソ||N 194|指輪|タ||t 195|砂時計|チ||[砂時計] 196|自転車|ツ||v 197|湯のみ|テ||リ 198|腕時計|ト|慾[腕時計] 199|考えている顔|ナ|培C 200|ほっとした顔|ニ|處J 201|冷や汗|ヌ||H 202|冷や汗2|ネ||H 203|ぷっくっくな顔|ノ|a|V 204|ボケーとした顔|ハ|掟N 205|目がハート|ヒ||F 206|指でOK|フ|メ|N 207|あっかんベー|ヘ|タ|I 208|ウインク|ホ||E 209|うれしい顔|マ|。|U 210|がまん顔|ミ|翻F 211|猫2|ム|倒B 212|泣き顔|メ|K|Q 213|涙|モ|m|S 214|NG|ヤ|[NG]|[NG] 215|クリップ|ユ|x|[クリップ] 216|コピーライト|ヨ|t| 217|トレードマーク|ラ|j|ラ 218|走る人|リ|C|U 219|マル秘|ル|ハ|オ 220|リサイクル|レ|}|[リサイクル] 221|レジスタードトレードマーク|ロ|u| 222|危険・警告|ワ|Y| 223|禁止|ン|]|[禁] 224|空室・空席・空車|゙|]|ヒ 225|合格マーク|゚|[合]|[合] 226|満室・満席・満車|烟\|ハ 227|矢印左右|痞~|[⇔] 228|矢印上下|窩|[↑↓] 229|学校|縹S| 230|波|艚−~ 231|富士山|蛞|{ 232|クローバー|諫|P 233|さくらんぼ|轎ォ|[チェリー] 234|チューリップ|閖ス|、 235|バナナ|驂|[バナナ] 236|りんご|黥鋼 237|芽|||P 238|もみじ||ァ|X 239|桜||」|p 240|おにぎり||ョ| 241|ショートケーキ||ゥ| 243|とっくり||j|ォ 244|どんぶり||ム| 245|パン||ポル 246|かたつむり||ポ[蝸牛] 247|ひよこ||ケ|テ 248|ペンギン||オ| 249|魚||゙|Y 250|うまい!||。|T 251|ウッシッシ|||D 252|ウマ||ア|Z 253|ブタ||キ|K 254|ワイングラス||嘶 255|げっそり||嘶G 256|男の子|怖ユ|A 257|女の子|怖モ|B 258|お父さん|怖ユ|D 259|お母さん|怖モ|E 260|洋服|ウ|諫F 261|No.1!|[No1]|マ|O 262|新幹線(2)|セ|榎_ 263|ハテナ|[?]|[|` 264|1時|^|ア|d 265|2時|^|ア|e 266|4時|^|ア|g 267|5時|^|ア|h 268|6時|^|ア|i 269|7時|^|ア|j 270|8時|^|ア|k 271|9時|^|ア|l 272|10時|^|ア|m 273|11時|^|ア|n 274|12時|^|ア|o 275|エンブレム|ソ||q 276|バラ|[薔薇]|黥r 277|宝石|タ||u 278|教会|[教会]||w 279|駅|[駅]|q|y 280|サックス|[サックス]|[サックス]| 281|ギター|[ギター]|゚| 282|トランペット|[トランペット]|ー| 283|朝|毫ネ| 284|天使|[天使]|| 285|とら|[虎]|| 286|くま|[熊]|| 287|ねずみ|[鼠]|| 288|クジラ|[クジラ]|H| 289|楽|怖。| 290|ウンチ|〓|ホ| 291|メール受信|ニ||A 292|メール送信|ニ||B 293|さる|[猿]|イ|I 294|タコ|[蛸]||J 295|宇宙人|〓|ナ|L 296|ロケット|[ロケット]||M 297|キス|桍|Q 298|ピストル|[銃]|縹S 299|オークション|〓||V 300|花火|[花火]||W 301|落ち葉|〓|@|Y 302|悪魔|〓|ネ|Z 303|おばけ|〓|、|[ 304|ドクロ|[ドクロ]|ム|\ 305|ファイヤー|〓|S|] 306|かばん|縹A|^ 307|公園|[公園]|B|a 308|キャンプ場|〓|C|b 309|DVD||蛞g 310|ラジオ|〓|驂h 311|ビデオ|〓|掟i 312|歌い出し|〓|〓|l 313|マージャン|〓|D|m 314|対決|[VS]|E|n 315|当たり|〓|桍p 316|トロフィー|〓|F|q 317|スロット|[777]|F|s 318|競馬||ア|t 319|競艇|G|鋼u 320|工事中|〓|J|w 321|男性|[♂]|[♂]|x 322|女性|[♀]|[♀]|y 323|乳幼児|〓|ル|z 324|注射器|〓|驂{ 325|入浴|忿K| 326|トイレ(2)|マ|}| 327|音声|〓|黥 328|お知らせ|〓|黥 329|祝日|〓|L| 330|ロックON|}|| 331|ロックOFF|}|| 332|街|〓|M| 333|料理|〓|ェ| 334|為替相場|[$\]|[$\]| 335|株価|〓|O| 336|ニュース|〓|− 337|元気|〓|ツ| 338|バス停|〓|| 339|交番|〓|P| 340|タクシー|ソ|掛 341|徒歩|リ|v|。 342|目的地|[ココ]|[ココ]|」 343|飾罫1|掟イ|、 344|飾罫2|掟Q|・ 345|飾罫3|掟Z|ヲ 346|18禁|[R18]|V|ァ 347|初心者|〓|X|ゥ 348|アンテナマーク|〓|W|ォ 349|更新|[UP]|閖ウ 350|おすすめ|[COOL]|X|エ 351|月額|[月]|[月]|キ 352|申し込み|[申]|[申]|ク 353|見出しボタン1|[●]|f|ケ 354|見出しボタン2|[●]|g|コ 355|見出しボタン3|[●]|g|サ 356|お得|[得]|ミ|ニ 357|割引|[割]|Y|ヌ 358|サービス料|[サ]|Z|ネ 359|指定席|[指]|^|フ 360|営業時間|[営]|_|ヘ 361|上へ|[↑]|`|ホ 362|下へ|[↓]|a|マ 363|左へ|[←]|リ|ミ 364|右へ|[→]|ル|ム 365|上|[↑]|[|メ 366|下|[↓]|\|モ 367|右|[→]|n|ヤ 368|左|[←]|o|ユ 369|次へ|[>]|J|レ 370|前へ|[<]|I|ロ 371|早送り|[>>]|L|ワ 372|巻戻し|[<<]|K|ン 373|星座|〓|b|゙ 374|へびつかい座|〓|s| 375|TOPページ|[TOP]|[TOP]| 376|マナーモード|〓|c| 377|電源切|〓|d| 378|ネクタイ|〓|f|「 379|ハイビスカス|〓|g|」 380|ひまわり|〓|シ|・ 381|花束|〓|h|ヲ 382|やしの木|〓|サ|ァ 383|サボテン|〓|i|ィ 384|トイレ(3)|[WC]|[WC]|ゥ 385|乾杯|モ|k|ャ 386|祝|[祝]|l|ュ 387|カプセル薬|〓|m|ッ 388|風船|〓|n|ー 389|クラッカー|〓|o|イ 390|MD|〓|毫カ 391|メガホン|〓|黥キ 392|帽子|〓|q|ク 393|可愛いワンピース|〓|o|ケ 394|ミュール|ユ||コ 395|ロングブーツ|〓|r|サ 396|マニキュア|〓|s|ス 397|エステ|〓|艚セ 398|美容院(2)|ヨ|t|ソ 399|理容院|〓|u|タ 400|着物|〓|v|チ 401|ビキニ|〓|w|ツ 402|ハートを射とめて|掃テ|ノ 403|ハート青|掃z|ハ 404|ハート緑|掃{|ヒ 405|ハート黄|掃||フ 406|ハート紫|掃}|ヘ 407|☆|[☆]|c|マ 408|○1|D|−メ 409|×1|×|l|モ 410|☆(点滅)|[☆]|c|ユ 411|動く"?"|[?]|[|ヨ 412|動く"!"|ァ|Z|ラ 413|ソフトクリーム|〓|лレ 414|フライドポテト|〓||ロ 415|串団子|〓||ワ 416|せんべい|〓||ン 417|ご飯|||゙ 418|スパゲッティ|〓|榎゚ 419|カレーライス|〓|掛 420|おでん|〓|弓 421|寿司|〓|芸 422|みかん|[ミカン]|旨 423|いちご|[苺]|ュ| 424|すいか|[スイカ]|ヲ| 425|トマト|[トマト]|楯 426|なす|[茄子]|酢 427|駅弁|〓|掃 428|ナベ|〓|竹 429|あせり(1)|ネ||A 430|鼻ちょうちん|ヲ||H 431|ゲロゲロ||嘶K 432|マスクをつけた顔|〓|斈L 433|顔が赤くなる|マ|忿M 434|冷や汗(3)|ネ|嘶O 435|泣いたり笑ったり|マ|h|R 436|KISS:動く口|ヒ|「|W 437|投げKISS|ヒ|」|X 438|鼻|[鼻]|、|Z 439|口|桍・|\ 440|ごめんなさい|〓|ヲ|] 441|バイバイ||ェ|^ 442|拍手|〓|ァ|_ 443|OK|ー|ィ|` 444|Booing|・|ゥ|a 445|おっは〜||ェ|b 446|×2|ヤ|ォ|c 447|○2|ー|ャ|d 448|手をつないでいる|竹ョ|e 449|土下座|m(__)m|ュ|f 450|バンザイ|\(^o^)/|弓g 451|人と人が歩いている|〓|〓|h 452|ラインダンス|〓|ッ|i 453|フットボール|〓|培k 454|ビリヤード|〓|ア|l 455|水泳|〓|イ|m 456|トラック|[トラック]|弓o 457|消防車|〓|ウ|p 458|救急車|〓|エ|q 459|パトカー|[パトカー]|オ|r 460|ジェットコースター|〓|カ|s 461|Bチョコ|〓|X|w 462|お雛様|〓|ク|x 463|卒業式|〓|ケ|y 464|ランドセル|〓|コ|z 465|鯉のぼり|〓|サ|{ 466|結婚式|〓||} 467|かき氷|〓|セ| 468|線香花火|〓|ソ| 469|貝|〓|タ| 470|風鈴|〓|チ| 471|稲穂|〓|〓| 472|ハロウィン|〓|ツ| 473|お月見|〓|テ| 474|風がビュー|〓|@| 475|サンタクロース|[サンタ]|ト| 476|朝日|毫ネ| 477|夕日|毫M| 478|虹|[虹]|ニ| 479|ラブホテル|〓|ヌ|。 480|デパート|〓|ハ|、 481|お城(和)|[城]|ヒ|・ 482|お城(洋)|[城]|フ|ヲ 483|映画館|リ||ァ 484|工場|〓|ヘ|ィ 485|東京タワー|〓|處ゥ 486|109|〓|〓|ェ 487|日本|[日本]|・|ォ 488|アメリカ|[アメリカ]|酢ャ 489|フランス|[フランス]|ホ|ュ 490|ドイツ|[ドイツ]|マ|ョ 491|イタリア|[イタリア]|ミ|ッ 492|イギリス|[イギリス]|ム|ー 493|スペイン|[スペイン]|H|ア 494|ロシア|[ロシア]|I|イ 495|中国|[中国]|メ|ウ 496|韓国|[韓国]|モ|エ 497|中国人|〓|ユ|カ 498|インド人|〓|ヨ |キ 499|おじいちゃん|〓|ラ|ク 500|おばあちゃん|〓|リ|ケ 501|あかちゃん|〓|ル|コ 502|安全第一|〓|レ|サ 503|お姫さま|〓|ロ|シ 504|自由の女神|〓|〓|ス 505|衛兵|〓|〓|セ 506|フラメンコ|〓|ン|ソ 507|イルカ|[イルカ]|ワ|タ 508|とり||ケ|チ 509|熱帯魚||゙|ツ 510|ハムスター|[ハムスター]|[ハムスター]|ト 511|けむし|〓|゚|ナ 512|ぞう|[像]|烟ニ 513|こあら|[コアラ]|痞ヌ 514|チンパンジー|[チンパンジー]|イ|ネ 515|ひつじ|[羊]|g|ノ 516|おおかみ|[狼]|コ|ハ 517|うし|[牛]|窩ヒ 518|うさぎ|[兎]|ー|フ 519|へび|[蛇]|縹ヘ 520|にわとり|[鶏]|艚ホ 521|いのしし|[猪]|蛞マ 522|らくだ|[ラクダ]|諫ミ 523|かえる|[蛙]|ウ|ム 524|A型|[A]|轎メ 525|B型|[B]|閖モ 526|AB型|[AB]|黥ヤ 527|O型|[O]|驂ユ 528|門松|〓|キ|v 529|白人|〓|ヤ|オ 530|J-Sky1|〓|〓|$QX 531|J-Sky2|〓|〓|$QY 532|vodafone1|〓|〓|$QZ 533|vodafone2|〓|〓|$Q[ 534|vodafone3|[vodafone]|[vodafone]|$Q\ 535|vodafone4|[vodafone]|[vodafone]|$Q] 536|vodafone5|[vodafone]|[vodafone]|$Q^ 537|小四角1|■|M|サ 538|小四角2|■|N|コ 539|インフォメーションシンボル|[i]|O|[i] 540|ドル|コ|翻o 541|中四角1|■|P|サ 542|中四角2|■|Q|コ 543|小菱形1|◆|R|サ 544|小菱形2|◆|S|サ 545|大四角1|■|T|サ 546|大四角2|■|U|コ 547|小丸1|●|V|ケ 548|小丸2|●|W|ケ 549|プラス|+|X|+ 550|マイナス|−|Y|− 551|下三角1|▼|^|▼ 552|上三角1|▲|_|▲ 553|下三角2|▼|`|▼ 554|上三角2|▲|a|▲ 555|大菱形1|◆|b|サ 556|大菱形2|◆|c|サ 557|特大四角1|■|d|サ 558|特大四角2|■|e|コ 559|プッシュピン(画鋲)|φ|||φ 560|かける|×|k|モ 561|文書1|黥}|。 562|砂時計2|チ|T|[砂時計] 563|フロッピーディスク1|[FD]|~|カ 564|雪の結晶|[雪結晶]|b|[雪結晶] 565|バツ2|×|m|モ 566|割る|÷|p|÷ 567|カレンダー|[カレンダー]||[カレンダー] 568|スマイルフェイス|怖ヤ| 569|チェックマーク1|[チェック]|s|[チェック] 570|犬(プードル)|E|ク| 571|星3|☆彡|@|☆彡 572|フォルダ1(閉)|[フォルダ]|ャ|[フォルダ] 573|フォルダ2(開)|[フォルダ]|ュ|[フォルダ] 574|吹き出しコメント|[フキダシ]|ヨ|[フキダシ] 575|クレジットカード|[カード]|處[カード] 576|上三角3|▲|v|▲ 577|下三角3|▼|w|▼ 578|ノート3|艚u| 579|クリップボード|艚− 580|本1|艚| 581|立ち入り禁止|ヤ|\|w 582|本2|艚ポ 583|本3|艚л 584|本4|艚| 585|文書2|黥|。 586|ひめくりカレンダー|[カレンダー]||[カレンダー] 587|ハンディカム|リ|斈} 588|ナイフ|[包丁]|忿[包丁] 589|回り矢印1|└→|x|└→ 590|むしめがね|−|T 591|個人|}|縹 592|ノート1|艚| 593|ボルト&ナット|[ネジ]|桍[ネジ] 594|チャート(棒グラフ)|[グラフ]|掃 595|グラフ1(折れ線グラフ)|[グラフ]|竹 596|懐中電灯|||[懐中電灯] 597|Roldex|艚榎 598|チェックマーク2|[チェックマーク]|z|[チェックマーク] 599|電池|[電池]|。|[電池] 600|スクロール|ッ|{|[スクロール] 601|がびょう|[画びょう]|掛[画びょう] 602|ドル札|コ|「|o 603|台帳|艚弓 604|名札|[名札]||[名札] 605|複数本|艚芸 606|ロゴ(PDC社)|[PDC]|」|[PDC] 607|封筒2|s|ョ|C 608|送信BOX|[送信BOX]|ッ|[送信BOX] 609|受信BOX|[受信BOX]|ー|[受信BOX] 610|電話2|閖|I 611|定規1|[定規]|鋼[定規] 612|定規2|[三角定規]|z|[三角定規] 613|グラフ2|[グラフ]|倒[グラフ] 614|食事2|[肉]|掟[肉] 615|コンセント|[コンセント]|ヲ|[コンセント] 616|家族|[家族]|レ|[家族] 617|リンク|[リンク]|ァ|[リンク] 618|パッケージ|諫|R 619|ときどき曇り|滲|f|櫛 620|サイコロ|[サイコロ]|。|[サイコロ] 621|新聞|[新聞]|ィ|[新聞] 622|全部ブランク||ゥ| 623|半分ブランク||ェ| 624|4分の1ブランク||ォ| 625|四角数字10|[10]|G|[10] 626|港(いかりマーク)|ツ||「 627|地図|[地図]|楯[地図] 628|居酒屋(赤ちょうちん)||翻ォ 629|くす玉(アタリのくす玉)|[オメデトウ]|G|[オメデトウ] 630|ふぐ||ャ|Y 631|あり|[蟻]|カ|[蟻] 632|顔4(つかれたカオ)|ミ|L|C 633|捜索(SOS)|[SOS]|チ|[SOS] 634|なると|、|ニ|[なると] 635|足跡(犬)||ヌ|ヨ 636|花丸|[花丸]|ノ|[花丸] 637|100点満点|[100点]|ヒ|[100点] 638|バイオリン(クラッシック)|[バイオリン]|烟[バイオリン] 639|EZマーク|[EZ]|培[EZ] 640|UFO|[UFO]|轎L 641|演劇|ン|コ|」 642|イージープラス|[ezplus]|マ|[ezplus] 643|地球|[地球]|ミ|[地球] 644|紳士靴||轎G 645|ショッキング|||P 646|カメ|[カメ]|G|[カメ] 647|卵割り||N|テ 648|eznavigation|[EZナビ]|p|[EZナビ] 649|光るハート||y|ヌ 650|きらきら|毫~|ホ 651|勝ち誇り||怖D 652|わからん||慾G 653|びっくり|處桍P 654|あせり(2)|ネ|毫O 655|楽譜|、||ニ 656|花嫁|[花嫁]|ス|[花嫁] 657|夜/流れ星|W|ナ| 658|オープンウェーブ|〓|メ|〓 659|ロック確認|}|モ| 660|大文字|[ABCD]|ヤ|[ABCD] 661|小文字|[abcd]|ユ|[abcd] 662|数字|[1234]|ヨ|[1234] 663|記号|[記号]|ラ|[記号] 664|アクセプト|[可]|リ|[可] 665|チェックボックス|[チェックマーク]|ル|[チェックマーク] 666|ラジオボタン|[ラジオボタン]|ロ|[ラジオボタン] 667|戻る|[←BACK]|ン|ユ 668|お気に入り|[ブックマーク]|゙|[ブックマーク] 669|ホーム|ト|烟v 670|受信箱1|ニ|痞A 671|マーク|黥窩。 672|再読み込み|レ|艚[↑↓] 673|メロン|[メロン]||[メロン] 674|パイナップル|[パイナップル]||[パイナップル] 675|ぶどう|[葡萄]||[葡萄] 676|とうもろこし|〓||〓 677|きのこ|[茸]||[茸] 678|栗|[栗]||[栗] 679|桃|[桃]||[桃] 680|やきいも|[焼き芋]||[焼き芋] 681|ピザ|[ピザ]||[ピザ] 682|ターキー|[チキン]|@|[チキン] 683|七夕笹飾り|[七夕]|A|[七夕] 684|トロピカルドリンク|メ|B| 685|辰|[辰]|C|[辰] 686|ピアノ|[ピアノ]|D|[ピアノ] 687|サーフィン|キ|E|W 688|釣り||F|Y 689|ボーリング|[ボウリング]|G|[ボウリング] 690|なまはげ|[なまはげ]|H|[なまはげ] 691|天狗|[天狗]|I|[天狗] 692|パンダ|[パンダ]|J|[パンダ] 693|あかんべー|ヘ|K|I 694|ぶたの鼻||L|K 695|花|[花]|M|・ 696|アイスクリーム|[アイスクリーム]|N|[アイスクリーム] 697|ドーナツ|[ドーナツ]|O|[ドーナツ] 698|クッキー|[クッキー]|P|[クッキー] 699|チョコ|[チョコ]|Q|[チョコ] 700|キャンディ(つつみ)|[キャンディ]|R|[キャンディ] 701|キャンディ(ぺろぺろ)|[キャンディ]|S|[キャンディ] 702|見ざる|(/_\)|T|(/_\) 703|言わざる|(・×・)|U|(・×・) 704|聞かざる||(・・)||V||(・・)| 705|火山|[火山]|W|[火山] 706|英語「ABC」|[ABC]|Y|[ABC] 707|プリン|[プリン]|Z|[プリン] 708|ミツバチ|[ミツバチ]|[|[ミツバチ] 709|テントウムシ|[テントウムシ]|\|[テントウムシ] 710|蜂蜜ポット|[ハチミツ]|]|[ハチミツ] 711|青りんご|黥^| 712|羽のはえたお札|〓|_|〓 713|目がまわる時の記号|[クラクラ]|`|G 714|ぶー(かわいく怒)(ネコ)|ノ|b|V 715|天の川|W|c| 716|チュー(ネコ)|(´З`)|d|X 717|にこ(ネコ)|怖e|U 718|泣き笑い(ネコ)|マ|g|R 719|目がハート(ネコ)|ヒ|i|F 720|ほえー(ネコ)||j|C 721|ほえー||k|C 722|涙ぽろり(ネコ)|モ|l|Q 723|きりり(ネコ)||n|D 724|モヤイ像|[モアイ]|p|[モアイ] 725|花札|[花札]|r|[花札] 726|ジョーカー|[ジョーカー]|s|[ジョーカー] 727|エビフライ|[エビフライ]|t|[エビフライ] 728|eメールアイコン|w|u|C 729|パトカーのランプ|[パトカー]|w|r 730|ezmovie|[EZムービー]|x|[EZムービー] 731|ドキドキしているハート|竹y|ヌ 732|正面向きのひよこ||z|テ 733|うっしっし(ネコ)||лD 734|Cメールアイコン|[Cメール]||[Cメール] 735|ハーブ|諫|P 736|キャラクター(挙手)|(^-^)/|掛R 737|キャラクター(しょんぼり)||芸C 738|キャラクター(かわいく怒る)|ノ|鋼V 739|Java(TM)|[Java]|旨[Java] 740|BREW(R)|[BREW]|楯[BREW] 741|EZ着うた|[EZ着うた]|酢[EZ着うた] 742|EZナビ|[EZナビ]|掃[EZナビ] 743|WIN|[WIN]|竹[WIN] 744|プレミアム|[WIN]|倒[WIN] 745|どきどきハート|竹y|ネ 漏れてた 絵文字リスト(emoji.txt Shift-JIS) 携帯に絵文字を送りたい場合に、、、 emoji.txt 携帯でアクセスすると、絵文字になっています。 ソフトバンクは勝手に変換するみたいなので表示されません。このサイトを PC ブラウザでアクセスすると絵文字が確認出来ます。 上記を MSDB に T_EMOJI として保存した場合 '*********************************************** '絵文字置換処理(Shift-JIS) 'データ、変換元キャリア、変換後キャリア ' soseCarrea ' A - AU J - SoftBank その他は DoCoMo ' buff に絵文字データが含まれたデータが格納されていること ' 変換後は buff_Docomo, buff_Softbank, buff_AU '*********************************************** Sub Career_Conv(soseCarrea) Dim tmp_text_buff Dim tD, tA, tS Dim emoji_record tmp_text_buff = buff Select Case soseCarrea Case "J": emoji_record = 536 '745が漏れてたので 742まで Case "A": emoji_record = 742 Case Else: emoji_record = 255 End Select If Open_DB(MDBF) Then SQL = "SELECT TOP " & emoji_record & " * FROM T_EMOJI WITH (NOLOCK) ORDER BY IDx" If Open_RS(SQL) Then Do Until RS.Eof tD = RS.Fields("D").Value & "" tA = RS.Fields("A").Value & "" tS = RS.Fields("S").Value & "" Select Case soseCarrea Case "A": ' AU If tA <> "〓" then tmp_text_buff = Replace(tmp_text_buff, tA, "{[" & RS.Fields("NAME").Value & "]}") End If Case "J": ' SoftBank If tS <> "〓" Then tmp_text_buff = Replace(tmp_text_bufft, tS, "{[" & RS.Fields("NAME").Value & "]}") End If Case Else: ' DoCoMo Etc... If tD <> "〓" Then tmp_text_buff = Replace(tmp_text_buff, tD, "{[" & RS.Fields("NAME").Value & "]}") End If End Select RS.MoveNext Loop If RS.Eof Then RS.MoveFirst buff_Docomo = tmp_text_buff & "" bufft_AU = tmp_text_bufft & "" buff_Softbank = tmp_text_buff & "" Do Until RS.Eof tD = RS.Fields("D").Value & "" tA = RS.Fields("A").Value & "" tS = RS.Fields("S").Value & "" buff_Docomo = Replace(buff_Docomo, "{[" & RS.Fields("NAME").Value & "]}", tD) buff_Softbank = Replace(buff_Softbank, "{[" & RS.Fields("NAME").Value & "]}", tS) buff_AU = Replace(buff_AU, "{[" & RS.Fields("NAME").Value & "]}", tA) RS.MoveNext Loop End If End If End If Call Close_DB() End Sub  永久保存版!?携帯コーディング、これだけ読めばすぐできる!(テンプレートのおまけつき)  http://design.kayac.com/topics/2010/09/mobile-template.php  必要な情報はそろっていますね。  「Unicode 6.0」が策定、絵文字が国際標準に  http://k-tai.impress.co.jp/docs/news/20101013_399811.html  Unicode 6.0発表、絵文字を導入  http://journal.mycom.co.jp/news/2010/10/18/013/    おサイフケータイをICタグの読み取り機に、NTTドコモが新アプリ提供  http://itpro.nikkeibp.co.jp/article/NEWS/20101110/353999/  おサイフケータイ対応Android携帯電話 Push送信機能のご紹介  http://ap.pitsquare.jp/pc/developers/
GET と POST 内容の確認。 http://www.kojikoji.net/ で確認出来るようにしていますが、ASP と BASP 使って処理すると Dim PAR, i, BASP Set BASP = Server.CreateObject("basp21") PAR = Array() If Request.ServerVariables("REQUEST_METHOD") = "GET" Then PAR = Split(Request.QueryString.Item, "&") Else PAR = Split(Request.Form.Item, "&") End If For i=0 To UBound(PAR) Response.Write Server.HtmlEncode( BASP.Base64(PAR(i), 5) ) & "<br>" Next こんな感じ。(GET と POST の検索結果から来られる方が多いようですので) 同じ名前で複数送信した場合の確認は( http://www.kojikoji.net/?test=1&test=2 ) Request.QueryString("test").Count Request.QueryString("test")(1) Request.QueryString("test")(2) Request.QueryString("test") で拾うと上記サイトで表示した状態。 ASPX で出力していますので挙動が少し違うかも。
Silverlight Silverlight/WPFで使える逆引きTips集 ――オートコンプリート機能編 http://codezine.jp/article/detail/5443
COM+  まだ現役。  ASP COM+ <comPlus>  http://technet.microsoft.com/ja-jp/library/ee431574.aspx  利用可能な COM+ サービスの概要  http://msdn.microsoft.com/ja-jp/library/k702b5fx(VS.80).aspx  .NET で COM+ サービスを使用する  http://msdn.microsoft.com/ja-jp/library/ms973809.aspx  ASP.NET での System.Transactions の使用  http://msdn.microsoft.com/ja-jp/library/ms229977(VS.80).aspx  興味がある人は、WSC 関連も。
Server オブジェクト エラー 'ASP 0177 : 8000ffff' Server.CreateObject に失敗しました 8000ffff Internet Explorer 7 がインストールされているが、Web サーバーを参照するときに、エラー メッセージ:「ASP 0177:8000ffff」 http://support.microsoft.com/kb/945701/ja SP2 は適応済みなのだけど、どうもバグっているようですねぇ。 アプリケーションプールを変えると動いたりするのですけど、、、 動くアプリケーションプールと、同じ設定でアプリケーションプールを作成しても、エラーが出たりします・・・ このエラーを回避するには DLLを登録したフォルダとは別にフォルダを作成し .NET の DLL を再登録すればエラーは無くなります。 が、根本的な解決ではありませんね。 どうやら日本語KBでは、情報が正しく伝わらないようで・・・ IE8 や IE9 にアップデートしている場合は、レジストリキーを手動設定しないと駄目で キー設定後に再起動すると、この問題が解決します。 http://support.microsoft.com/kb/945701/en-us     x86     HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_IGNORE_ZONES_INITIALIZATION_FAILURE_KB945701     x64     HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_IGNORE_ZONES_INITIALIZATION_FAILURE_KB945701     値の名前 : w3wp.exe     データ型 : DWORD     値    : 1     Microsoft Fix it 50843     http://go.microsoft.com/?linkid=9804147 ※2013年2月18日に日本語ページが更新されましたが判り難いのは変わりませんね・・・
Web アプリケーション セキュリティ強化: 脅威とその対策 セキュリティ保護された Web アプリケーションの設計ガイドライン http://www.microsoft.com/japan/msdn/security/guidance/secmod77.mspx マイクロソフト セキュリティ アドバイザリ (954462) ユーザー データ入力の未検証を悪用した SQL インジェクション攻撃の増加 http://www.microsoft.com/japan/technet/security/advisory/954462.mspx IIS & ASP 向け検査・対策ツールを公開 http://blogs.technet.com/jpsecurity/archive/2008/06/25/3077537.aspx