「Web」カテゴリーアーカイブ

X(旧Twitter)のお金配りアカウントに関わってはいけない理由。

昔、元ZOZOTOWNの社長の前澤さんがX(旧Twitter)で

「お金配りまーす」

と呟いてから、一気にお金配りアカウントが沢山TLに出てくるようになって、

最近ではそのポスト内容に注意を促すコミュニティノートも作られるようになりました。

こういうアカウントのポストに乗っかって油断すると、大変な目にあうと言われています。

これは実際にX(旧Twitter)で見てきた情報です。

個人情報を抜き取られる

お金配りアカウントから当選の連絡が来るかもしれません。

そして、振り込みに必要な情報などを求められるかもしれません。

でも、貴方の情報は教えてはいけません。

情報を教えてもお金が振り込まれることは一切無いでしょう。

そして、その情報は名簿屋に売られて、

名簿屋からスパム業者に売られ、大量のスパムメールが送られてくるでしょう。

犯罪に加担される

お金配りアカウントに当選の連絡が来て振込先の口座を教えた場合、

実際にお金が振り込まれます。

しかし、振り込まれた金額が想定よりも多いことに気がつきます。

このことについて問い合わせると、

間違って多く振り込んでしまったので、

一部は貴方にあげるので、

残りを口座から引き出して、指定した場所に来て欲しいと言われます。

そして、その通りに行動し、指定した場所に行くと、

そこには警察が待ち構えており、貴方は逮捕されるでしょう。

これは何が起きたかというと、

貴方が教えた銀行口座は特殊詐欺の振込先口座として利用され、

貴方は受け子として詐欺グループに利用されたのです。

なので、警察は貴方をマークして、最終的に逮捕となるわけです。

怖いですね。

なので、身元も分からない相手に個人情報を教えるのは良いことではありません。

簡単にお金を稼ぐ方法は無いと思ってください。

【Linux】【Laravel】Laravelからデータベースにアクセスする。

Laravelからmysqlにアクセスできるところまでやりました。

mysqlのインストール

$ sudo apt-get install mysql-server

mysqlの初期設定

$ sudo mysql_secure_installation

基本的にyを選択すれば良い。

rootでログイン

$ sudo mysql -u root -p

データベースの作成

mysql> create database <データベース名>;

ユーザーの追加

mysql> create user <ユーザー名> identified by '<パスワード>';

ユーザーに権限を付与

mysql> grant all on . to <ユーザー名>;

Laravelにデータベースの設定を記入

database.phpの設定を変更。

        'mysql' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', '<データベース名>'),
            'username' => env('DB_USERNAME', '<ユーザー名>'),
            'password' => env('DB_PASSWORD', '<パスワード>'),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'strict' => true,
            'engine' => null,
        ],

migrateの実行

$ php artisan migrate

エラーが出た。

could not find driver

PHPに、データベースにアクセスするPDOがない、ということなので、mysqlにアクセスするモジュールを追加。

$ sudo apt-get install php7.2-mysql

これでmigrateが成功すればOK。

適当なテーブルを追加する

$ php artisan make:migration create_test_table

CreateTestTableクラスが出来上がるので、以下のように書き換える。

    public function up()
    {
        Schema::create('test', function (Blueprint $table) {
            $table->increments('id');
            $table->text('text');
            $table->timestamps();
        });
    }
$ php artisan migrate

Laravelからデータベースにアクセス

$ php artisan tinker
>>> DB::table('test')->get();
DB::table('test')->insert(['test' => 'insert'])
DB::table('test')->get();

データが表示されれればOK。

【Linux】【Laravel】Laravel5.5をインストールする。

オイラのLinux PCにLaravel5.5をインストールしました。

使用ディストリビューションはUbuntu18.04です。

composerのインストール

$ sudo apt-get install composer

Laravelのインストール

$ composer global require "laravel/installer"

プロジェクトの作成

$ composer create-project --prefer-dist laravel/laravel <プロジェクト名> "5.5.*"

実行すると

You can also run php --ini inside terminal to see which files are used by PHP in CLI mode.

というエラーが出たので、PHPのモジュールを追加。

$ sudo apt-get install php7.2-mbstring
$ sudo apt-get install php7.2-xml

Laravelの実行

$ php artisan serve

を実行した状態で、ブラウザから

http://localhost:8000

にアクセスする。

この画面が表示されればOK。

パーミッション変更

これをやらないとダメらしい。

$ chmod 777 storage/
$ chmod 777 bootstrap/cache/

【プログラミング】美人時計のようなもの(Web編)

Tech commitの挑戦状課題で「美人時計のようなもの」があったので、まずはJavascriptで作成しました。

飯テロ時計

http://taki-lab.site/meshitero/meshitero.html

https://github.com/takishita2nd/meshitero_timer

30分おきに画像が変わり、時間を教えてくれます。

コード解説

まずは、html本体。

<!doctype html>
<html>
    <header>
        <meta charset="utf-8">
        <title>飯テロ時計</title>
        <script src="jquery-3.4.1.min.js"></script>
    </header>
    <body>
        <img id="image" width="640" height="480" src="" />
        <script src="meshitero.js" ></script>
    </body>
</html>

ライブラリはjQueryを使用。これを使うと、IDやclass指定した要素の取得が簡単になります。

本体は画像を表示するimgタグのみ。

そのあとにjs本体を読み込ませます。

jsは最後に書かないと、きちんと動いてくれないっぽい。

続いて、js本体。

function getImageName() {
    var date = new Date();
    var hour = ("00" + date.getHours()).slice(-2);
    var min = "00";
    if(date.getMinutes() >= 30) {
        min = "30"
    }
    var imageFormat = "time_{0}_{1}.jpg";
    return imageFormat.replace("{0}", hour).replace("{1}", min);
}

function imageUpdate(force = false) {
    var date = new Date();
    if(force = false &&
       (date.getMinutes() % 30) != 0) {
        return;
    }
    var imageName = getImageName();
    var image = $("#image")[0].src = "img/" + imageName;
}

document.onload = imageUpdate(true);
setInterval(imageUpdate, 60000);

まず、用意する画像のファイル名は「time_hh_mm.jpg」で統一します。

ファイル名フォーマットとして”time_{0}_{1}.jpg”というのを用意し、あとは実際の時間に合わせて{0}と{1}の部分をリプレースして、ファイル名を作成します。

画像の置き換えはimgタグの要素srcの値を書き換えるだけです。

で、setInterval()で一定時間後周期的にヶ同読み込みが行われるのですが、初回ロード時にも画像を読んで貰わないと行けないので、onload(html読み込み終了時)に強制的に読み込みを実行します。

imageUpdate(force = false) {}とは、引数を指定しなければforceの値は初期値falseが適用されます。

imgタグを書き換えるだけでいいので、思ったほど簡単なコードになりました。

ASP.NET coreを試してみる

試すだけなら簡単。

Visual Studioを立ち上げ、

Webアプリケーションのプロジェクトを作成すれば良い。

プロジェクトを作成して、ビルドして実行すれば、

ブラウザが立ち上がって最初のページが表示される。

しかも、すでにユーザー登録やログイン画面も出来上がっているのである。

ユーザー管理はデータベースを使用しているので、

最初ユーザー登録ページを表示したときはエラーが表示される。

しかしマイグレーションというボタンを押せば、データベースを作成してくれる。

 

実は、実行環境はdotnet.exeというプログラムが、ビルドしたDLLファイルを実行しているだけ。

HTTPサーバやデータベースは実行時に簡易的なものが動作している。

デバッグならば、このままでも十分だし、

まぁ、WindowsサーバならそのままWindowsサーバの環境に移して動かすことができるのだが、

Linux環境だとそうはいかないんだろうなぁ。

まぁ、いろいろいじってみよ。

まずは、このDLLをVPSで動かすことを試してみる。