2017年09月22日

アスキー文字コード(Ox717a)を、文字("qz")に変換するユーザー定義関数(VBA) ※SQLインジェクション解析用


'文字列の中のアスキー文字コード表現を文字に変換する(例 Ox9798 → ab)
Function Hex2Char(OriginalStr As String) As String
Dim Str_Len, Cnt_Search As Integer
Dim Str_Cnv, HexStart, Str_Hex As String
Str_Len = Len(OriginalStr)
Str_Cnv = ""
HexStart = "0x"
Cnt_Search = 1
Do While Cnt_Search <= Str_Len
If Mid(OriginalStr, Cnt_Search, 2) = HexStart Then
'"0x"なら以降の16進を文字変換
Cnt_Search = Cnt_Search + 2
LoopSW = 1
Do While LoopSW = 1
If IsNumeric("&H" & Mid(OriginalStr, Cnt_Search, 2)) Then
'16進数値なら変換
Str_Hex = "&H" & Mid(OriginalStr, Cnt_Search, 2)
Str_Cnv = Str_Cnv & Chr(Val(Str_Hex))
Cnt_Search = Cnt_Search + 2
Else
'16進でない文字が出現したらループを抜ける
LoopSW = 0
End If
Loop
End If
Str_Cnv = Str_Cnv & Mid(OriginalStr, Cnt_Search, 1)
Cnt_Search = Cnt_Search + 1
Loop
Hex2Char = Str_Cnv
End Function
posted by 貝貝 at 14:06| Comment(0) | Internet | このブログの読者になる | 更新情報をチェックする

2017年09月15日

URI(URL)エンコード・デコード Excel版

最近、GETの値を含んだURI付きのメールを送る必要が生じました。
で、ざっくり調べた感じ、VBAにはURIエンコード・デコードをする関数はないようです。……が、どうやら、javascriptのコンポーネントを使うのが一般的なようなので、関数を作って置きました。

Function EncodeURI(OriginalStr As String) As String
Dim js As Object
Set js = CreateObject("ScriptControl")
js.language = "Jscript"
EncodeURI = js.codeobject.encodeURIComponent(OriginalStr)
End Function

Function DecodeURI(OriginalStr As String) As String
Dim js As Object
Set js = CreateObject("ScriptControl")
js.language = "Jscript"
DecodeURI = js.codeobject.decodeURIComponent(OriginalStr)
End Function
posted by 貝貝 at 13:24| Comment(0) | Internet | このブログの読者になる | 更新情報をチェックする

2017年09月06日

Struts2による開発

1 Eclipse 3.0 以上 (Java開発支援)
  Tomcat 5.5 以上 (Apache上でJavaによるWebアプリの実行環境)
  をインストール

2 Struts 2 をダウンロードして解凍し、開発目的に必要なjarファイルを、Tomcatの「lib」フォルダにコピー
   (最低限必要となるjarファイル)
   commons-logging-1.0.4.jar
   freemarker-2.3.12.jar
   commons-fileupload-1.2.1.jar
   ognl-2.6.11.jar
   struts2-codebehind-plugin-2.1.2.jar
   struts2-core-2.1.2.jar
   xwork-2.1.1.jar

3 Eclipseで新規動的WEBプロジェクトを作成し、新規サーバーでTomcatを選択する

4 Tomcatのコンフィギュレーション(WebContent/WEB-INF/web.xml)に、Struts2のServerFilterを設定する
  (WebサーバーへのリクエストをStruts2で処理させる)

5 WebContentフォルダに、index.jspを作成
ーーーーサンプルーーーーーー
<br /><%@ page language="java" contentType="text/html; charset=UTF-8" <br /> pageEncoding="UTF-8"%><br /><%@ taglib prefix="s" uri="/struts-tags" %><br /><html><br /><body><br /> <s:form><br /> こんにちは。<br /> <s:submit method="hello" value="こちらこそこんにちは"/><br /> </s:form><br /><script type="text/javascript"> (function(w,d,s){ var f=d.getElementsByTagName(s)[0],j=d.createElement(s); j.async=true;j.src='//dmp.im-apps.net/js/7262/0001/itm.js'; f.parentNode.insertBefore(j, f); })(window,document,'script'); </script> <script type="text/javascript" src="https://t.seesaa.net/analytics-seesaa-net.js?v=20150901&tid=UA-53911882-1&page_id=hage4242%2Farchives%2F201709&page_info=::0::0&page_words="></script></body><br /></html><br />
ーーーーーーーーーーーーーーー

6 ActionクラスindexAction.javaを作成
ーーーーサンプルーーーーーー
import com.opensymphony.xwork2.ActionSupport;
public class indexAction extends ActionSupport {
public String execute() throws Exception {
return "success";
}
public String message;
public String hello() throws Exception {
message = “いえいえこちらこそこんにちは。”;
return "hello";
}
}
ーーーーーーーーーーーーーーー

7 最後に、サブミットボタンを押されたときに表示されるJSPページindex-hello.jspを作成
ーーーーサンプルーーーーーー
<br /><%@ page language="java" contentType="text/html; charset=UTF-8" <br /> pageEncoding="UTF-8"%><br /><%@ taglib prefix="s" uri="/struts-tags" %><br /><html><br /><body><br /> <s:property value=”%{message}”/><br /></body><br /></html><br />
ーーーーーーーーーーーーーーー

8 サーバを起動し、「http://localhost:8080/sample/index.action」にアクセス

【動作原理】
 ユーザーからindex.actionの表示要求を受けて、Struts 2はindexActionのインスタンスを生成します。特に実行するメソッドの指定がない場合は、executeメソッドを実行することになっているので、executeメソッドを実行し、結果「success」を得ます。
 すると、後述のStruts 2の機能により、結果を表示するページをindex-success.jsp→index.jspの順で探します。index-success.jspは今回作成していないので、次の候補index.jspを結果として表示します。
 次に、ユーザーがサブミットボタンを選択して、helloメソッドを呼び出すと、Strus 2の内部では、再度indexActionのインスタンスを生成し、helloメソッドを実行します。結果として「hello」を得るので、先ほどと同様、index-hello.jsp→index.jspの順で表示するページを探します。今回は、index-hello.jspが存在するので、index-hello.jspの内容が表示されます。
posted by 貝貝 at 17:15| Comment(0) | Internet | このブログの読者になる | 更新情報をチェックする