ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

セキュリティのモデル検査(アクセス制御編)

2010-12-16 20:05:19 | そのほか

■モデル検査→セキュリティにも応用できる
  ・通信プロトコル
    →SPINだけでなく、CSPやSMVも
  ・アクセス制御★(以下、これを書く)
  ・デジタル署名




■アクセス制御
  ・どの情報にだれがアクセスできるか、できないか
  ・ソフトがアクセス制御を守っているか?確認必要
     人手では手間増大、抜けもある
       →網羅的、機械的支援:モデル検査





■アクセス制御をモデル検査で、どうやるのか?

 Spinを例に考える
・セキュリティポリシーをLTL式で記述
・システムをPromelaで記述
・2つをあわせてSPINで検証



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

QMLを、はじめたい! その3 QMLの変数とイベント処理

2010-12-16 16:41:31 | そのほか

シリーズ「QMLを、はじめたい!」。前回は、QMLでHelloWorldを出しました。

 今回は、QMLにおける変数宣言と、イベント処理についてです。

 具体的には、前回作成した、HelloWorldが表示される以下のソース
import Qt 4.7

Rectangle {
    width: 200
    height: 200
    Text {
        x: 66
        y: 93
        text: "Hello World"
    }

}

を修正して、HelloWorldのところを、クリックすると、
コンソールに、クリックするたびに1上がった数を3回ずつ表示する
という、意味のないプログラムを作ってみたいと思います。




■編集方法

 前回作ったものを出します。

 Qt Creatorを立ち下げ、前回作ったプロジェクトを読み込むため、

「ファイル」→「ファイルプロジェクトを開く」

を選択します。


ファイルダイアログが出ますので、
前回作ったプロジェクト(.qmlprojectのもの)をクリックします。

そうすると、「プロジェクト」のところに、プロジェクト名のフォルダの下に、
プロジェクト名.qmlprojectとプロジェクト名.qmlがでてるはず。
そしたら、.qmlのほうを、ダブルクリックします

そうすると、上記のHelloWorldのソースが出るはず。




■変更ソース

このソースを、以下のように変更します。
import Qt 4.7

Rectangle {
    width: 200
    height: 200
    property int i: 0

    Text {
        x: 66
        y: 93
        text: "Hello World"
        MouseArea {
                    property int j: 0
                    id: mouse_area1
                    anchors.fill: parent
                    onClicked:{
                        i ++
                        for(j=0;j < 3 ; j ++)
                        {
                             console.log(i)
                        }
                    }
        }
    }
}

(<は、本当は半角)

そして、「ビルド」→「実行」を選択すると、プログラムが起動する。
HelloWorldと出てきたところを、クリックすると、
コンソール(下のQMLビューア)に
1
1
1
2
2
2
のように、3回ずつ、数字が出るはず。




■変数について

 で、ここから説明。
 自分で変数を作りたい場合は、

   property 型 変数名: 初期値

 の形で、propertyとして、変数を宣言する(x,yみたいにもともと定義されているものとかち合わないように)

例(6行目):

property int i: 0




■マウスイベント処理について

 MouseAreaというエリアを作成する必要がある。その中で、カーソルがクリックされると、
 onClicked:が定義されていると、処理を行う。

 onClicked:のあと、{}でくくって、ここで処理が書ける。変数は前もってプロパティで宣言しておく。

 今回の例の、「 console.log(i)」は、コンソールに表示させるもの




今回はここまで。


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

PHPのZend FrameworkをEclipseで使う その2:Eclipseからzend

2010-12-16 11:20:54 | PHP

PHPのZend FrameworkをEclipseで使うことを考える。
その手順。2回に分けて説明する予定の2回目。

前回は、Zendフレームワークのインストールまでを書いたので、今回は、その先、

  ・Eclipseをインストールして、
  ・Zendで作ったサンプルソースを、配備して
  ・Eclipseから配備したところを見るようにする。

 をやります。今回は一からつくらず、サンプルソースを修正します。
 では、以下からやり方詳細。




■Eclipseをインストール
All in one Eclipseのページ
Pleiades - Eclipse プラグイン日本語化プラグイン
http://mergedoc.sourceforge.jp/


にいって、最新版の「Ultimate」または「PHP」版をダウンロードしてくる。

あとは、それを、解凍して、起動します(いや、まだ起動しなくていいけど)。
起動するのは、解凍してでてきたフォルダの中にあるeclipseの下の、「eclipse.exe」です。




■Zendで作ったサンプルソースを、修正・配備

 以下の3手順
(1)サンプルダウンロード
(2)構成変更&修正
(3)確認

を行います。

●(1)サンプルデータダウンロード
 今回は、
Zend Framework入門(2):Hello World!アプリケーションの作成
http://codezine.jp/article/detail/1961/

のサンプルファイルを使います。

ここ http://codezine.jp/article/download/1112
から、サンプルがダウンロードできますので、ダウンロード&解凍します。

●(2)構成変更&修正
今回は、Eclipseで扱いやすいように、構成を変えます。
しかし、構成を変えると、セキュリティ上、脆弱になります。
脆弱にしたくなければ、サンプルコードのままにしてください


 今回は、扱いやすくするために、構成を

HelloZendの下に、ソースを配備し、http://localhost/HelloZend
でアクセスできるようにします。

(2-1)まず、Apacheのホームの下のhtdocs
(たとえば、C:\Program Files\Apache Software Foundation\Apache2.2\htdocs)
の下に、HelloZendというフォルダを作ります
(もちろん、好きなところにフォルダを作って、(2-2)以降の作業を行い、
 その後、フォルダごと、htdocsの下においてもOK)

(2-2)サンプルを解凍すると、htdocs、zendappsというフォルダがあると思います。
 その、htdocsの下のindex.phpファイル(sample\htdocs\index.php)を
 今作った、HelloZendフォルダの下にコピーします。

(2-3)サンプルの下のzendapps(sample\zendapps)を
 今作った、HelloZendフォルダの下にコピーします。

(2-4)HelloZendフォルダの下に、.htaccessというファイルを作成します。
 中身はこんな感じ

php_flag magic_quotes_gpc off

RewriteEngine on
RewriteBase /HelloZend/
RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php


(2-5)構成をかえたため、一部書き換えます。
 index.phpのファイル中、赤字の部分を修正して、以下のようにします。
<?php
require_once 'Zend/Controller/Front.php';
Zend_Controller_Front::run('zendapps/controllers');


ここまでの作業をやると、こんな構成になっているはず


●(3)確認
 
http://localhost/HelloZend/

をブラウザでアクセスします。
「こんにちは!
 お名前をどうぞ。」
とでてきて、Goをクリックすると、
「こんにちは、 your nameさん!」
と出てくればOK!




■Eclipseから配備したところを見る

 今、配備したサンプルのところを、Eclipseから編集できるように、
 Eclipseのプロジェクトを作成&設定します。

(1)Eclipseを立ち上げます。

(2)Eclipseのメニューから
  「ファイル」→「新規」→「その他」
  を選んでください。
  (「ファイル」→「新規」で、「PHPプロジェクト」が見れるなら、それを選んでも良い。
   その場合、(4)へ)

(3)ダイアログが出てきます。「PHP」→「PHPプロジェクト」を選んで「次へ」

(4)プロジェクトのダイアログで
  「プロジェクト名」は好きに入れてください。(今回はHelloZendにしてます)
  その下の「内容」は「外部ソースからプロジェクトを作成」にチェックしなおします。
  そしたら、「参照」ボタンをクリックし、さっき配備したHelloZendのパス
  (たとえば、
    C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\HelloZend
   などになっていると思う)
  を設定します。そしたら、完了。

(5)あたらしく、プロジェクトが出来て、そこから、ソースが見れるはず。

(6)実行するには、Eclipseのメニュー「実行」→「実行構成」を選択し、
   実行構成ダイアログを出したら、PHP Webページを選択して、
   左上のドキュメントに+印のものをクリックする


(7)新規構成っていうのができるので、下のように、名前を適当に入れて、
   ファイルを、HelloZendのindex.phpにして(参照から選べる)
   「適用」をクリック、その後「実行」ボタンをクリック。

(8)Eclipseから
「こんにちは!
 お名前をどうぞ。」
とでてきて、Goをクリックすると、
「こんにちは、 your nameさん!」
と出てくればOK!




こんなかんじ。



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする