windows8を英語から日本語化

modern.ie等のwindows等をインストールしている場合、
最初から英語になっているので、日本語化する手順を共有します。

1 . 下記画像の画面にいきます。画面の切り替えは画面左下のWindowsマークをクリック。

スクリーンショット 2015-05-10 20.32.26

2 . 検索で「add a language」

スクリーンショット 2015-05-10 20.32.09

3 . 下記画面が開かれたら、「Add a language」をクリック

スクリーンショット 2015-05-10 20.33.33

4 . 日本語をさがし選択。

スクリーンショット 2015-05-10 20.34.04

5 . 追加した日本語を「Move up」をクリックして最優先に移動。

スクリーンショット 2015-05-10 20.34.49

6 . 不要であればEnglishが「remove」で削除。

スクリーンショット 2015-05-10 20.37.19

7 . 「Change date,time or number formats」をクリック。

スクリーンショット 2015-05-11 23.02.35

8 . 「location」タブをクリックして、Home locationのプルダウンから「Japan」を選択。

スクリーンショット 2015-05-10 20.38.22

9 . 「Administrative」タブをクリックし、次に「Change system locate」をクリック。

スクリーンショット 2015-05-10 20.38.57

10 . 再起動して問題なければ「Restart now」をクリック。

スクリーンショット 2015-05-10 20.39.18

11 . 再起動後、確認して日本語にかわっているか確認!おつかれさまでした!!

謎の「GHOSTSEC-TEAM」に、wordpressをハッキングされてしまった。。

wordpressをセットアップ途中で、半日放置したら、、

自分のサイトがこんなサイトに。。!

hacked_theme

まじびびりました(笑)

しかも最初はマトリックスのコンソール画面みたいな画面でるなど、
とても動きがありHTML5をバリバリつかったとても凝ったサイトになっていたのでまさか自分のサイトとは
思わず見てしまいました。

あまりにもびびりすぎて、速攻で、wordpressをディレクトリごと削除してしまいました。。

いま考えれば、とっておいてどうやってハッキングされかを解析できるようにしておくべきでした。

wordpressのディレクトリ以外は、削除する前に気づけたので一旦、DBとアクセスログともに保存し、
いろいろを覗いてみました。

まずnginxのアクセスログをみたところ、ハッキングした方は、当たり前っちゃあたりまえですが、
多段のプロキシサーバーを介しているようで、

アクセスログをみるとこんな感じ

66.85.148.52 - - [08/May/2015:17:04:42 +0900] "POST /wp-admin/install.php?step=2 HTTP/1.1" 200 3009 "http://攻撃対象サーバーIP/wp-admin/install.php" "Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0 Iceweasel/31.5.0"
66.85.148.52 - - [08/May/2015:17:04:45 +0900] "GET /wp-login.php HTTP/1.1" 200 2723 "http://攻撃対象サーバーIP/wp-admin/install.php?step=2" "Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0 Iceweasel/31.5.0"
66.85.148.52 - - [08/May/2015:17:04:50 +0900] "POST /wp-login.php HTTP/1.1" 200 3745 "http://攻撃対象サーバーIP/wp-login.php" "Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0 Iceweasel/31.5.0"
66.85.148.52 - - [08/May/2015:17:04:54 +0900] "POST /wp-login.php HTTP/1.1" 302 5 "http://攻撃対象サーバーIP/wp-login.php" "Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0 Iceweasel/31.5.0"
66.85.148.52 - - [08/May/2015:17:04:55 +0900] "GET /wp-admin/ HTTP/1.1" 302 5 "http://攻撃対象サーバーIP/wp-login.php" "Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0 Iceweasel/31.5.0"
66.85.148.52 - - [08/May/2015:17:04:55 +0900] "GET /wp-admin/upgrade.php?_wp_http_referer=%2Fwp-admin%2F HTTP/1.1" 200 1278 "http://攻撃対象サーバーIP/wp-login.php" "Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0 Iceweasel/31.5.0"
66.85.148.52 - - [08/May/2015:17:04:58 +0900] "GET / HTTP/1.1" 200 16656 "http://攻撃対象サーバーIP/wp-admin/upgrade.php?_wp_http_referer=%2Fwp-admin%2F" "Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0 Iceweasel/31.5.0"
66.85.148.52 - - [08/May/2015:17:04:58 +0900] "GET / HTTP/1.1" 200 17546 "http://攻撃対象サーバーIP/wp-admin/upgrade.php?_wp_http_referer=%2Fwp-admin%2F" "Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0 Iceweasel/31.5.0"
66.85.148.52 - - [08/May/2015:17:05:05 +0900] "GET / HTTP/1.1" 200 17546 "http://攻撃対象サーバーIP/wp-admin/upgrade.php?_wp_http_referer=%2Fwp-admin%2F" "Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0 Iceweasel/31.5.0"
66.85.148.52 - - [08/May/2015:17:05:11 +0900] "GET /wp-admin/about.php HTTP/1.1" 200 32252 "http://攻撃対象サーバーIP/" "Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0 Iceweasel/31.5.0"
66.85.148.52 - - [08/May/2015:17:05:12 +0900] "GET /wp-admin/load-scripts.php?c=0&load%5B%5D=jquery-core,jquery-migrate,utils&ver=4.2.2 HTTP/1.1" 200 105061 "http://攻撃対象サーバーIP/wp-admin/about.php" "Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0 Iceweasel/31.5.0"
66.85.148.52 - - [08/May/2015:17:05:12 +0900] "GET /wp-admin/load-styles.php?c=0&dir=ltr&load=dashicons,admin-bar,wp-admin,buttons,wp-auth-check&ver=4.2.2 HTTP/1.1" 200 292720 "http://攻撃対象サーバーIP/wp-admin/about.php" "Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0 Iceweasel/31.5.0"

※攻撃対象のサーバーIPは隠しております。

今回究極にダメダメだったのが、
セットアップの途中で放置してしまったことが、
よくなかったと反省しております。
攻撃者もinstall.phpや、wp-admin〜のファイルへアクセスしている事がわかりました。

さらに攻撃対象のwordpressのデータベースも、
書き換わっており、wordpressへのログイン情報までもが書き換わっている状況でした。

*************************** 3. row ***************************
   option_id: 3
 option_name: blogname
option_value: hacked
    autoload: yes
*************************** 4. row ***************************
   option_id: 4
 option_name: blogdescription
option_value: Just another WordPress site
    autoload: yes
*************************** 5. row ***************************
   option_id: 5
 option_name: users_can_register
option_value: 0
    autoload: yes
*************************** 6. row ***************************
   option_id: 6
 option_name: admin_email
option_value: cyberlol*@**.com
    autoload: yes
*************************** 7. row ***************************

ブログ名もhackedと。。。完全にやられた感じです。

FireWallは80と443ポートしかあけていないので、web以外は問題なさそう。
wordpress用のDBユーザー等は、対象のDBのパスワード変更などを実施し、
また管理画面へのIPアクセス制限をかけました。。
これで一旦は大丈夫かな?。。

**追記**
GHOSTSEC-TEAMで色々ググってみると、
被害をうけたまま放置されているサイトがちらほら。。
若干異なったパターンのデザインやギミックのものが、他にも。。

wordpressのinstall中はもっとも脆弱になっている可能性が高いので、
是非お気をつけを!!

swiftあるある

間違えやすい系

int型を文字列として表示する際…


var intHoge = 100 label.text = String(intHoge) // 100と表示 var intHoge = -100 label.text = String(intHoge) // マイナスだと表示されない label.text = intHoge.description

挙動系

これを実行すると


println("評価ノード: \(evalX) \(evalY) \(boardScores[evalX][evalY])")

シミュレータ(iphone5s)では…


評価ノード: 5 5 5 評価ノード: 5 3 5 評価ノード: 3 5 5 評価ノード: 5 5 5 評価ノード: 5 3 5 評価ノード: 3 5 5

実機(iphone5で実行)では…


\350\251評\344\276価\343\203ノ\343\203ー\343\203ド\357\274: 3 4 3 \350\251評\344\276価\343\203ノ\343\203ー\343\203ド\357\274: 5 4 5 \350\251評\344\276価\343\203ノ\343\203ー\343\203ド\357\274: 6 4 -5 \350\251評\344\276価\343\203ノ\343\203ー\343\203ド\357\274: 7 4 -5 \350\251評\344\276価\343\203ノ\343\203ー\343\203ド\357\274: 4 5 5 評価ノード: 1 2 -20

…そもそも日本語を使うなと言われそうですが、日本語がおかしくなる。そして僕の日本語もおかしい。。

git 一時的に過去のログに戻して、また最新

gitのソースをそのまま公開ソースとして利用している場合に、

1つ前のソースに一時的に戻して、最新版との動作の違いを確認したい事がある。

そんな場合に、、、

※扱い注意!

git log 
戻りたいログを確認し

git reset --hard コミットログ
そのソースに戻り、ソース上もそれに切り替える(--hard注意!)

で、動作確認。

git reflog 
で「git reset --hard コミットログ」する前の
「HEAD@{〜}」を確認

git reset --hard HEAD@{〜}
で作業前に戻ります。


git リモートブランチを前のバージョンに戻す

gitを使っていて、リモートブランチのログを戻したいなとおもって、
ググってみたがやりたい事と一致する記事がなかったのでメモ。

まず下記でローカルのバージョンを戻す。

$git reset --hard fdsa2432fda4f189a85a3319f9c782c0a49f8

※fdsa2432fda4f189a85a3319f9c782c0a49f8は git log等でどこに戻るか決める。
※–hardをつけないとローカルのソースは戻らないので編集中となるgit status 等で確認
※もしまちがったログに戻ってしまったりしたら git reflog で指定のHEADに戻る!

その後、pushしてリモートブランチのログを戻す!

$git push origin master

するとこんなエラーが、、、、

To https://user@examplegitgittesttest.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to ‘https://user@examplegitgittesttest.git’
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Merge the remote changes (e.g. ‘git pull’)
hint: before pushing again.
hint: See the ‘Note about fast-forwards’ in ‘git push –help’ for details.

ですが、恐らくpushしようとしているバージョンが、
古いからエラーを出してくれているようなので(勝手な推測ですw)、
そんな時は、リモートブランチ名に「+」を追加!

$git push origin +master

※強制的にpush!!

これで、リモート上のログを見ると、指定のバージョンに戻ってました!

 

サクッとWEBで整形してくれる便利ツールのサイト!

多忙な方におすすめ、WEBでできる簡単整形サイト!

Google Play Developer Consoleのベータ、アルファの機能を触ってみた

先日からGoogle Playのdeveloper consoleにて、ベータ版、アルファ版のメニューが追加されており、気になったので触ってみましたw

この機能で、指定のグループGoogle+のコミュニティのメンバーのみに、alpha版やbeta版のアプリをインストールしていただくことができる!w

手順は簡単!

まず、アプリを選択し、apkのアップロード画面で、ベータ版、もしくはアルファ版を選択!
(キャプチャではアルファ版を試しました。)

alpha版
まずアルファ版にしたいapkファイルをアップロード。その後、タグの少ししたにある「テスターのリストを管理」をクリック。

すると下記画面が表示されます。
テスターのグーグルグループ、またはGoogle+のコミュニティURLを求められるので、それを追加。

テスターの管理

すると、

テストに許可していただく用urlが表示されるのでこれをテスト対象のアカウントでアクセスすると。。。!

googleplayテスター

 

テスターになるという画面がでるので、「テスターになる」をクリックすると、
アルファ版のダウンロードが可能になります!!

知合いなどにテスターとしてチェックしていただく場合に、だいぶ便利なるかと思います!

少し間あけるとどんどんgoogle playが進化している今後も動向に注意w

 

追記:

ダウンロード時にアルファ版かどうか確認する方法について、
僕は、アルファ版用バージョンにしてアルファ版か製品版か判別してます。

 

確認方法
確認方法

※テスターになるWEB画面とGoogle PlayアプリのGoogleアカウントが同じゃないと、
テスター用のアプリはダウンロードできないみたいです。

 

 

MySQL:テーブル単位のダンプ&リストアのメモ

※ポイント –default-character-set=binary 文字化け対策

テーブル指定ダンプ
mysqldump -u testuser testdb -p --default-character-set=binary --tables testtable > [出力先ファイル名].sql
データベースを指定して、上記のテーブルデータのリストア
mysql -u testuser testdb -p --default-character-set=binary < [出力先ファイル名].sql
指定テーブル以外をダンプする場合
mysqldump -u testuser -p testdb --default-character-set=binary --ignore-table=testdb.testtable1 --ignore-table=testdb.testtable2 > [出力先ファイル名].sql