studio317 2016-10-12T13:58:29+09:00 studio317 atomFeed://www.s317.jp/ Web制作、保守管理専門店です。 WordPress ダッシュボードにホスト名表示 item-136 0 2016-10-12T13:55:03+09:00 2016-10-12T13:58:29+09:00 studio317 sync された複数台サーバー構成時など、ダッシュボードログイン時のアクセス先をマスターサーバーにしている場合、それが本当に意図するホストを参照しているか確認したい。 そこで、functions.php に以下ソースを追 […] sync された複数台サーバー構成時など、ダッシュボードログイン時のアクセス先をマスターサーバーにしている場合、それが本当に意図するホストを参照しているか確認したい。

そこで、functions.php に以下ソースを追加することで、ダッシュボードのフッター付近にホスト名を表示することができる。

/*
管理画面下にサーバーホスト名を表示
*/
function custom_admin_footer() {
$host=function_exists('gethostname')?@gethostname():@php_uname('n'); if (empty($host)) { $host=empty($_SERVER['SERVER_NAME'])?$_SERVER['HOST_NAME']:$_SERVER['SERVER_NAME']; }
echo "<div style=\"background:#000;color:#fff;padding:0.3em 1em 0.5em 1em;\"><span style=\"margin:0 0.5em 1em 2em\">現在ホスト</span>" . $host . "\n";
echo "<style>li#wp-admin-bar-ws-plugin--qcache-ajax-clear-menu{display:none}</style></div>";
}
add_filter('admin_footer_text', 'custom_admin_footer');

]]>
pplication
君の名は。× FUN!TOKYO!モバイルスタンプラリー item-134 0 2016-08-23T13:49:55+09:00 2016-08-23T13:50:19+09:00 studio317 「君の名は。× FUN!TOKYO!モバイルスタンプラリー」が始まるらしい。 映画に登場する 6つの駅だけに貼られている、それぞれの駅にちなんだシーンが描かれた限定ポスターを見つけ、ポスターのQRコードを読み取りスタンプ […] 君の名は。× FUN!TOKYO!モバイルスタンプラリー」が始まるらしい。

映画に登場する 6つの駅だけに貼られている、それぞれの駅にちなんだシーンが描かれた限定ポスターを見つけ、ポスターのQRコードを読み取りスタンプを集めると、限定ものがゲットできるというものだ。

映画『君の名は。』とは。『秒速5センチメートル』(07年)、『言の葉の庭』(13年)など意欲的な作品を数多く作り出してきた気鋭のアニメーション映画監督・新海誠の作品。

待望の新作となる『君の名は。』は、夢の中で“入れ替わる”少年と少女の恋と奇跡の物語。世界の違う二人の隔たりと繋がりから生まれる「距離」のドラマを圧倒的な映像美とスケールで描き出す。とのこと

]]>
chumoku
設定時刻で表示を切り替えるタイマー item-107 0 2015-03-26T00:50:31+09:00 2015-03-26T00:50:31+09:00 studio317 <?php date_default_timezone_set('Asia/Tokyo'); if ($_GET[nt] != "") { $now_time = $_GET[nt]; }els […] <?php
date_default_timezone_set('Asia/Tokyo');
if ($_GET[nt] != "") { $now_time = $_GET[nt]; }else{ $now_time = date('YmdHi'); }
if ($_GET[ct] != "") { $change_time = $_GET[ct]; }else{ $change_time = "201505010905"; }
if ($now_time <= $change_time) { ?>
<p>設定時刻経過前</p>
<?php } else { ?>
<p>設定時刻経過後</p>
<?php } ?>

]]>
pplication
ファイル名に使用できる文字 item-102 0 2015-02-03T03:04:11+09:00 2015-02-04T02:36:58+09:00 studio317 RFC2396 と RFC3986 以下を見ると「予約文字」として使わない方が良い文字がわかる。 RFC2396 RFC3986 RFC3986が新しいようなので、こちらを基準に考えると使える文字は以下のみとなる。 半角 […] RFC2396 と RFC3986

以下を見ると「予約文字」として使わない方が良い文字がわかる。

RFC3986が新しいようなので、こちらを基準に考えると使える文字は以下のみとなる。

  • 半角英数字文字
  • .(ドット)
  • _(アンダースコア)
  • -(ハイフン)
]]>
test
chrome タブにページ読み込み中のクルクル item-100 0 2015-02-03T02:49:05+09:00 2015-02-03T02:49:05+09:00 studio317 アドレスバーに下記を打ち込んで、Host resolver cache の横にある [Clear host cache]ボタンを押すと直る。 chrome://net-internals/#dns アドレスバーに下記を打ち込んで、Host resolver cache の横にある [Clear host cache]ボタンを押すと直る。

chrome://net-internals/#dns

]]>
google
よく使う正規表現 item-97 0 2015-02-03T02:09:20+09:00 2015-02-03T02:09:48+09:00 studio317 範囲内のランダムな文字 ここから(.|\\n)*ここまで 範囲内のランダムな文字

ここから(.|\\n)*ここまで

]]>
design
mod_rpaf でリバプロのバックエンドにアクセス元IPを item-86 0 2015-01-22T07:40:44+09:00 2015-01-22T07:41:38+09:00 studio317 アクセスをリバースプロキシ(nginx)で受けてローカル側バックエンド(apache)で処理する場合、バックエンドではすべてのアクセスがリバースプロキシのIPアドレスからとなってしまいます。そこで次のように mod_rp […] アクセスをリバースプロキシ(nginx)で受けてローカル側バックエンド(apache)で処理する場合、バックエンドではすべてのアクセスがリバースプロキシのIPアドレスからとなってしまいます。そこで次のように mod_rpaf を導入します。

  1. https://github.com/ttkzw/mod_rpaf-0.6 よりソースを取得
  2. バックエンドに適当に mkdir でディレクトリを作り、上記ファイルを置く
  3. cd でそのディレクトリに移動して make する
  4. make install するとインストール完了
  5. httpd.conf の LoadModule が一杯書いてあるあたりの最後に次を書く
    LoadModule rpaf_module modules/mod_rpaf-2.0.so
    RPAFenable On
    RPAFsethostname On
    RPAFproxy_ips 192.168.1.1 ※リバプロのIPアドレス
    RPAFheader X-Forwarded-For
  6. httpd を restart する。

後はリバプロ側(nginx)の conf に適切に proxy_header を記述する。詳しくは nginx の設定で説明します。

]]>
server
MySQLデータベース作成 item-52 0 2014-12-25T02:18:36+09:00 2014-12-26T01:30:14+09:00 studio317 root で mysql に mysql -u root -p データベース作成 create database データベース名 character set utf8; DBが作成されたか確認 show create d […]
root で mysql に
mysql -u root -p
データベース作成
create database データベース名 character set utf8;
DBが作成されたか確認
show create database データベース名;
権限とパスワードを設定
grant create, drop, index, select, insert, update, delete on データベース名.* to ユーザー名@ホスト名 identified by 'パスワード';
※ grant 権限内容 on 権限対象 to ユーザー@ホスト名 identified by パスワード;
権限内容
all privilegesGRANT(権限の付与)以外の権限を付与
alterテーブル変更
createテーブル作成
dropテーブル削除
indexインデックス作成、削除
selectselect文
insertinsert文
updateupdate文
deletedelete文
もし、権限の付与を間違えてしまった場合は、下記のコマンドで一度権限を削除して再度権限を付与
revoke all privileges, grant option from ユーザー@ホスト名;
設定の反映
flush privileges;
権限の確認
show grants for studio317@localhost;
キャッシュのクリア
reset query cache;
MySQLサーバーを切断
exit
]]>
server
Gmail の古いメールを抽出し削除する item-18 0 2014-11-30T00:50:02+09:00 2014-12-05T09:17:20+09:00 studio317 容量節約のため、古いメールかつサイズが大きいものだけ抽出して削除したい 以下は6ヶ月以上前かつ500KB以上のメールの例 これを Gmail の検索窓で検索する。 size:500k older_than:6m 容量節約のため、古いメールかつサイズが大きいものだけ抽出して削除したい

以下は6ヶ月以上前かつ500KB以上のメールの例
これを Gmail の検索窓で検索する。

size:500k older_than:6m

]]>
google
XSS の簡易テスト用文字列 item-16 0 2014-11-30T00:45:10+09:00 2014-11-30T00:45:10+09:00 studio317 簡単なチェックだがとりあえず以下の文字列入力テストを行っておく。開発の最後には専用ソフトによる脆弱性テストを行うこと。 >'><script>alert('Test')</script&gt […] 簡単なチェックだがとりあえず以下の文字列入力テストを行っておく。開発の最後には専用ソフトによる脆弱性テストを行うこと。

>'><script>alert('Test')</script>
>"><script>alert("Test")</script>
>"'><img src="javascript:alert('Test')">
>'><script>alert(document.cookie);</script>
" style="background:url(javascript:alert('Test'))" OA="
'+alert('Test')+'

]]>
test