ブログ内検索
とにかく速いブログサイトを目指す

カテゴリー : プログラミング

SOY CMSマニュアルページ作成中

SOY CMSの開発秘話を投稿しました。→SOY CMSの開発秘話
 

golangのunsafeパッケージで配列の操作をしてみる

私が参加しているプログラミング教室で、自作ゲームを作成することができた生徒がプログラミングの深いところに触れてみたいということで、一緒にコンパイラを見ていくことにした。言語はCやC++では大変なので、Go言語(golang)で作ることにしたが、データ構造の配列の箇所でC程気軽にポインタを扱えないことがわかった。やりたいことは、package mainimport "fmt"func main() {var arr [5]intp := &arr[0] ...

 

YAHBOOMのワールドオブモジュールを購入した

YAHBOOMから発売されたワールドオブモジュールというものを購入した。昨年末あたりに見かけてからずっと気になっていた。何故気になっているのか?といえば、LEGOテクニックと互換性があり、本屋でよく見かけるようになったポプラ社のメカメカツクール レゴブロックで作る実験マシーンの本の内容を簡単に拡張できる。とりあえず、色識別モジュールがあるので、色を識別して、ブロックを仕分けするような仕組みを作りたいな。ワールド オブ モジュール センサーキット ( ビルデ...

 

OpenStreetMap API版Soil & Geoロガー

以前、Soil & Geoロガーで現在地の土質と地質を調べようの記事で、スマホでボタンを押したら、土質と地質を調べる為の緯度経度を自動で取得する機能を設けた。Google Maps APIのジオコーディングのコードをOpenStreetMapのNominatimで書き換えてみたの記事でも紹介したOpenStreetMap APIを使う事が多く慣れてきたので、Soil & Geoロガーの改修を行ってみた。今回の改修は下記の通りOpenStreet...

 

AppImage形式のMinecraft: Pi Edition: Rebornでスキンを変更してみた

2022年3月15日にMinecraft: Pi Edition: Reborn(以後マイクラリボーン)の新しいバージョンがリリースされていたので、試してみようと思ったら、配布形式が.deb形式からAppImage形式されていた。形式の変更に伴い、Minecraft: Pi Edition: Rebornでスキンを変更してみたで試したスキンの変更が出来なくなっていたので、AppImage形式のマイクラリボーンでスキンの変更の方法を調べてみた。とその前にAppImage...

 

Minecraft: Pi Edition: Rebornでmcpiライブラリを試す

Minecraft: Pi Edition: Rebornでスキンを変更してみたまでの記事で、LinuxのOSのデストリビューションの一種であるDebian系のUbuntuにMinecraft: Pi Edition: Reborn(以後、マイクラリボーン)を入れて色々と試してみた。Linuxディストリビューション - Wikipedia今までの記事でも十分Linuxらしい操作があったが、マイクラリボーンはコンピュータやプログラミングの教育に向いていると、相当前から注目されている。 ...

 

Minecraft: Pi Edition: Rebornでスキンを変更してみた

Minecraft: Pi Edition: Reborn on Ubuntuの記事でRaspberry Pi OS(64bit)とUbuntu(64bit)にMinecraft: Pi Edition: Reborn(以後、マイクラリボーン)を入れた。マイクラリボーンをプログラミング教育の教材にしたいので詳細に触れている。一つのワールドでローカルネットワークで複数台でプレイすると、どうしてもやりたくなるのがスキンの変更で、今回はスキンの変更を見てみることにする。スキンと...

 

プログラミング教育用のノートパソコンを探せ

前回のMinecraft: Pi Edition: Reborn on Ubuntuの記事で、Raspberry Piでのみプレイできると思っていたMinecraft: Pi Edition(以後、MCPIを略す)だけれども、CPUがAMD(intel core i5)でOSがUbuntuのPCでプレイ出来るようにした。以前からMCPIはプログラミングの教材として注目をされていて、これがRaspberry Piでなくても動作するというのは有り難い。何故、Raspber...

 

Minecraft: Pi Edition: Reborn on Ubuntu

誠文堂新光社から出版されている子供の科学の2022年4月号のコンピュータの連載(ジブン専用パソコンのコーナー)で子供の科学のWEBサイト「コカネット」│コカネットMinecraft: Pi Edition: Reborn(以後、マイクラリボーンと略す)が紹介されていたので、早速Raspberry Piに入れて遊んでみた。どうやってRaspberry Piにマイクラリボーンを入れたか?はここでは触れないので、子供の科学の2022年4月号を購入して試してほしい...

 

トランジスタ3電流増幅作用

前回のトランジスタ2スイッチングの記事でトランジスタのスイッチングとしての役割を見た。今回は増幅について見てみることにする。増幅と聞いて、一体何を増幅するのだ?という疑問が生じた。電波を増幅させると言われても、電波の実態が掴めていないので増幅のイメージが難しい。この疑問に対して、「半導体」のことが一冊でまるごとわかる|書籍案内|ベレ出版という本に非常にわかりやすい記載があった。トランジスタの歴史を紹介するページにて、トランジスタの実験でn型半導体に指した二本の金属針(...

 

SOY CMSのカスタムフィールドアドバンスドの見直しで表示速度の改善

SOY CMSで運営しているサイトの表示速度を向上させたいという依頼があったので、今まで温めていた改修案を組み込んでみた。まずは表示が遅くなっていたサイトのパターンを整理しておくと、ブロックやブログブロックで一度にたくさんの記事を表示していることが原因であった。スクロールする度にAjaxで新たな記事を取得して出力というのがすぐに思い付くが、CMSの開発をしている者として一度に記事を取得するところの改善はしておきたい。ということで、表示を遅くする要因を挙げてみる事にする...

 

改めてSPIについてを知る4

en:User:Cburnett - 投稿者自身による作品 このW3C-unspecified ベクター画像はInkscapeで作成されました ., CC 表示-継承 3.0, リンクによるI, Cburnett, CC 表示-継承 3.0, リンクによる前回の改めてSPIについてを知る3の記事では、SPI通信のマスターとスレーブ間でのMOSIとMISOについてを触れた。残りは冒頭の図のSSとSCLKについてが残っているのでそれに触れる。冒頭の図では一つのマスター...

 

改めてSPIについてを知る3

改めてSPIについてを知る2までの記事でSPI通信の理解を深めている。SPI通信はCPUを持ち、自身で演算を行うコンピュータ(以後マイコンとする)とAD変換器の基準電圧とは何だろう?AD変換器のようなモジュールがマイコンから電力の供給を得て、マイコンが生成するクロック(リズミカルなHIGHとLOWの切り替え)を受け、それに応じて値を返す通信で有ることがわかった。en:User:Cburnett - 投稿者自身による作品 このW3C-unspecified ベク...

 

改めてSPIについてを知る2

改めてSPIについてを知る1に引き続き、SPIについてを理解する為に整理する。SPI通信はデータのやりとりを行う機器間で双方でUARTのようなシリアル通信モジュールを持たない場合に使用されるシリアル通信であるらしい。上記のような片方にシリアル通信モジュールがない場合は、クロックとシフトレジスタを利用するとデータの送受信を行えるようになる。芹井 滋喜著 第 3 章 内蔵シリアル通信モジュールを使わない,使えないときに役立つ 汎用入出力ポートを使ったシリアル通信のテクニック - トラ...

 

改めてSPIについてを知る1

ビット演算を介してシリアル通信を見るまでの記事で二つのデバイス間でのデータのやりとりに超重要なビット演算を見てきたので、改めて同期形式のシリアル通信について見ていく事にする。SPI通信はRaspberry PiにPH4502Cを繋いでみたの記事で実際に触れて調べたので、今回からの内容は改めて更に深堀する。SPIはシリアル・ペリフェラル・インターフェースの略で、ペリフェラルというのはコンピュータ周辺の機器という意味があり、CPUを持つコンピュータとAD変換器のような機器と接続し...

 

ビット演算を介してシリアル通信を見る

Pythonでビット演算子のビットシフトに触れるまでの記事でビット演算に触れてきた。一通り触れたことで、SPI通信についてを見る準備が出来た。SPI通信を見る前に、擬似的なUARTのやりとりをビット演算で振り返ってみる。UARTは上記のようなビット列で、送受信を開始していない時は 1 になっていて、送信を開始した時に スタートビットとして 0 、その後に8ビットの値が続き、必要であればパリティビット、最後にストップビットの 1 になっている。UARTについ...

 

Pythonでビット演算子のビットシフトに触れる

Pythonでビット演算子のビット否定に触れるまでの記事のビット演算に触れる内容も今回で最後。今回はビットシフトについて触れる。詳細に触れる前に実際にどのような値になるか?を見たほうが良いので試したコードを記載する。x = 1 # 0b1y = x 1print(y)print(bin(y))x = 13 # 0b1101y = x 1print(y)print(bin(y))y = x 2print(y)print(bin(...

 

Pythonでビット演算子のビット否定に触れる

今回のビット否定(反転:NOT)はPythonでビット演算子の排他的論理和に触れるの記事で触れた排他的論理和のXORと同様、目的であるSPI通信のコードの解読とは関係ないけれども、せっかくの機会なので触れておく。ビット否定 NOT は ~ の演算子を用いる。NOTはビットの反転を行う。xnot1001早速、13 (0b1101)のビット否定を試してみる。先に予想される結果を載せておくと# ~ 0b...

 

Pythonでビット演算子の排他的論理和に触れる

Pythonでビット演算子の論理積に触れるの記事の続き。今見ようとしているSPI通信のコードに排他的論理和はないけれども、これから必要になるかもしれないし、一応触れておく。排他的論理和 XOR は ^ の演算子を用いる。X は Exclusive の意味を持つ。XOR は x と y の二つの値があった時にxyxor110101011000片方の...

 

Pythonでビット演算子の論理積に触れる

今回はPythonでビット演算子の論理和に触れるの続き。前回見たコードには続きがあって、n = 0cmdout = ncmdout |= 0x18cmdout = 3b = cmdout & 0x80最後の行で&(アンバサンド)の演算子で計算している。&は論理積ANDであって、二つの値 x と y があった場合、xyand111100010000...

 

Pythonでビット演算子の論理和に触れる

UARTについてを知る4までの記事でUARTについて触れた。UARTのAが非同期という意味があり、非同期の理解を深める為には同期の理解を深める必要があり、同期の方にRaspberry PiにPH4502Cを繋いでみたの記事で触れたSPIがある。上記の記事ではGPIO Zeroという複雑な手続き無しで、SPI経由でAD変換器の値を受け取った。この時の記事で/************************************************/ラズ...

 

UARTについてを知る4

UARTについてを知る3までの記事でUARTのやりとりの一通りの内容を見てきた。残り見ていないのは非同期についてだけれども、Webアプリの非同期という言葉で連想されるようなAjaxやNode.jsとは異なるらしい。Ajax - WikipediaNode.js - Wikipediaシリアル通信における同期というのは、AD変換器から出力されたデジタル値を読み込むの記事で見たSPIのSerial Clockから出力されるクロックに合わせてデータを送信することで、...

 

ESP8266とRaspberry Piでソケット通信を試す

前回のコンピュータ二台でソケット通信を試すの記事でRaspberry Piをサーバ側、Ubuntuをクライアント側にしてソケット通信を試した。目標のマイコンで温度等のアナログ値を取得して、遠方のRaspberry Piにデータを送信するという事に近づく為に、今回はESP8266のモジュールをクライアント側にしてソケット通信を試す。Raspberry Piのsrv.pyのコードは前回と同じにして、端末を開いてsrv.pyを実行しておく。UbuntuにESP826...

 

コンピュータ二台でソケット通信を試す

前回のコンピュータ一台でソケット通信を試すの続き。前回は一台のコンピュータのローカルホスト(127.0.0.1)内で、サーバとクライアントのプロセスを立ち上げてソケット通信を行った。実際にやりたいことは、どこかしらに設置したマイコンが温度を取得して、それを遠方のコンピュータに送信することなので、今回は少しだけ距離を離し、二台のコンピュータでローカルネットワーク内でソケット通信を行ってみる。サーバ側のコンピュータとして、Raspberry Pi 4B 8G(OS:Raspberry...

 

コンピュータ一台でソケット通信を試す

NodeMCUでHTTP GETリクエストを試してみたまでの記事で、マイコン(ESP8266)のWiFi周りの基本的な操作に触れたので、本題となるマイコンで得られたデータをWiFiを経由してサーバに送信するということを見ていきたい。使用例としては、施設内に設置した温度計で温度というアナログデータをAD変換でデジタル値にした後にWiFi経由でコンピュータにソケット通信でデータを送信する。AD変換器の概要に触れるいきなり、OS有りのコンピュータとマイコン間でデータのや...

 

NodeMCUでHTTP GETリクエストを試してみた

表題の通りでNodeMCUでHTTP GETリクエストを試してみた。GETリクエストまで見れたら、httpプロトコルに関して一通り見れた事になるのかなと。早速、5. ネットワーク - TCPソケット — MicroPython 1.17 ドキュメント#HTTP GETリクエストを参考にして下記のコードを作成してみた。main.pydef http_get(url):import socket_, _, host, path = url.split('/...

 

NodeMCUをWebサーバにしてみた

NodeMCUをWiFiのアクセスポイントにしてみるの記事に引き続き、ESP8266のWiFi周りを試してみる。今回はNodeMCU(ESP8266)をWebサーバにしてみた。5. ネットワーク - TCPソケット — MicroPython 1.17 ドキュメント#シンプルなWebサーバに記載されている内容をコピペしてコードを実行してみた。main.pyimport machinepins = [machine.Pin(i, machine.Pin.IN) for i ...

 

NodeMCUにファームウェアをインストールする

購入したESP8266のNodeMCEを使ってみることにする。前回も記載したが、このモジュールは技適マークがない為、日本では使用してはいけない。このモジュールはあくまで学習用であるという事を常に意識しておく必要がある。このモジュールを試すにあたって、最初にファームウェアをインストールする必要がある。というわけで、NodeMCU ESP8266 Micropython Programming In 7 Simple Steps - EMBEDDED ROBOTICSの内容を参考...

 

Raspberry Piのシリアルコンソールを試す

Raspberry Piの設定のインターフェースにシリアルコンソールという項目があるので試してみた。シリアルコンソールというのは、シリアルコンソールケーブルでRaspberry Piと操作用のPCを繋いで、ネット環境のない場所で有線でRaspberry Piを操作出来るようにする。※ネット環境があれば、ローカルネット経由でSSHで操作できるRaspberry PiをChromebookから操作するというわけで、早速試してみた。環境Raspberry P...

 

Raspberry PiでLCDに文字列を出力する

Raspberry PiでI2C(アイ・スクエアド・シー、アイ・アイ・シー)経由で、LCDに文字列を表示してみる。I2C - Wikipedia環境Raspberry Pi 4B 8GBOS:Raspberry Pi OS 64bitLCD:1602 LCD ディスプレイ(I2Cモジュールが既にハンダ付けされている)※LCDはliquid crystal display(液晶ディスプレイ)の略液晶ディスプレイ - WikipediaI2...

 

PHP8でMacabを使い、任意の文字列の読み方を取得する

例えば、初心者用シューズという文字列の読み方を取得したいとする。読み方を取得する時は、Mecabというものを利用すれば良くて、以前、PHPで形態素解析エンジンのMaCabを使用する為の手順のメモで使ったphp-mecabを利用しようとしたが、PHP8ではマクロの箇所でエラーになり使用できない。Mecab - Wikipediaそこで力技で読み方を取得するコードを書いてみた。環境OS:Ubuntu 20.04PHP:8.0.10Mecabのインストールは下記...

 

SOY ShopのSign In With Googleプラグインでボタンをカスタマイズする

前回のSOY ShopのGoogle Sign-In for WebsitesプラグインをSign In With Googleに変更しましたの記事で、Sign In With Googleに対応した旨を記載した。Sign In With Googleでは、Googleがボタンを自由にカスタマイズ出来るGenerate HTML code  |  Sign In With Google  |  Google Developersというページを用意しているので、今回はジェネレータの使い方を見る...

 

SOY ShopのGoogle Sign-In for WebsitesプラグインをSign In With Googleに変更しました

GoogleからGoogle Sign-In for Websitesを利用していたサイト宛にSign In With Googleへの変更の連絡があったので対応しました。SOY ShopのGoogle Sign-In for Websitesプラグインでボタンの拡張設定を追加しましたGoogle Identity Platform  |  Google Developersページのテンプレートに挿入するタグやスクリプトに大きな変更がありますので、当プラグインを使用している方はS...

 

Google Maps APIのジオコーディングのコードをOpenStreetMapのNominatimで書き換えてみた

郵便番号を入力したら半径3km内のすべての町名を取得するの記事で、Google Maps APIのジオコーディング(住所から緯度経度を検索する)と逆ジオコーディング(緯度経度から住所を検索する)を紹介したが、諸事情によりGoogle Maps APIからOpenStreetMapに書き換える必要が生じたので、OpenStreetMapのNominatimを利用してみた。JA:Nominatim - OpenStreetMap Wiki書き換えてみたと言っても、ほとんど同じだっ...

 

ChromebookでPythonのmatplotlibを試してみた

Chromebookはプログラミングの教育の端末として向いているか?の記事からはじまったChromebookはプログラミング教育の端末として向いているか?というお題に対して、数学に強いPythonが向いているという話題が挙がった。Python - Wikipedia手軽に始められるJavaScriptもあるけれども、計算をするとなると、Pythonの方が手軽に始められる。教育にPythonが向いているとして、ある程度基礎を学んだ後にしてほしいことは何か?を問いてみると...

 

ARM版ChromebookにDropboxをインストールする

Chromebookはプログラミングの教育の端末として向いているか?を調査するの記事から半月ほど経過した。Chromebookを利用するにあたって、乱暴な表現にはなるかもしれないが、Chrome OSとAndroidの仮想環境とDebian系のLinuxの仮想環境が同居しているとイメージすると良いかもしれない。Google Chrome OS - WikipediaAndroid (オペレーティングシステム) - WikipediaLXC - WikipediaDebian ...

 

ChromebookのLinuxアプリで日本語入力をできるようにする

ChromebookでJava製のアプリを実行するの続き。ChromebookでJava製のアプリを立ち上げた時、日本語入力ができなかったので、手順は端折るけれども、Ubuntuのマシンで行った操作の後にJava製アプリを立ち上げたら、今の時点では日本語の対応はされていないという旨のメッセージが表示された。調べていくと、Google製の日本語入力のMozcとFcitxを利用すればいけるらしい。Google 日本語入力 - WikipediaFcitx - Wiki...

 

ChromebookでJava製のアプリを実行する

Chromebookはプログラミングの教育の端末として向いているか?を調査するの記事の続きで、今回はChromebookでJava製のアプリが使えるか?を調査する。なぜ、Java製のアプリを気にするか?というと、大阪市立大学の方が開発された初学者向けプログラミング学習環境 PENというScratch等のビジュアルプログラミング言語とGolang等の実務や研究で使える本格的な言語の間の学習に向いている言語があって、この言語がJavaのVM上で動く。※ビジュアルプログラミ...

 

Chromebookはプログラミングの教育の端末として向いているか?を調査する

表題の通り、Chromebookがプログラミングの教育の端末として向いているか?を調査してみるためにChromebookを購入してみた。実はChromebook自体は中学生にプログラミングを教えてみて。その1で話題に挙げているプログラミング教室で試しに購入していて、Chromebook発売当初から触れてはいたが、JavaとIDEの面であまり使用していなかった。※採用していたプログラミング教育のアプリがJava製だった。2019年に発売されたChromebookでLinuxが動...

 

Android版のChromeでアクセスした時にPHPのセッションが突然切れる症状で苦戦した

SOY Shopのカートではセッションを利用しているわけだけれども、CSRF攻撃対策として、セッションを読み込む度にsession_regenerate_id()を実行して、PHPSESSIDの値を更新している。先に結論を記載すると、スマホからアクセスがある場合はsession_regenerate_id()の使用を気を付けるべきらしい。先日、AndroidのChromeでカート内で遷移すると、突然カートの中身が消えるという症状の連絡があった。調査をしてみると、カートの中身が...

 

php-webdriverでAceのコードエディタに文字を入力する

Ace - The High Performance Code Editor for the WebWebアプリ内でAceというJavaScript製のコードエディタを設置した箇所があって、Selenium + php-webdriverでテストコードを作成することになった。Aceエディタを設置した箇所は単純なHTMLのtextareaタグではなかったのでコードの作成は工夫がいる。なんとか対応できたので、対応方法を記載する。今回の内容は下記のページを参考にした。 ...

 

Golangでbyte型の値をint型に変換してみた

Golangでbyte型の値をint型に変換する際に苦戦したのでメモしておく。検索をすると、[]byte型からint64型に変換するといった内容は引っかかるけれども、冒頭のbyte型からint型は見当たらなかった。冒頭の課題を解決するために書いたコードは下記になる。package mainimport ("fmt""strconv")func main() {var b byteb = '9' // int型の1をシングルクオートで囲み...

 

QRCode.jsを試してみた

様々な依頼からこれからの働き方を見たの記事で紹介したようなブラウザでボードゲームをするための開発を行っている。スマホで気軽に参加できるように、BootstrapのModal内にQRコードを設置して、スマホのカメラでQRコードで撮影することで参加できるようにしたかったけれども、キャプチャのような画面を作るのに苦戦したので、対応した内容をメモとして残す。Bootstrap · 世界で最も人気のあるフロントエンドフレームワークはじめにQRコードの生成だけれども、...

 

OpenStreetMap + Leafletでカスタムアイコンを使ってみる

昨年の11月からつい先日まで下記のようなイベントをした。子どもたちに自分の好きな場所を取材してもらって記事を作成する。その記事を集めて壁新聞にするというもの。壁新聞にはWeb版があって、Web版ではOpenStreetMap + leafletで作成している。この地図をざっと見てもらうと、OpenStreetMap + Leafletで二つのマーカーを設置するマーカーが今まで見てきた青いピンではなく、何を紹介しているのか?がひと目で...

 

SOY CMSのブログとOpenStreetMapで地図アプリを作ろう

OpenStreetMap + Leafletで二つのマーカーを設置するまでの記事で、OpenStreetMap + Leafletで複数マーカーを設置する地図を出力できたので、SOY CMSのブログで地図アプリを作ろう1の記事から始まるSOY CMSでGoogle Mapsの出力をOpenStreetMapでリプレイスしてみることにする。はじめにSOY CMSの記事で緯度経度情報を持てるように、カスタムフィールドアドバンスドかカスタムサーチフィールドで緯度経度のフィール...

 

OpenStreetMap + Leafletで二つのマーカーを設置する

OpenStreetMap + Leafletで設置したマーカーにクリックのイベントを追加したの記事で、地図上に配置したマーカーにクリックイベントを設けた。今回は地図上にもう一つマーカーを設置してみることにする。前回の記事のマーカーの設置に関する箇所のコードをピックアップしてみる。var feature = {"type" : "Feature","properties" : {"name" : "摂津峡","url" : "h...

 

OpenStreetMap + Leafletで設置したマーカーにクリックのイベントを追加した

前回のOpenStreetMap + Leafletを試してみたの記事に引き続き、OpenStreetMapについてを書く。前回の記事では、自身のサイトにOpenStreetMapの地図を出力し、任意の箇所にマーカーを設置した。今回は、マーカーをクリックしたら、任意のページ、例えば、該当する箇所のGoogle Mapsの詳細ページ等に遷移する動作を追加してみる。最初に前回作成したコードを記載しておく。!DOCTYPE htmlhtmlheadmeta ...

 

OpenStreetMap + Leafletを試してみた

当サイトのりょうことつよしの食べ歩きマップというページをGoogleのMaps JavaScript APIからOpenStreetMapを利用するように作り替えてみた。Overview  |  Maps JavaScript API  |  Google DevelopersOpenStreetMapOpenStreetMapは自由に利用でき、なおかつ編集機能のある世界地図を作る共同作業プロジェクトで、自身のサイトに出力する際に、GoogleのMaps JavaScript...

 

クロスサイトリクエストフォージェリを回避する方法を探る

SQLインジェクションに対してプリペアードステートメントが有効であるかを試してみるに引き続き、Webアプリの脆弱性を見る。今回はタイトルにあるクロスサイトリクエストフォージェリ(CSRF)について見るけれども、とりあえず最初にこの用語を日本語訳してみる。クロスサイトというのがどういう風に訳せば良いのかわからないが、リクエストはサーバに送るデータで、フォージェリは偽造という意味なので、サーバに送る何らかのデータを偽装するという意味になる。実際にどういうことなのか?をサンプルコードを...

 

SQLインジェクションに対してプリペアードステートメントが有効であるかを試してみる

クロスサイトスクリプティングを回避する方法を探るの記事に引き続き、Webアプリの脆弱性を見る。今回見るのはSQLインジェクション(SQLi)にする。SQLiが何なのか?の説明に入る前にサンプルコードで挙動を確認してみる。SQLiを試す為のファイルの構成は下記の通り。.├── confirm.php├── db│   └── sample.db└── index.phpSQLiはデータベースにアクセスする攻撃なので、SQLiteでデータベ...

 

クロスサイトスクリプティングを回避する方法を探る

SOY Board on SOY Shopの記事で、SOY Shop上で掲示板アプリを展開出来る機能を追加したことを紹介した。このサイトに設置する為の機能が大体揃ったので、そろそろ設置しようと思ったが、入力フォームの記述の制約が少ないフォームを設置するするのはサイバー攻撃の視点でかなり怖い。掲示板を設置する前に、巷にあるWebサイト関連のサイバー攻撃を整理することにしよう。脆弱性について理解するために、Ohmshaから出版されている齋藤孝道著 マスタリングTCP/IP...


Powered by SOY CMS  ↑トップへ