ついに自己サイトを作ったよ。ヤフーブログ開設から7年!?

ついに自己サイトオープンしましたよ。

今までの記事はブログからひっぱってきたもの。

(非公開にせざるをえない恥ずかしい記事だらけでした・・・)

 

そもそもブログを始めたきっかけ

ヤフーブログ当時のTOP

大学時代に、ゆくゆくは自分で会社、もしくはお店を作りたい。
そのためには、自分でWEBサイトを作れるようになっておきたい。
というものでした。

しかしまぁ、何がなんだかさっぱりわからないわけですね。
そこで、そのあたりに詳しい友達に相談したら
ホームページを簡単に利用できるようにしたのが「ブログ」だよ。
と言われたのでした。

 

どんな無料ブログを利用したか?

そんなわけで、当時(今も?)有名だったYahooブログを開設。

ブログの友達も沢山できました。

就職活動時も沢山支えていただきました。

オフ会にも行き、今でもブログの枠を越えてお付き合いがあります。

 

さてさて、時代はamebaブログ、通称アメブロが流行りだしました。

かわいい女性はみんなそこ、

なので私も、別ネームで開設したなぁ・・・

(今、それ思い出しましたわ。そのうち整理します)

 

ですが、当時のブログはFC2ブログに2010年引っ越ししました。

理由は、とにかくyahooブログはやめたい。でした笑

 

ブログ引っ越しのデメリット

他サイトのブログだと、ブロ友さん同士の交流が機能の面で面倒になるんですよね。

なので、FC2への引っ越しとともに、ブロ友さんとのおつきあいはブログ上で無くなりました。

ただ、私自身がブロ友さんのブログに訪問できなくなっていたので、

大した問題ではなくなっていましたが。

 

そして、2014年、FC2からはてなブログへ引っ越しました。

理由は、いろいろなブログサービスを一度は利用し経験してみたかったので。

いやぁ〜、はてなは個人的に一番使いにくかったですね笑

画像サイズの変更できなーい!と。

 

ついに自己サイトオープン

はてなブログが最高に使いにくく、

もともと記事の更新頻度が落ちてたいた私にはそれはかなり響いてました笑

 

ですが、2014年夏、地味に行っている音楽活動で取材を受ける機会がありました。

そこで、一念発起!

ついに自分のサイトを作る気になりました!!

 

 

自己サイトを作れるようになりたい。

ヤフーブログ開設日が2007年4月24日。

あれから7年がたったんですね。

 

まだまだ素人なできかもですが、少しは成長したかな。

 

※ヤフーブログの記事はこの後削除しました。

ヤフーブログさんいままでありがとうございました!

 

 

セキュリティ:カスタムフィールドのデータをエスケープする

雑談

カスタムフィールドを使った最初のお仕事としてWordPressのシングルテンプレートを作成しました。
そのコードに先輩から暖かい丁寧な添削が入ります。
理解するのに恐ろしい時間かかるけど、一つ一つ理解していかねば。
更新日時は教えてもらった日に設定

カスタムフィールドのデータをエスケープ

運用担当者がヘンなデータを入れた場合に
表示が崩れたり脆弱性ができたら大変

ということで、

<?php echo get_post_meta(); ?>

に一手間加えてあげるそうです。

esc_html()を加えるだけっ!

<?php echo esc_html(get_post_meta()); ?>

エスケープってそもそもなんなの?

マークアップ言語やプログラミング言語で文字列を扱う際に、その言語の文法や処理系にとって特別な意味や機能を持つ文字や記号(およびその並び)を、一定の規則に従って別の文字列に置き換えること。

例えば、HTMLはタグの記述に「<」「>」という記号を用いるため、この記号そのものを文字として表示することは本来できない。このとき、「<」「>」という特殊な表記法に置き換えることで、それぞれ「<」「>」と表示することができる。このような置き換え操作・処理のことをエスケープ処理という。

エスケープ処理とは – IT用語辞典 e-Words

あ、そういうことだったのか。
「<」を「<」じゃなくするんだな。うん。

カスタムフィールドの数が多い時の処理にfunction.phpに関数作成

さて、さらに教わった事。
フィールド数が多いと毎回書かなきゃいけなくて面倒。そのために、function.phpにひとつ関数を作ってあげると便利らしい。
(今回は「cf」なんだろう)

function cf($post_id, $fieldname, $single) {
    $cf = get_post_meta($post_id, $fieldname, $single);
    if ($single) {
        echo esc_html($cf);
    } else {
        return $cf;
    }
}

とのこと。
引数はget_post_metaと同じにして、
第三引数の「$single」がtrueだった場合は、取得したフィールドの内容をエスケープ処理(esc_html())してからechoする。
$singleがfalseの場合は、get_post_metaと同じ動きをする。(つまり、$single = true以外で使っても意味がない。)

とのこと。

<?php echo get_post_meta($post->ID, 'fieldname', true); ?>

にしたところは、

<?php cf($post->id, 'fieldname', true); ?>

に変更すればOK!

「$single」がtrueだった場合にしたのはなぜだろう?
と疑問でしたが、

$singleは複数の値を入れる事ができ、そのときsingleにfalseを指定すると、戻り値を次のような配列で受けとるらしい。

Array
{
   [0] => これは値1です。
      [1] => これは値2です。
}

だから、falseの時にエスケープしちゃうとちゃんとひっぱってこれないよってことなのかしら?
うーんよくわからない。とりあえず、配列がある時はまたの機会に考えよう。

その他のエスケープ処理

他にもまだエスケープ処理する関数があるらしい。
ざっくり書くと

esc_attr()

HTMLの属性値として出力するとき
※現時点でesc_htmlと同じ処理をするらしい。将来はわからないから今から適切に書きましょうとのこと。

esc_url()

URLとして適切でない文字を除去

参考にした図書

ちなみに↓は全然基礎じゃないと思う(・∀・)