footmark

ひよっこエンジニアの足跡

ホームページに自分のツイートを表示する(セキュリティ編)

前回、Twitter APIを使って自分のツイートを取得しよう的なことをやりましたが、記事中のソースコードを見て、consumer_key等を表示するファイルにベタ書きするのは良くないんじゃね??と思ったので簡単に調べてみました。

  1. サーバに問題が発生して、PHPが正常に動作しなかった際にソースコードが表示される
  2. ソースコードに問題があり、PHPが実行されなかった際にソースコードが表示される
  3. 上2点のような問題がない限り、ソースコードは表示されない=consumer_key等はバレない(例外はありそうですが)


1. も2. も起こりそうです。。。
対策としては、別ファイルに記述し、それを呼び出すが手軽で良さそうです。
手軽で、と書いたのは、モデルやフレームワークを使用しないレベルでということです。

目的と手段

セキュリティを高めたい

そのために、

  1. 見られたら困るものを別ファイルに隠す
  2. 呼び出す

見られたら困るものを別ファイルに隠す

これだけ。

<?php
// twitter_app_info.php

$twitter_app_info = [
    'consumer_key' => 'hoge',
    'consumer_secret' => 'hoge',
    'access_token' => 'hoge',
    'access_token_secret' => 'hoge'];

呼び出す

これだけ。

<?php
// yumeochis_tweets_getter.php

require_once 'twitteroauth/twitteroauth.php'; // OAuth用ライブラリ「twitteroauth」
require_once 'twitter_app_info.php'; // Twitterアプリ情報

// OAuth用オブジェクトの生成
$tw_obj = new TwitterOAuth (
  $twitter_app_info[consumer_key],
  $twitter_app_info[consumer_secret],
  $twitter_app_info[access_token],
  $twitter_app_info[access_token_secret]);

(以下略

まとめ

見られたくない雑誌を机の上じゃなくてベッドの下に置いておくように、少しの手間でセキュリティは高められることを実感しました。