プログラムPHP U2Fセキュリティキーを使った2段階認証の実装方法メモ U2F(Universal2ndFactor)は、認証技術FIDO(ファイド)の認証方式の1つです。ユーザーIDとパスワードで認証した後に、U2Fに対応したセキュリティキーなどで2段階認証を行う仕様になっています。電子的認証のガイドラインNISTSP800-63BではこのU2Fセキュリティキーを使った2段階認証をAAL3(認証者保証レベル3)という最も強度が高い認証方式として位置付けています。そこ...2020.02.142020.02.15プログラム
プログラム2段階認証を実装するための記事まとめ(PHP+認証アプリ) GoogleAuthenticatorなどの認証アプリを使った2段階認証を、ご自分や自社のWEBサービスに導入するのは少しハードルが高いと思ってはいませんか?実は、認証アプリを使った2段階認証は、RFC6238Time-BasedOne-TimePasswordAlgorithmというとてもシンプルな技術仕様で実装できるため、スマートフォンが普及した現在では、比較的簡単に導入することができます。そ...2019.11.27プログラム
プログラムPHP で otpauth URI(TOTP)を作成する方法 2段階認証でよく使われるTOTP(時間ベースのワンタイムパスワード)は、利用をはじめる時にGoogleAuthenticatorなどの認証アプリに、サーバーで生成した秘密鍵を登録します。この登録する秘密鍵はQRコードで表示することが多いのですが、その際に秘密鍵などをotpauthURIという形式にしてQRコードに埋め込む必要があります。そこで今回は、PHPでotpauthURI(TOTP)を作成す...2019.11.202019.11.26プログラム
プログラム5分で出来る!PHPでQRコードを生成する方法 つい先日PHPでQRコードを生成する機会があったので少し調べてみました。実装は大変かと思っていましたが、ありがたいことにQRコードを生成するPHPライブラリはいくつも公開されていて、簡単にQRコードを生成することができそうです。そこで今回は、endroid/qr-codeを使ってPHPでQRコードを生成する方法をまとめてみました。2019.11.09プログラム
プログラムPHP + Google Authenticator(TOTP)2段階認証の実装方法 2019年7月、あるスマートフォン決済サービスが不正利用され多くの利用者の方が被害に遭われました。その決済サービスには、2段階認証やそれに準ずるセキュリティ対策を怠ったとして大きな批判が集まりました。高い安全性が求められるサービスでは、パスワード認証だけでは安全を確保することが難しくなっています。そこで今回は、PHPとGoogleAuthenticatorを使った2段階認証の実装方法をまとめてみま...2019.09.042020.11.06プログラム
プログラムPython の勉強時間を取れない人に Pythonista は絶対オススメな話 最近注目のプログラミング言語Python(パイソン)の勉強をしたいけれども、なかなか勉強時間を取れない方は多いのではないでしょうか? そんな方にオススメなのがPythonのコードをiPhoneやiPadで簡単に実行できるアプリPythonista(パイソニスタ)です。そこで今回は、Pythonの勉強時間を取れない人にPythonistaをオススメする理由をまとめてみました。2019.07.302019.08.01プログラム
プログラムApache NetBeans 11 を macOS にインストールメモ ApacheNetBeans(ネットビーンズ)は、オープンソースの統合開発環境(IDE)です。JavaやPHPなど色々なプログラム言語に対応しています。以前はオラクルが中心になってNetBeansを開発していましたが、バージョン9からApacheが開発をするようになりました。現時点ではインストーラーが提供されていないため、以前とインストール方法が少し変わっているようです。そこで今回は、現時点(20...2019.04.202021.03.07プログラム
プログラムA3RT の Talk API を PHP で使ってみた リクルートテクノロジーズが公開しているA3RT(アート)は、機械学習や人工知能を手軽に使うことができるAPI群です。A3RTの各種APIはメールアドレスの登録だけで無償で使うことができます。そこで今回は、Chatbotを簡単に作成することができるTalkAPIをPHPで使ってみました。2018.03.062021.12.21プログラム
プログラムヘッドレスChrome + Puppeteer のインストールと使い方メモ(CentOS) ヘッドレスChrome(HeadlessChrome)は、コマンドラインからGoogleChromeを操作できる仕組みです。WEBアプリの自動テストや、WEBサイトのパフォーマンス監視などに活用することができそうですね。また、ヘッドレスChromeを操作するためのNodeライブラリPuppeteer(パペティアー)の正式版が最近(2018年1月)リリースされました。そこで今回は、CentOS7にG...2018.02.212022.07.26プログラム
プログラムPHP7.2 に mcrypt をインストールする方法(ただし非推奨!) PHPでデータを暗号化や複号化をする時によく使われていたmcrypt関数が、PHP7.2でコアから削除されました。ただOpenSSL関数を使えばmcryptと同じことができる上に処理も早いので問題ないはずなのですが、古いシステムからの移行時のつなぎや、色々な力関係などで(^^;)しかたなくmcryptを使わなければならない場面もあるかと思います。そこで今回は、非推奨ですがPHP7.2にmcrypt...2018.01.042018.01.05プログラム
プログラム小数計算の誤差 0.1 + 0.2 が 0.30000000000000004 になる理由 JavaScriptで「0.1+0.2」のような小数の計算をすると、答えが「0.30000000000000004」になり誤差が発生することがあります。JavaScriptでプログラムを組んだことがある方なら、一度は経験したことがあるのではないでしょうか? そこで今回は、なぜ0.1+0.2が0.30000000000000004になるのか、この誤差の原因と回避する方法をまとめてみました。2017.12.052019.02.06プログラム
プログラムHTMLテーブルのヘッダを「行列固定」する方法(FixedMidashi) 業務系のシステムでは、扱っているデータが多いため、一覧表が巨大になることがよくあります。WEBベースで開発している場合は、一覧表をHTMLテーブルで作ることが多いかと思いますが、表が巨大だと上下左右にぐりぐりスクロールして閲覧することになり、行や列のヘッダ(見出し)が見えなくなってしまいます。エクセルのウインドウ枠(行列)の固定のように出来ればいいのですが、HTMLではこれが簡単にはできません。そ...2016.03.172016.03.20プログラム
プログラム入力チェックコードを PHP と JavaScript で共通化する方法 フォームに入力された値に行う、入力チェックは(バリデーションチェックとも言うらしいです)大きく分けて、JavaScriptで行うクライアント側チェックと、PHPなどで行うサーバ側チェックの2つがあります。当然両方で入力チェックを行うことが望ましいのですが、同じようなコードを、クライアント側とサーバ側で書かなければなりません。そこで今回は、入力チェックコードをPHPとJavaScriptで共通化する...2016.02.132016.03.21プログラムPHP
データ分析dimple.js 積上げ棒グラフの作り方 dimple(ディンプル)は、さまざまなグラフを簡単に作成できるJavaScriptライブラリです。データ可視化ライブラリの定番D3.jsと合わせて使います。D3.jsは柔軟性が高く、複雑なデータを可視化することが得意ですが、グラフの描画処理を自分で作成する必要があります。描画処理のコードを書くのは、なかなか大変ですが、このdimpleライブラリを使えば、複雑なグラフを、わずか数行のコードで作成す...2015.10.082016.09.12データ分析プログラム
プログラムTwitter API search/tweets で 100件以上のツイートを取得する(PHP) Twitterのツイート検索API(search/tweets)で、取得できるツイート数の上限は100件です。分析用途で使うには、ちょっと件数が少ないですね。そこで今回は、TwitterAPIで100件以上のツイートを取得する方法をご紹介します。2015.07.292019.02.06プログラムPHP
データ分析PHP 政府統計 API の使い方メモ(e-Stat) 政府統計の総合窓口(e-Stat)のAPI機能では、各府省が公表する統計データを、APIを使って簡単に取得することができます。以前は各府省ごとに、統計データを公開していましたが、近年この、政府統計の総合窓口サイトの1つにまとめられ、昨年からはAPI機能の提供も開始されました。政府統計APIの使い方はいたって簡単なのですが、統計データの種類、量ともに膨大なため、データ取得までの流れが、他のWEBサー...2015.07.022019.02.17データ分析プログラムPHP
プログラムPHP 5分で出来る!Twitter API アプリケーション認証(Application-only authentication) ツイッターAPIの、アプリケーション認証(appauth)を使うと、15分あたりのAPI利用上限を、ツイート検索が180回から450回に、タイムライン取得は180回から300回に増やすことができます。ツイート探索系のアプリを作るのには、ちょっと嬉しい仕組みですね。そこで今回は、PHPからTwitterAPIアプリケーション認証を行い、ツイート検索をする方法をご紹介したいと思います。また、簡単にアプ...2015.06.112020.11.03プログラムPHP
プログラムMeCab と php-mecab のインストールメモ(CentOS7.1) MeCabは、日本語の文章を解析して、単語に分割してくれるソフトウェアです。WEBサービスを作るにあたってMeCabをPHPから使う必要があったので、今回はphp-mecabもインストールしました。MeCab(めーきゃぶ)の名称は、開発者さんの好物「めかぶ」にちなんで付けられたそうです。ふと、めかぶをつまみに一杯やりたくなりました。(^^)2015.05.142016.05.15プログラムPHP
プログラムNetBeans での Git リポジトリサーバへの接続方法 NetBeans(ネットビーンズ)は、無償で使えるオープンソースソフトウェアの、統合開発環境(IDE)です。Java、PHP、HTML5、C/C++、Groovyなどのプログラミング言語に対応しています。前回の記事で、Gitリポジトリサーバの構築方法をご紹介しました、今回は、構築したGitリポジトリサーバにNetBeansから接続して、リポジトリのクローンなどの操作をしてみたいと思います。2015.03.312022.10.14プログラムPHP
プログラムZabbix ドメイン名ハイジャック(ドメインの乗っ取り)を監視 2014年11月5日国内の「.com」サイトでドメイン名の登録情報が不正に書き換えられ、攻撃者が用意した不正サイトに誘導されるドメインハイジャック(ドメインの乗っ取り)が複数発生しているそうです。ドメイン名管理者としての対策は、利用しているレジストラやリセラーのログインアカウントを適切に管理し、定期的にDNSサーバの登録情報が正しく設定されているか(改ざんされていないか)確認することが求められてい...2014.11.072016.03.21プログラムPHPZabbix
プログラムZabbix 外部スクリプトで天気を監視(OpenWeatherMap) Zabbixの外部スクリプトを使って天気を監視してみました。仕組みとしては、気象データの無料APIを提供するオンラインサービスOpenWeatherMapから天気をデータを取得してZabbixデータベースに記録します。2014.10.312019.05.08プログラムPHPZabbix
プログラムNetBeans phpcsmdプラグイン Zendコーディング規約のカスタマイズ NetBeansでPHPCodeSnifferを使えるようにできるphpcsmdプラグインで、Zendコーディング規約をカスタマイズする手順をメモしておきました。2014.09.292016.03.21プログラムPHP
プログラムNetBeans + PHP CodeSniffer プラグインのインストール NetBeansは無償で使えるIDE(統合開発環境)です。NetBeansはプラグインを追加することにより機能を拡張できるのですが、その一つに、プログラムコードがコーディング規約に則っているかを自動チェックできる、PHPCodeSniffer(PHPコードスニファー)用のプラグインあります。NetBeansに、PHPCodeSnifferプラグインを追加すれば、プログラムを書いているそばからコーデ...2014.09.262021.03.30プログラムPHP
プログラムPHP CodeSniffer ルールセットのカスタマイズ方法 PHPCodeSniffer(PHPコードスニファー)は、PHPやJavaScriptで書いたプログラムが、決められたコーディング規約に則って書かれているかをチェックできるツールです。対応しているコーディング規約は、Zend、PEAR、PSR2などがあります。私は普段、ZendのPHPコーディング規約に則って、プログラミングをしているのですが、一部例外の規約を設けているため、PHPCodeSnif...2014.09.232022.07.26プログラムPHP