投稿者「admin」のアーカイブ

あなた方は神です!?古いCakePHPの導入で先人の知恵を拝借

現在開発中のシステムではDBアクセスにCakephpを使っています。最新版で開発したものを、レンタルサーバの環境に合わせて調整する必要があり、その際に苦労したことを書いてみたいと思います。個人と組織。そのいづれがその能力を発揮できるのか。システム開発で参考になるネットの情報は個人から発信された情報が殆どだと思います。この記事がその一助になればと思います。

「Cakephp」とは

「Cakephp」とは、小・中規模WEBアプリケーションでは大きなシェアを占めるPHPのフレームワークのひとつです。サーバ(DBへのアクセスが主体)とのアクセスモジュールとしてみると、生PHPで書くのとは格段に違う生産性と読み易さが得られますし、単体でもMVCが構築できる秀逸なオープンソースです。

現在利用している「HostGator」などの格安レンタルサーバでもPHPがデフォルトで導入されています。今ご覧になっている本ブログのCMSであるWordPress自体がまさにPHPで書かれていて、MySQL仕様のDBともPHPでアクセスします。

生のPHPで書くシステムを企業やら行政やら金融やらで使えるようにする場合、コード量は現在の10倍以上になるでしょう。いろいろなケースに想定しないといけないからです。生PHPで簡単に書いたコードは「裸でジャングルに入るようなもの」なんでしょうね。

それに比べるとCakephpなどのフレームワークでは、「裸で」に比べるとかなり改善されるようです。いろいろ例外的な状況への対処が簡単な仕組みにカプセル化されているとのこと。すばらしいですね。これまで一生懸命条件分岐のコードを書いていたのは「何だったんだろう!あの時間を返してくれ!」と思わせるものがあります。

こうしてみるとメリットばかりのように見えますが、そうでもありません。学習のためのコストが掛かったりします。そしてもうひとつ重要なのがレンタルサーバなど自分で自由に環境構築できない場所での扱いです。例えば「HostGator」の場合PHPの版数がちょっと古いんです。古いのは安定につながるのでそれはそれで仕方ありませんが、こうした新しいものを取り入れるときにちょっとした障壁になりえます。

「HostGator」でCakePHP2.xxが使えない

「HostGator」がサポートするPHPの現在の版数は5.2.17です。CakePHP2.xxのサポート版数より低いです。フレームワークによってはベースとなるシステムの版数が低くても使えるものが多いんですけどね。CakePHPは違いました。受け付けてくれません

で、結局開発につかったCakePHP2.xxではなくCakePHP1.xxを導入せざるを得なくなりました。それでもJavaサーブレットやStrutsに比べるとかなりましです。Tomcat6などのアプリケーションサーバ環境自体を用意する必要がないからです。

格安レンタルサーバでアプリケーションサーバ環境をデフォルトで用意してくれるところはあるのでしょうかね。

新しい版から古い版へのフレームワークのマイグレーションは大変?

古い版のものには、リリースされて時間が経つ分皆が使っているので、情報が揃っています。ただ、新しい版のものでできたことを古い版でやろうとするとちょっとハードルが高いです。

もちろん、いきなりレンタルサーバにUPLOADしてコードをいじることはありません。まずはローカルな環境で古いCakePHP1.xxを入れて、それから本番環境にマイグレーションします。

ただし、ローカルに構築したそうした環境で動作するからといってレンタルサーバにそれをそのままコピペしても同じように動くとは限りません。逆に「まったく同じに動くことはないのだ」と思ったほうが幸せになれます

日本語のシステムなら「database.php」の「utf8」設定を有効に

これも「まったく同じに動くことはないのだ」のひとつですが、「database.php」の「utf8」設定を、ローカルでは外して動作していました。このときの「動作していました」の意味はキチンと日本語が見れましたの意味です。レンタルサーバでは日本語がみな「????????」と表記されるのです。まず、DBの中身をいろいろ調べ、次にローカルとの間でコードの違いを調べました。これに数時間も費やして、結局「utf8」を陽に設定すれば即解決しました。

JSON用のserialize機能がCakePHP1.xxにはない!

開発中のシステムは、CakePHPが動くサーバとAjaxで通信するAjaxアプリケーションから構成されます。こうした場合情報のやりとりにはJSONを使うのが定石のようですので、CakePHP2.xxでもそうした実装をしていました。たった2行書くだけでJSONをserialize出力できる便利な機能があるんですね。

ところがこの機能がCakePHP1.xxにはありません。当然ローカル環境でも遭遇しました。そこで、「お世話になったリンク」にもあるように、(CakePHP2.xxでは必要なかった)Viewの定義と、デフォルトLayoutsをバイパスしてあげることの2点で問題が解決しました。

Controller内でArray_map関数を使うとエラーになってしまう

次に、CakePHPのController定義で、レスポンスオブジェクトにある余計な情報を削除するため、Array_map関数をつかったところ、レンタルサーバでエラーになりました。ローカル環境では全く問題なかったのに。不思議です。

function index(){

    $this->layout = "";
    $shares = $this->Share->find('all');
    $shares = array_map(funtion($e){
        return $e['Share'];
    },$shares);
    $this->set('datas', $shares);
}

結局、次のように無名関数の定義を止めたら通りました。

function index(){

    function res($e){return $e['Share'];}// only Hostgator does this way!!!

    $this->layout = "";
    $shares = $this->Share->find('all');
    $shares = array_map("res",$shares);
    $this->set('datas', $shares);
}

極めつけはこれ。こんな情報どこにもなかった。あなたは神です

以上はCakePHPがDBにアクセスして一覧を出力するところに関連する部分になります。

ここからは通信方向が逆でAjaxアプリからCakePHPへのXmlHttpRequstのPUTリクエストに関するものです。POSTでも同じ方向のやりとりが発生します。URL情報と並行してテキストやストリームなどの情報が渡されます。

CakePHPのController定義内でこの情報にアクセスするには「this.requst」というオブジェクトを使います。でも下記リンクにもあるようにこれがあろうことか「null(空の意味)」になってしまいお手上げ状態です。いろいろ調べても本来渡されてくるべき情報がないので途方にくれていたところ、本当に凄い裏技を発見、というか、凄い裏技を発見した方がいました。こんな発見必要ないひとには本当に何でもないことですが、開発している最中にこれに出会ったときには「神がいらした」と感動しました。

Cakephp 1.3系でBackbone.jsの生成したjsonを受け取る。 – Qiita [キータ]

$this->data = json_decode(file_get_contents('php://input'));

こんなコードどうやって調べたんだろう!

結構複雑でわかりにくい話ですみません

関連する記事・ページ

お世話になったリンク

[CakePHP] JSON出力時にstring型をint型に戻す | XPages、ロータスノーツ・ドミノのモバイル・WEBアプリの開発・相談ならKTrick LLC.
AJAX ? CakePHP Cookbook v1.3 documentation
CakePHPでビューやレイアウトを使わない方法。 | Wataame Frog
Cakephp 1.3系でBackbone.jsの生成したjsonを受け取る。 – Qiita [キータ]

以上です。

不可解過ぎます!WebViewのHTML5アプリケーションキャッシュ

AndroidアプリからWEBアプリを操作するハイブリッドアプリを開発リリースしています。その際に用いたWebViewという機能。PC版Javaにも同様のものがあり非常に便利そうに見えるのですが、WebViewが提供するHTML5アプリケーションキャッシュに不可解なことが多くて困っています。

「アプリケーションキャッシュ」とは

「アプリケーションキャッシュ」とは、HTML5で導入されたもので、ネットワークへの接続があってもなくても、scriptやら画像データやらHTMLやら、本体のHTMLから参照される全ての外部ファイルを、そのアプリ専用のキャッシュから読み込んでくれるというもの。極論すればネイティブのアプリケーションのように動作しているように見えるというもの(多少遅いけど)。

この機能は非常に便利で、一度キャッシュされると、ちょっと厳格すぎるように見える手続きを陽に踏まない限り、テコでもキャッシュを更新してくれない位強力なものです。SafariやChromeブラウザでの経験しかありませんが、普通のいわゆるキャッシュとは全然違うようです。

キャッシュとアプリケーションキャッシュの違い

ネットを探してみると、膨大な情報がありますが、なんとなく「キャッシュ」と「アプリケーションキャッシュ」を同じものとして扱っている記事が多い感じです。名前が似ているので当たり前なのですが、それでは何故わざわざ「アプリケーション」キャッシュという言い方をするのでしょうね。

同じ、もしくは包含関係にある、それとも、全く排他的なものなのか、それも不明です。実際どちらにも当てはまりそうな場合がありました。

ここでは、「アプリケーションキャッシュ」でネイティブのアプリケーションのように動作させていながら、必要なときにはキャッシュを消去したり更新したりするにはどうすればいいか、ということを考えます。「更新が効く」/「更新が効かない」は、WebViewで呼ばれるURLにあるscriptファイルの文字列を一部変えてみて、表示に変化があれば「更新が効く」、なければ「更新が効かない」としています。もちろんscriptファイルはmanifestファイル内のCACHEフィールドに記述されておりmanifestファイルの文字列を一部マニュアルで更新しています。

WebView#clearCacheが効かない

ネットによると、キャッシュ消去の標準的なやり方は、WebView#clearCacheを使う方法のようです。onDestroy()中で、WebView#clearCache(true)を実行して「loadStorage」と「アプリケーションキャッシュ」で検証してみました。使い方や呼び出す順序がまずいのか、まったく効きません。ネットでは効くのが当然のような書き方が殆どなので恐らくなにか間違っているのでしょうね。これについては簡単なプログラムで確かめてみたいと思います。

省略値を陽に宣言しないと動作しないのは何故?

Enabling HTML5 AppCache in Android Webview programatically.のページには、WebView#AppCacheEnabled()はよいとして、WebView#AppCachePath()、WebView#AppCacheMaxSIze()にも省略値を陽に指定しないと動作しなかったとあります。実際Path指定がないとエラーになりました。

こういうことがひとつでもあると何を信じてよいか分からなくなりますね。ただ、どこかのページには「Pathを陽に示せ」と書いてあったようにも記憶しています。ちなみにAppCacheMaxSizeに1024*1024*5の代わりに「0」としても「アプリケーションキャッシュ」は動作していました。「0」ではなくて「1」とか思いっきり小さい値がよかったのかも知れませんね、この手の検証では。

「アプリケーションキャッシュ」ではなく、「キャッシュ」だけ使いたい場合にはこのような指定は必要ないのか、これも不明です。

Android端末のアプリケーション設定での謎!?

Android端末の「設定」に「アプリケーション」という設定項目があります。アプリを選び「本体データ削除」「キャッシュ消去」のうち、「キャッシュ消去」を有効にしてみました。すると、そこに出ているキャッシュデータ量を示す数字は0になりますが、依然として「アプリケーションキャッシュ」が動作していました。「キャッシュ消去」前の容量は、ちょうど「アプリケーションキャッシュ」のためにMaxサイズとして指定したものと一致しており、直感的に「キャッシュ」=「アプリケーションキャッシュ」もしくは包含されるように考えてしまいました。

「本体データ削除」だと「アプリケーションキャッシュ」が更新できますね。何故でしょう。ただ本体データ削除のデータ量は70kB程度で自分のアプリは画像を含め150kB程度ありますので、「アプリケーションキャッシュ」が「本体データ」に含まれるというのも数字が合いません。「キャッシュ消去」にでている量は5MB強とリーズナブルです。

やっとみつけたWorkAround(ワークアラウンド、回避策)

「本体データ削除」だと何故か「アプリケーションキャッシュ」が更新できますが、設定が多いと結構つらいです。なので、なにかいい方法はないかと探していたら、すぐ近くにありました。「強制停止」+「キャッシュ消去」です。理由は分かりませんが、設定もそのままでキャッシュ(アプリケーションキャッシュ?)やloadStorageもクリアできるようです。

PHPとは共存できないんでしょうか?

もうひとつ不思議なのが、PHPとの共存です。ご存知かも知れませんが、PHPコードは大抵サーバ側で処理するものですから、manifestファイルにindex.phpとあってもクライアントだけの環境ではうまく動作するはずがありませんが、index.phpそのものではなくindex.phpの処理結果をキャッシュしているのか、それなりに処理できています。いつも厳格な「アプリケーションキャッシュ」の風貌にそぐわない感じがしています。

WebViewのHTML5アプリケーションキャッシュ、不可解過ぎます。

といっても、恐らく私の勉強が足らないだけなのでしょうね。

結構複雑でわかりにくい話ですみません。

関連する記事・ページ

無料Androidアプリ「10秒で10年日記 逆さ日記帳」をGoogle Playにてリリースしました
「10秒で10年日記 逆さ日記帳」の設定に「全てのカレンダ」項目を追加しました
“Just10SecGet10yDiary R10Diary” has another feature of “All Calendars”
自作無料WEBアプリ「10秒で10年日記 逆さ日記帳」に検索機能を追加しました
「10秒で10年日記 逆さ日記帳」というWEBアプリをリリースしました

お世話になったリンク

Enabling HTML5 AppCache in Android Webview programatically.
caching – Cache dynamic page using html5 cache manifest using Android webchromeclient – Stack Overflow

以上です。

ガンガン暗号化できます!?Gカレンダ暗号化/復号化一括変換ツール「cj2cj2main」を改版しました

Gカレンダ暗号化/復号化一括変換ツール「cj2cj2main」を改版しました

本サイトでは、Gカレンダを一部暗号化するための自作アプリの紹介やツールの提供を行っています。先日リリースしたGカレンダ一括暗号化/復号化ツール「cj2cj2main」を改版しました。

以下簡単な操作方法の紹介です。

初めて起動したとき

  1. 解凍ファイルのうち「cj2cj2main.props_default.xml」という名前のプロパティファイルを「cj2cj2main.props.xml」に変更する(コピーでもよいです)
  2. メニュバーの「表示」「設定」「パスコード」を選択する。初期値を削除して、4文字以上のパスコードを設定する。「OK」をクリックする
  3. アプリを再起動する

※ここで設定したパスコードが暗号化(および復号化)に使われますので間違えたり忘れたりしないように注意してください。ここで設定したパスコードは暗号化されてプロパティファイルに保存されます

暗号化処理のみ体験したいとき

  1. メニュバーの「編集」「Select All」を選択すると「example2.ics」の3つの予定(events)が全選択される
  2. ツールバーの「鍵アイコン(閉じているもの)」をクリックすると、上記の予定(events)が暗号化準備完了となる(左ペインでは灰色から赤色に変化します)
  3. 再度、ツールバーの「鍵アイコン(閉じているもの)」をクリックすると、上記の予定(events)が暗号化される。暗号化完了したものは左ペインにあるリストの色が変化します(赤色から緑色に変化します)
  4. ツールバーの「フロッピーディスクアイコン」をクリックすると、ファイル保存の案内がでます。

※「example2.ics」にあるUIDは仮のものですので注意してください。

ご自分の実際のカレンダデータを使って暗号化処理したいとき

  1. Gカレンダの「設定」「カレンダーをエクスポート」でカレンダをエクスポートする。ダウンロードしたままだと圧縮形式になっているので、解凍しておく
  2. メニュバーの「ファイル」「開く」を選択するとファイル選択の案内画面が開くので上記で解凍したカレンダファイル「xxxxxxxx.ics」からひとつ選択する
  3. メニュバーの「編集」「Select All」を選択すると全予定(events)が選択される
  4. ツールバーの「鍵アイコン(閉じているもの)」をクリックすると、上記の予定(events)が暗号化準備完了となる(左ペインでは灰色から赤色に変化します)
  5. 再度、ツールバーの「鍵アイコン(閉じているもの)」をクリックすると、上記の予定(events)が暗号化される。暗号化完了したものは左ペインにあるリストの色が変化します(赤色から緑色に変化します)
  6. ツールバーの「フロッピーディスクアイコン」をクリックすると、ファイル保存の案内がでます。
  7. Gカレンダの「設定」「カレンダーをインポート」で適切なカレンダにインポートします。

ケース別一括変換例

詳細はサポートページを参照してください。

関連する記事

Gカレンダ暗号化/復号化ツール[MiniCJ2]
Gカレンダ暗号化/復号化ツール[MiniCJ]
Gカレンダ暗号化/復号化ツール「MiniCJ2」を本サイトにてリリースしました
Gカレンダ暗号化/復号化ツール「MiniCJ」を本サイトにてリリースしました
ガンガン暗号化できます!?Gカレンダ暗号化/復号化一括変換ツール「cj2cj2main」を改版しました

以上です。

Gカレンダ暗号化/復号化ツール「MiniCJ」を本サイトにてリリースしました

Gカレンダ暗号化/復号化ツール「MiniCJ」を本サイトにてリリースしました

※MiniCJ2とは異なります。こちらは「クラウドJ2」用ではなく「クラウドジャーナル」用の支援ツールです

本サイトでは、Gカレンダを一部暗号化するための自作アプリの紹介やツールの提供を行っています。先日Gカレンダを予定(イベント)単位に暗号化/復号化するツール「MiniCJ」を本サイトにてリリースしました。

以下簡単な操作方法の紹介です。

初めて起動したとき

  1. 解凍ファイルのうち「minicj.props_default.xml」のファイルを「minicj.props.xml」に変更する(コピーでもよいです)
  2. 「メニュ」「表示」「設定」「32hex Code for Cj1」を選択する。初期値を削除して、Android版クラウドジャーナルから得た32文字からなる16進数のコードを設定する。「OK」をクリックする
  3. アプリを再起動する

 

minicj2_medium_view_selected画像はMiniCJ2のもの

minicj2_medium_preferences画像はMiniCJ2のもの

※ここで設定したパスコードが暗号化(および復号化)に使われますので忘れないように
注意してください

暗号化/復号化処理のみ体験したいとき

  1. 中央画面の赤わくのテキストエリアに暗号化したい文字列を書きます(Ctrl-Vによるコピペでも可)
  2. ツールバーの「鍵アイコン(閉じているもの)」をクリックするか、メニュバーの「暗号化」「暗号にする」を選択すると、上記の文字列が暗号化され緑わくのテキストエリアに表示されます(緑わくの元の文字列は上書きされます)

ご自分の実際のカレンダデータを使って暗号化処理したいとき

  1. Gカレンダの「予定」を表示して、「説明」を、本アプリの中央画面の赤わくのテキストエリアにコピペする
  2. ツールバーの「鍵アイコン(閉じているもの)」をクリックするか、メニュバーの「暗号化」「暗号にする」を選択すると、上記の文字列が暗号化され緑わくのテキストエリアに表示されます(緑わくの元の文字列は上書きされます)
  3. Gカレンダの「予定」を表示して、本アプリの中央画面の緑わくのテキストエリアから「説明」にコピペする

「メニュ」「表示」「設定」で起動画面の大きさを変更できます

minicj2_small_just_invokedアクセサリ的設定(SmallWindow)、画像はMiniCJ2のもの

minicj2_large_just_invoked大画面向け設定(LargeWindow)、画像はMiniCJ2のもの

本アプリをお使いの際の注意および制限

  • 本ツールはAndroid版「クラウドジャーナル」の支援ツールです。AndroidOSが3.0以上の場合Android版「クラウドジャーナル」自体が動作しませんので、ご注意ください
  • 32hex-Codeは「クラウドジャーナル」最新版2.7.7以降の「メニュ」「日記帳」「編集」(長押し)「パスコード表示」をタッチすることで表示されますので、ご注意ください
  • JAVAアプリを本サイトからダウンロードして使います。WEBアプリではないので注意
  • インストールは次のとおり。ダウンロードしたZIPファイルを解凍して設定ファイル(xml)をコピーします。jarファイルをダブルクリックするとアプリが起動します
  • ローカルデータがアプリサーバに送信されることは一切ありません
  • 「メニュ」「表示」「設定」の設定画面で「OK」したあとは、設定を有効にするため、アプリ再起動してください
  • 本アプリを使用することにより生じた損害について、開発者および提供者は一切責任を負いません

ダウンロードリンクおよび改版履歴

ツールのダウンロードはこちら

1.0.0: 新規リリース
詳細はサポートページを参照してください。

関連する記事・ページ

Android向け暗号化日記アプリ「クラウドJ2」をGoogle Playにてリリースしました
無料Androidアプリ「10秒で10年日記 逆さ日記帳」をGoogle Playにてリリースしました
「10秒で10年日記 逆さ日記帳」の設定に「全てのカレンダ」項目を追加しました
“Just10SecGet10yDiary R10Diary” has another feature of “All Calendars”
自作無料WEBアプリ「10秒で10年日記 逆さ日記帳」に検索機能を追加しました
「10秒で10年日記 逆さ日記帳」というWEBアプリをリリースしました
Gカレンダ暗号化/復号化ツール「MiniCJ2」を本サイトにてリリースしました
Gカレンダ暗号化/復号化ツール「MiniCJ」を本サイトにてリリースしました
Android端末の種類でGoogleカレンダの背景色が微妙に違う!?
クラウドジャーナル(androidアプリ)から見えなくなった日記データの復元方法について

Gカレンダ暗号化/復号化ツール[MiniCJ]
Gカレンダ暗号化/復号化ツール[MiniCJ2]

以上です。

「ボーナス10%!」なんて詐欺って巧妙です。詐欺体験その二[5of5]

不正送金の話が12/13の日経新聞に載っていましたね。凄い金額で、4倍に激増しているとか。

つい最近友人が体験した話です。別記事になりますが現在就職活動中で私がハロワページの使い勝手を改善するブックマークレットやChrome拡張を作って提供したその方の体験談です。

天の助けの詳細は不明

海外送金の確認は、送金先がロシアなので、時差や海外送金サービスの営業時間を考えるとやはり午後になるだろうなと計算できていました。実際、「いつまで待機していればいいのか」を問い合わせたところ、「午後3時までに確認できるから待機しておいて」との返事。

でも、個人向け海外送金サービスの店(日本側)からの「送金拒否」で流れが変わりました。「送金拒否」の連絡があったことを伝えると、「どうするかあとで指示します」とのこと。「本当に合法なんですか」との問いに「証拠を用意しています」との返事。

個人向け海外送金サービスのカスタマーサービスに連絡してみたそうです。「送金拒否」の理由が分かるかも知れないからです。そこに明らかな非合法な証拠が隠れていればそれを突きつけて雇用契約を破棄すればいいからです。

カスタマーサービスによると、「昨日からロシアとウクライナ向け送金に関して全件本部に送金可能かどうかの判断を仰ぐようになっており、あなたの送金はできないとの判断がなされ、返金されることになりました」とのこと。「送金拒否の理由は分かりませんか」との問いに「カスタマーサービスでも理由は不明です。すべて本部の判断でその具体的な理由は非公開です」というような回答。

結局確たる証拠はありませんが、「火のない処に煙は立たず」で「これはやはり非合法に間違いない。もっと真剣にネットを探してその確証を掴んでやろう」という思いになったそうです。

天の助けからネットに証拠がつながった

トレーナーからの指示を待っていても仕方ないので、個人向け海外送金サービスの店に行き返金の手続きを完了させました。

そして、ネットでも検索が始まりました。そうするとあっけなく見つかりました。もちろん本当の証拠ではありませんがいろいろな人が調べてくれてつなげられたものなので十分な参考になるでしょう。

最近とある経緯でスウェーデンの投資会社「Estate Capital Nordic AB」(http://www… – Yahoo!知恵袋

Estate Capital Nordic ABという、スゥエーデンの投資会社らしきところから、ロー… – Yahoo!知恵袋

普通にここまでは調べ切れませんね。みなさんさすがだと思います。

振り返ってみて、何が巧妙だったのか

個人向け海外送金サービスのWEBページにある国際送金詐欺には、同じようなケースが載っています。

「仕事を紹介するので、必要資金を送金してほしい」という詐欺が急増しています。
次のような手口で送金をさせる詐欺です。

  • 「英語ができる人材を探しています」という求人募集です。
  • 「仕事紹介のための必要資金をウエスタンユニオンを通じて指定先に送金してほしい」と言われます。

ウェブサイトや代表者署名入り契約書も緻密に偽造されておりますので、充分にご注意ください。 お心当たりのある方は、警察へご通報ください。

ここに「ウェブサイトや代表者署名入り契約書も緻密に偽造されております」とありますが、正にそのとおりです。友人にみせてもらったPDFファイルは電子署名入りなのですが、Acrobatに読ませるといかにも正統なものですというメッセージが現れます。こういうものに詳しい友人でも「限りなく本物」と思ってしまったそうです。

多少の細かい「あれ!」という思いは、このような「限りなく本物」と思わせる権威あるようなものの存在で消し飛んでしまいます。やはり細かいところまで矛盾がないかどうか見極める力が必要なようです。現代ではネットの情報が非常に役立ちますね。

結局振り込まれたお金はどうなったか

現在も振り込まれたお金は友人の口座にあるそうです。銀行や警察に相談している最中と聞いています。振込み元が特定できて返せる場合はいいですがそうでない場合はどうするんでしょうね。口座間でなく銀行などATMからの振込みの場合特定できないでしょうから。そういう場合は拾得物や遺失物の扱いにできないんでしょうかね。それも無理ならどこかに寄付でしょうか。

後日談です。銀行から組み戻しの依頼があり(ゆうちょからだそうですが)手続きが完了し友人としては完全に解決したとのこと。悪くすると口座凍結等に成りかねないですからね。良かったです

同様の勧誘が原因なのか不明だがロシア方面への送金事例が急増したとか

個人向け海外送金サービスのWEBページトラブルに遭わないためにには、次のような参考情報が追加されました。

ウクライナ・ロシア向け不正送金の急増について<2013.10.31>

2013年11月1日以降当面の間、ウクライナ、ロシアへの送金に関しては取引をお受けする際、店頭にてスタッフが送金の詳細について確認作業をさせていただきます。この作業は、月~金(祝日除く)の午前9時~午後7時のみ可能ですので、この時間帯以外のお取引は原則お受けできません。これはマネーロンダリング防止目的で、送金人様が意図せずに犯罪に加担するのを防ぐためのものです。何卒ご理解・ご協力のほどお願いいたします。

もしかすると、友人と同じく、勧誘を受けて国際送金にトライしたひとが大勢いたのかも知れませんね。下記リンクにある「詐欺」と特定した我々にとって心強い情報はつい最近出たものですので、こうした情報が出るまでには相当な数の勧誘メールとそれを真に受けてトレーニングと称した国際送金が行われたのでしょうね。

システムはまだ稼動しているようですね

まだ雇用者連絡システムは存在して動作しているようです。友人は既にログインではねられるようになったそうです。

でもまだWEBページが存在しているということは、まだ網を張っているか、どこかで国際送金が行われている可能性がありますね。警察などはなぜ抑えないのかな?それともすでにサイバー警察かなにかが全ての情報を抑えているとか。頑張ってください。

以上です。ありがとうございました。

関連する記事

「輸入車割引特典あり!」なんて詐欺って巧妙です。詐欺体験その二[1of5]
「時給3500円以上!」なんて詐欺って巧妙です。詐欺体験その二[2of5]
「携帯代会社持ち!」なんて詐欺って巧妙です。詐欺体験その二[3of5]
「有給35日!」なんて詐欺って巧妙です。詐欺体験その二[4of5]
「ボーナス10%!」なんて詐欺って巧妙です。詐欺体験その二[5of5]

お世話になったリンク

最近とある経緯でスウェーデンの投資会社「Estate Capital Nordic AB」(http://www… – Yahoo!知恵袋
Estate Capital Nordic ABという、スゥエーデンの投資会社らしきところから、ロー… – Yahoo!知恵袋
トラブルに遭わないために
海外送金で法律にふれるのか教えてください。 – Yahoo!知恵袋
ウエスタンユニオン・ジャパン