RのWeb制作

Webサービス制作のための技術情報を。

Web制作

[PHP]まとめ読みをPSRで改良する(3)

投稿日:

Cord
(2)の記事から「PDO」を使い、データの通信をオブジェクト化しました。
password_hashを使い、パスワード処理の暗号化も行いました。

PDOを導入する一番の理由は「mysql_query」などは近い内に使えなくなるようです!

ネイティブドライバについては、もうひとつ注意すべきことがある。 PHP 用の mysql 拡張モジュールの開発はすでに終了しており、PHP 5.4.0 の時点での公式発表によると 「長期的には廃止予定」だ。つまり、近い将来に削除されるということであり、 PHP 5.6 (になるかどうかわからないけど、5.5 の次にくるやつ) の頃には使えなくなるだろう。
PHP The Right Way.より)

PDOは「PHP Data Objects」の略で、どのデータベースを使っているかを隠蔽してくれるもの(のよう)です。
使えるのはMySQL、PostgreSQL、SQLiteなど。

PDOの接続方法

PDOの利用の方が詳しいですが、どう使うのかは載っていません・・・。

Class内の関数に入れるのなら

    // DBに接続
    public function connectDb()
    {
        $dsn = 'mysql:dbname=' . self::$dbInfo['name'] . ';host=' . self::$dbInfo['host'];
        try{
            self::$db = new PDO($dsn, self::$dbInfo['user'], self::$dbInfo['pass']);
        }catch (PDOException $e){
            print('Connection failed:'.$e->getMessage());
            die();
        }
    }

設定の書き方

public $dbInfo = [
        'host' => 'localhost', 'name' => 'database', 'user' => 'root', 'pass' => ''
    ];

設定を導入する関数と必要なものを記述すること!
これはDBに接続すると同じ所で使うといいかも?
(そもそも使い方がおかしいかもしれない)

    private static $dbInfo;
    private static $db;
    // DBの情報を設定
    public static function setInfo($dbInfo)
    {
        self::$dbInfo = $dbInfo;
    }
    // DBの接続切断
    public function disconnectDb()
    {
        self::$db = null;
    }

暗号化方法password_hash(password_compact)の使い方

さくらサーバーはPHP 5.4までしか使えない問題があります。
PHP5.5で導入された「password_hash」が使えない・・・。

↓解決策
PHP5.5から使える暗号化「password_hash」を「password_compact」を使って以前のバージョンで利用する
すごく簡単です。

現状

ミニ四駆ブログまとめ

  • 表示
  • PC、スマートフォン両方利用可能です。
    > PC表示
    PC
    > スマートフォン表示
    スマホ

  • PDOでのDB通信で安全化の強化
  • 「?id=1%3BDELETE+FROM+users」のようなデータを受け取らないようにしました。
    以前のバージョンではできます/(^o^)\

  • password_compactで管理パスワード比較の安全化
  • パスワード自体の変換(保存用)は「crypt」を使っています。

  • 読み込み速度の向上
  • 「使っていた関数を見直す」
    「更新されていないRSSを読まない」
    「RSS情報は受け取るが、日付がある程度過去の場合更新しない」
    「無駄な読み込みはなくす」

    まとめ

    現在、サイトの動作をテストしています。
    特に問題はなさそう。
    一週間行って問題がなさそうなら公開・配布しますね!

    でもオブジェクト指向の書き方、MVCの書き方にそぐわなさそうなので少しずつ改良していきます!

-Web制作

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

PHPでPC・スマホ・タブレット・携帯を判別するおすすめの方法

今まさにスマートフォン時代になってきています。 今月のアクセス解析 PHPでPCやスマートフォン、タブレット、携帯を判別してみましょう。 普通の判別法 $_SERVER[‘HTTP_USER_AGEN …

no image

PHPカウンタ(画像版)の公開

PHPのカウンタ(画像版)を公開しました。 表示は以下のようになります。 PHPカウンタ(画像版)でコードも公開しています。ご自由にお使いくださいませ。

手書き数字診断士(機械学習)ver 0.0

手書き数字診断士、まずは動くようにしました。 ただ、初っ端から間違えています・・・! 動画 http://webmaking.rei-farms.jp/wp-content/uploads/2018/ …

no image

[PHP]まとめ読みをPSRで改良する(2)

PHPのコーディング規則、PSRを学ぶをまとめました。 しかし、実際に作るとなるとまだまだです! やらなきゃ実際の所なんてわからんです。難しく見えてもね! 現行ページ(テストサーバー上) この記事の( …

no image

iPhoneアプリを開発してみよう

最近ずっとiPhoneアプリで遊んでて、 「なんか頭使うゲームないな?」と思い(”本質的には育成ゲー”が多すぎてゲンナリ) 「複数人でのRTS」があればな~と。 「他ゲーに文句 …