サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ノーベル賞
kandk.cafe.coocan.jp
Jeans & Development コンピューターのことなどを綴った日記、メモと Bookmark 集 (旧:目から鱗 w/SQLite) 去年がHTML5元年だそうで、HTML5はまだ始まったばかりの技術なのだけれど、モバイル環境でも使えるアプリケーションを開発できるという意味ではおもしろい。 最近、MZ-80K(SHARPが30年少し前に発表したパソコン)のレプリカを作ったり、それ用のBASICを開発したりで、これに少しはまりこんでいる。 そこで、出来て1年ほどの技術を用いて30年以上前のコンピューターを再現するのもおもしろかろうと思い、HTML5の勉強を兼ねてMZ-80Kのエミュレーターを作ってみた。「KM-Z80 web」と名付けている。 現物及び使用方法の説明、ソースコードのダウンロードなどはこちら 使い方などは別のページに譲るとして、ここではHTML5の技術に関する
情報処理高度化等に対処するための刑法等改正法案(いわゆる、サイバー法案・コンピューター監視法案)が国会で審議中ですが、これに伴い、私が現在配布している次のソフトウェアについて、配布を終了します。 Round Window MakeExe 次のソフトウェアに関しては、開発の終了を宣言します。 Nucleus CMS用のプラグインその他 また、次のソフトウェアについては、配布場所が今後変更になる可能性があります。 Jeans CMS SFC mini Oyagame Suppon 私がこのような措置を行う事になった背景としては、平成23年5月27日に行われた、第177回第14号の衆議院法務委員会における、江田五月法務大臣と大口善徳委員とのやりとりにあります。一部、引用します。 ○大口委員 それから、プログラム業界では、バグはつきものだ、バグのないプログラムはないと言われて
Jeans & Development コンピューターのことなどを綴った日記、メモと Bookmark 集 (旧:目から鱗 w/SQLite) Windows NTのcmd.exeでは、ファイルをcmdのウインドウにdrag&dropすることで、ファイルのフルパスを入力することができた。これは、XP以降ではできなくなったようで(もしかしたら、Vista以降かな?)、不便を感じたので、SendToからファイルパスをクリップボードにコピーするスクリプトを書いてみた。 最近はほとんどEXEファイルを作成することがなくなったので、今回もVBScriptで。で、Googleで『vbscript クリップボード』という検索語で調べてみると、マイクロソフトのページが最初に出た。 Hey, Scripting Guy! WSH と VBScript のいずれにもクリップボードを操作する機能はありません
Jeans & Development コンピューターのことなどを綴った日記、メモと Bookmark 集 (旧:目から鱗 w/SQLite) HTMLコメントを削除する方法 2008/02/19 改定 <pre><?php $html='outside <!--[inside]--> outside <!--[inside]--> outside'; echo htmlspecialchars(preg_replace('/<!--[\s\S]*-->/','',$html)); // 1) echo '<br />-----<br />'; echo htmlspecialchars(preg_replace('/<!--([^-]|-[^-]|--[^>])*-->/','',$html)); // 2) echo '<br />----
Jeans & Development コンピューターのことなどを綴った日記、メモと Bookmark 集 (旧:目から鱗 w/SQLite) SFC mini用の新しいinstall.vbsが完成。 option explicit Dim wmi,os,value,wsh,sha,sfo Set sfo=CreateObject("Scripting.FileSystemObject") do while WScript.Arguments.Count=0 and WScript.Version>=5.7 'Check if Vista Set wmi = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\.\root\cimv2") Set os = wmi.ExecQuery ("SELECT * FROM Wi
Jeans & Development コンピューターのことなどを綴った日記、メモと Bookmark 集 (旧:目から鱗 w/SQLite) PostgreSQL を、Linuxサーバにインストールした。このデータベースエンジンは現在は用いていないが、将来使用することがあるかもしれないので、インストール状況のメモを取っておくことにした。 まず、www.postgresql.jpからダウンロード。ここで使うバージョンは、7.4.5 である。このバージョンを使うという結論に至るまでいろいろあったけれど、それは省略。結論としては、今のLinuxディストリビューション(Vine-Linux-3.1)で提供される PostgreSQL 用 rpm ファイルのバージョンと合わせた。v7.4.5日本語版のインストール説明はこちら。 ./configure でインストールを試みた。 checkin
PHPのfile_exists()はリモートファイルでは使えない。そこで、リモートファイル(現在の所、'http://xxx/xxx'のみ)で扱えるurl_exists()とurl_head()を作成した。 作っている途中で"if ( !@fopen($URL,'r') )"でエラートラップすることでURLが有効かどうか調べられることに気がついたが、その時点で殆ど完成していたので完成させてメモを取っておくことにした。 ///////////////////////////////////// // functions url_head & url_exists // // ver 0.10 by katsumi // ///////////////////////////////////// function url_head($myUrl,
option explicit Dim wmi,os,value,wsh,sha,sfo Set sfo=CreateObject("Scripting.FileSystemObject") do while WScript.Arguments.Count=0 and WScript.Version>=5.7 'Check if Vista Set wmi = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\.\root\cimv2") Set os = wmi.ExecQuery ("SELECT * FROM Win32_OperatingSystem") For Each value in os if left(value.Version,3)<6.0 then exit do '
サーバーログを見ていつも思うのだが、『index.php?itemid=123#nucleus_cf』などのURIにアクセスしてくるスパムが結構多い。なぜ『#』を含むURIにアクセスしてくるかは、個別アイテムページのコメントフォームのソースコードを見れば分かる。まともなブラウザなら、こんなことはしない。 また、『index.php?body=http://cracked.site.com/foo.php?』のように、『?』を2つ以上含むURIへのアクセスもある。こちらは、リモートコードインサーションを狙った、クラッキングのトライ。本来ならば、『?』は『%3F』にエンコードされるべきである。 以上の理由から、URIに『#』か二つ以上の『?』を含むアクセスを禁止することにした。index.phpに次のコードを追加することで、対処した。 // refuse # and ? in URL
<pre><?php $html='outside <!--[inside]--> outside <!--[inside]--> outside'; echo htmlspecialchars(preg_replace('/<!--[\s\S]*-->/','',$html)); // 1) echo '<br />-----<br />'; echo htmlspecialchars(preg_replace('/<!--([^-]|-[^-]|--[^>])*-->/','',$html)); // 2) echo '<br />-----<br />'; echo htmlspecialchars(preg_replace('/<!--(([^-]|-[^-]|--[^>])*)-->/','$1',$html));
.NET を用いればregasm.exeでCOMサーバを簡単に登録することが出来るのだが、やはり.NETは重い。加えて、.NET Framework がインストールされていないコンピュータの割合はそれほど低くないと思われる。 他方で、簡単な構造のCOMサーバなら、C++を用いてWin32プログラムとして製作すればよい。この場合、動作は軽いし汎用性もある。ただし、複雑なプログラムを組むのはやはり骨が折れるのだが…。 今回C++を用いたCOMサーバを製作することになったので、その方法をここにまとめておくことにした。 COMサーバの基本となるインターフェース部分を一つのcppファイルにした。以下の通りである。このファイルはいっさい変更することなく用いることが出来る。C++プロジェクトにインクルードすればよい。 comserver.cppの内容 #include <windows
(ver 1.0)『SFC mini』は、VBScriptおよびJScriptでWin32APIの使用を補助するためのツールです。以下の特徴があります。 1)簡単な宣言文で、Win32APIを初めとしたDLLの関数が使用できます。 2)ユーザ定義型の構造体が使用可能です。APIに引数として渡すことも出来ます。 3)コールバック関数を利用するAPIも利用可能です。また、ウィンドウプロシージャを使ったGUIプログラムが作成可能です。 4)ライブラリに収められたインクルード可能な機能を利用して、GUIプログラムを容易に作成することが出来ます。 5)C++で書かれたWin32プログラムなので、.NET Frameworkやその他のランタイムを必要としません。加えて、動作が軽いです。 SFC mini ver0.4は、SFC mini ver0.3及びSFC ver0.3の上
WSH を用いてZIPファイルを作成する方法を探していたが、Windows XPだと以外に簡単に出来ることが判明。 option explicit Dim files(0) files(0)=".\test.txt" Call MakeZip(".\temp.zip",files) Sub MakeZip(ByVal ZipPath, ByRef FileArray) Dim sfo,app,file,num Set sfo=CreateObject("Scripting.FileSystemObject") Set app = CreateObject("Shell.Application") ZipPath=sfo.GetAbsolutePathName(ZipPath) 'Create empty zip file Dim arrHex,
ブログの一部を英語化した。これ用に、一つ簡単なプラグイン(NP_text)を製作した。ソースコードは、記事の続きに。 1)まず、english.php と japanese-euc.php を用意し、スキンディレクトリに配置(nucleus/language/japanese-euc.phpを参考のこと)。 2)スキンの必要な箇所をすべて、<%text(XXXXX)%>に置き換える。 3)head.inc の冒頭に、
<<この記事に書いたことと類似のことは"SFC mini"でも可能です。>> 先の記事を書いた後、WSHでWin32APIを呼び出す方法について調べてみた。DynaCallもしくはDynaWrapというツールを提供してくれている人がいる(The DynaCall page)。これを使えば、VBscriptからWin32APIを呼び出せそうである。 ちなみに、このページ(The DynaCall page)からdynawrapNt.zipをダウンロードできるようになっている。 Windows-NT用であるが、今使っているWindows-2000でも使えるかどうか試してみた。 ダウンロード後、DynaCall のページに従って、 RegSvr32.exe C:\winnt\system32\dynwrap.dll で、dll を登録した。次に、付属のMsgBoc.vbsを実
一般的なこととして、PHP製のソフトウエアに関するセキュリティーに関して、考えてみたい。さまざまなセキュリティーホールのうち、SQLインジェクションとクロスサイトスクリプティングを取り上げ、主にサーバーの設定を中心に考察してみる。 この記事は、随時編集する可能性があります。また、疑問などありましたら、ご指摘いただければ恐縮です。 データベースとしてMySQLの使用を前提にしています。 1. はじめに PHP のセキュリティーを考える上でまずはじめに見ておきたいのが、register_globalsとmagic_quotes_gpc(及びmagic_quotes_sybase)である。ここでは、これらの設定の推奨値を register_globals=off magic_quotes_gpc=on magic_quotes_sybase=off としたい。これ
先日、自宅の Windows に Nucleus-SQLite を導入した。サーバ環境の構築から始めたが、Apache, PHP, SQLite のインストールでかなり手間取った。忘れないうちに、メモ。 SQLiteでなくMySQLを利用する場合はXAMPPやphpdevなど、簡単にサーバ構築できるソフトがあるが、SQLiteの場合は一つ一つ構築するのが基本であろう。 現時点(2006/11)での Apache の最新版は2.2.xであるが、Apache-2.2.x系列とPHPは相性が悪いようである。Apache-2.0.x と Apache-2.2.x ではモジュールとの接続のAPIが異なるらしく、Apache-2.2.x には PHP が導入できない。これは、PHP-5.2.x 系列で改善される見込みらしい。 まずは、WebサーバとしてApacheを導入した。ここで使うApache
『SFC mini』は、VBScriptおよびJScriptでWin32APIの使用を補助するためのツールです。以下の特徴があります。 1)簡単な宣言文で、Win32APIを初めとしたDLLの関数が使用できます。 2)ユーザ定義型の構造体が使用可能です。APIに引数として渡すことも出来ます。 3)コールバック関数を利用するAPIも利用可能です。また、ウィンドウプロシージャを使ったGUIプログラムが作成可能です。 4)ライブラリに収められたインクルード可能な機能を利用して、GUIプログラムを容易に作成することが出来ます。 5)C++で書かれたWin32プログラムなので、.NET Frameworkやその他のランタイムを必要としません。加えて、動作が軽いです。 SFC mini ver0.4は、SFC mini ver0.3及びSFC ver0.3の上位バージョンです。
スパム対策ロードマップに従って、スーパーライト版NP_Captchaを作成した。 このプラグインはNP_Captcha同様に画像認証によりスパムを撃退するものであるが、認証用の画像はこのプラグインをダウンロードするときに一度きり作成されるだけである。インストールした後は認証用の画像を作成しないので、GDがインストールされていないサーバ環境でも使用可能である。画像作成を行わないことに加えて独自のMySQLテーブルも持たないため、オリジナルのNP_Captchaに比べてサーバへの負担がかなり低いはず。 反面、一度認証キーが破られてしまうと、スパムを連続して送られてしまうことはありうる。そういったケースでは、このプラグインをもう一度ダウンロードしなおして、上書きインストールをすればよい。こうすることで、認証画像を変更することが出来る。 NP_CaptchaSLをダウンロードするには、
コンピューターのことなどを綴った日記、メモと Bookmark 集このブログではNP_MultipleCategories0.38jに若干改造を加えたものを用いているが、カテゴリリストの表示に時間がかかるのが難点であった。アクセスの時刻にもよるが、ページ全体の表示に3.5秒ほどかかり、その時間のほとんどがMultipleCategories::showCategoryList()関数の実行に費やされている。スピード化を試みた。 ソースを見てみると、SQLクエリ中で『RegEx』が多用されている。これがスピードが遅くなる原因であろう。しかも、SQLクエリが入れ子構造になっているので、その解消を行った。まず、 echo TEMPLATE::fill($this->getOption('catheader'), array( 'blogid' => $blogid, 'blo
コンピューターのことなどを綴った日記、メモと Bookmark 集XSS脆弱性を修正した、3.31 SP2が出ました。ただし、脆弱性はEUC-JP版を、インターネットエクスプローラ・バージョン6で用いたときに、出ます。ですので、次の事例に該当する場合は、現在のところバージョンアップする必要はありません。 1)UTF8版、および英語版を用いている場合 2)EUC-JP版を、イントラネットなどのローカル環境でのみ使用しており、かつ、閲覧している全員がIE7もしくはFireFoxなどのブラウザのみを用いている場合。 EUC-JPを用いているけれども、管理にはIE6以外のブラウザ(IE7やFireFox)を用いているケースでは、危険性は少ないです。ただし、IE6で閲覧した第三者に意図しないサイト表示がされたりする可能性があります。こういったケースでも必ずバージョンアップを行ってください
このページを最初にブックマークしてみませんか?
『kandk.cafe.coocan.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く