Categories
javascript(jQuery) PHP+MySQL その他

都道府県の配列

必要なときに探す時間を減らすため。。。

[1=>’北海道’,’青森県’,’岩手県’,’宮城県’,’秋田県’,’山形県’,’福島県’,’茨城県’,’栃木県’,’群馬県’,’埼玉県’,’千葉県’,’東京都’,’神奈川県’,’新潟県’,’富山県’,’石川県’,’福井県’,’山梨県’,’長野県’,’岐阜県’,’静岡県’,’愛知県’,’三重県’,’滋賀県’,’京都府’,’大阪府’,’兵庫県’,’奈良県’,’和歌山県’,’鳥取県’,’島根県’,’岡山県’,’広島県’,’山口県’,’徳島県’,’香川県’,’愛媛県’,’高知県’,’福岡県’,’佐賀県’,’長崎県’,’熊本県’,’大分県’,’宮崎県’,’鹿児島県’,’沖縄県’];

[‘北海道’=>’北海道’,’青森県’=>’青森県’,’岩手県’=>’岩手県’,’宮城県’=>’宮城県’,’秋田県’=>’秋田県’,’山形県’=>’山形県’,’福島県’=>’福島県’,’茨城県’=>’茨城県’,’栃木県’=>’栃木県’,’群馬県’=>’群馬県’,’埼玉県’=>’埼玉県’,’千葉県’=>’千葉県’,’東京都’=>’東京都’,’神奈川県’=>’神奈川県’,’新潟県’=>’新潟県’,’富山県’=>’富山県’,’石川県’=>’石川県’,’福井県’=>’福井県’,’山梨県’=>’山梨県’,’長野県’=>’長野県’,’岐阜県’=>’岐阜県’,’静岡県’=>’静岡県’,’愛知県’=>’愛知県’,’三重県’=>’三重県’,’滋賀県’=>’滋賀県’,’京都府’=>’京都府’,’大阪府’=>’大阪府’,’兵庫県’=>’兵庫県’,’奈良県’=>’奈良県’,’和歌山県’=>’和歌山県’,’鳥取県’=>’鳥取県’,’島根県’=>’島根県’,’岡山県’=>’岡山県’,’広島県’=>’広島県’,’山口県’=>’山口県’,’徳島県’=>’徳島県’,’香川県’=>’香川県’,’愛媛県’=>’愛媛県’,’高知県’=>’高知県’,’福岡県’=>’福岡県’,’佐賀県’=>’佐賀県’,’長崎県’=>’長崎県’,’熊本県’=>’熊本県’,’大分県’=>’大分県’,’宮崎県’=>’宮崎県’,’鹿児島県’=>’鹿児島県’,’沖縄県’=>’沖縄県’];

Categories
PHP+MySQL ホームページ制作・作成

Zoom と連携する予約システム構築

Zoom 連携の予約システム

当システムは、一般的な予約システムに Zoom を連携させ Zoom のミーティングを作成するとともにミーティングに必要な情報(URL, ミーティングID, パスワード)を予約登録と同時にメールで送るシステムです。

従来、お客様との打ち合わせを Zoom のミーティングで行う場合、以下のようなフローで行われているケースがほとんどと思われます。

  1. お客様から連絡を受ける
  2. 日時を調整する
  3. Zoom のミーティングを作成する
  4. Zoom ミーティングの情報(URL, ミーティングID, パスワード)をお客様に連絡する
  5. 当日ミーティングを行う

当システムは、上記の 1~4 の作業を1つにまとめたものになります。

「Zoom 爆弾(ボム)」と呼ばれている「荒らし」の対策である「待合室」のオプションはシステム導入時に「On」としています。これによりホストの承認がなければミーティングに参加することができません。

予約時にメールで送るミーティングID は個人ミーティングID(PMI)ではございません。ミーティング毎に発行されるミーティングID をメールに載せています。

申込フォーム

上図の日付をクリックすると申込フォームに遷移します。

時間の選択肢は、空いている時間のみ選択できます(空いていない場合は選択できないようにしています)。また、時間の選択肢は他の時間に変更することが可能です(システム導入時に設定します)。

入力項目の追加や削除はご相談ください。

申込み

上図のフォームを進めると申込完了画面になり、Zoom ミーティングの情報を入力されたメールアドレスと管理者宛に送信します。

Zoom のアプリでミーティングが設定されていることを確認してください。

キャンセル時

キャンセルの際は、管理画面にあるボタン1つで Zoom のミーティングを含めてキャンセル処理ができます。

こんな場面で

次のようなご利用ができると思います。

  • 弁護士・税理士・司法書士・行政書士など士業の相談予約
  • コンサル会社の予約
  • 神社の祈願の予約
  • 学校・塾の面談の予約
  • カルチャー教室の個人予約
  • 不動産会社の面談の予約
  • 人材派遣会社の面接の予約
  • etc…

上記以外でのご利用もご相談ください。

ご興味のある方は・・・

本システムにつきまして、ご興味のある方は、以下の URL からお問い合わせください。

https://www.of-mokuren.com/inquiry.php

Categories
WordPress ホームページ制作・作成

カスタム投稿に別のカスタム投稿も表示させる

WordPress の single のページにおいて、カスタム投稿をメインに表示させ、ページ下方に別のカスタム投稿の内容を表示させたい!

という事案があり、その方法を残しておきたく。。。

◆メインのカスタム投稿
  • post_type : cusmain
◆サブのカスタム投稿
  • post_type : cussub
◆タクソノミー
  • name : tax

上2つのカスタム投稿に上のタクソノミーを関連させる。この辺の作業は、Custom Post Type UI で。

term を作り、メインのカスタム投稿の記事とサブのカスタム投稿の記事で同じ term を選択する。要は term が2つの記事の紐付け役になる。

single ページは、メインのカスタム投稿向けとして single-cusmain.php を作成。あとは、tax_query を使った以下のようなコードにする。

if( have_posts() ):
while( have_posts() ) : the_post();
the_content();
$term = get_the_terms( $post->id, 'tax' );
$array = [
	'post_type' => 'cussub',
	'tax_query' => array(
		array(
			'taxonomy' => 'tax',
			'field' => 'slug',
			'terms' => $term[0]->slug
		)
	)
];
$results = get_posts( $array );
var_dump( $results );
endwhile; endif;
Categories
WordPress プラグイン ホームページ制作・作成

WordPress のお問い合わせフォーム(Contact Form 7)のセキュリティ

当オフィスが白紙から構築した場合、お問い合わせフォームの代表的なプラグインである Contact Form 7 は利用していないのですが、いままで当オフィスに更新依頼をされた「他社が WordPress で構築されたサイト」のお問い合わせフォームでは、Contact Form 7 を利用されていることがほとんどです。Contact Form 7 は優秀なプラグインであり、多くのサイトで利用されているのですが、「当オフィスに更新や変更などでご依頼をされた他社製の WordPress 構築サイト」では Contact Form 7 のセキュリティを考慮した設置がされているサイトは今のところありません。

  • ご自身のサイトから迷惑メールが多数届いている。
  • レンタルサーバー会社から「Contact Form 7 に対して外部からスパム行為が確認されている」の連絡が届いている。

上記のような状況はありませんでしょうか?

Contact Form 7 ではセキュリティに関しまして次の3つを提案しています。

Akismet によるスパムフィルタリング
「Akismet」は WordPress をインストールした初めからあるプラグインです。Akismet を有効化するためには「AKISMET API KEY」が必要になります。有効化したのちにフォームの入力項目に Akismet 関連のオプションを設置することになります。
ブラックリスト
迷惑メールが届く場合、そのIPアドレスをブラックリスト登録し送信できないようにする策です。自分宛てに届くメールに相手のIPアドレスが記載されているように設置します。
reCAPTCHA (v3)
reCAPTCHA は、Google が提供するサービスです。以前のバージョンでは「私はロボットではありません」のテキストでチェックをさせる仕組みでしたが、最新のものはそのような表示はなくなっています。

いままで「当オフィスに更新・編集などでご依頼された他社製サイト(WordPressでの構築)」で上記のいずれかを設置されているサイトはありませんでした。ご自身のサイトのお問い合わせフォームからの迷惑メールが多いもしくはご心配されている場合は当オフィスまでお気軽にご連絡下さい。お見積もり・ご相談は無料です。

Categories
PHP+MySQL ホームページ制作・作成

2段階認証

2段階認証とは?

ID、パスワード以外の認証を加えることでセキュリティを強化する仕組みのこと。

2019年7月に騒がれた「7pay」で話題になりましたので「2段階認証」の言葉をご存知の方は多いと思います。

念のためですが、ログイン画面で見かける「読みにくい文字を入力させる」ものとは違います。

以下のいずれかの方法で時間制限があるセキュリティコードを受信しそれを入力する方式です。

  • SMS
  • 電話
  • アプリ
  • Eメール
  • その他

個人情報を取り扱う管理画面へのログインに導入を推奨いたします。

導入するには?

SMS及び電話の場合、セキュリティコードを発信するため、SMS配信サービス会社や音声配信サービスとの契約が別途必要になります。

アプリの場合、自社アプリを開発するのもありですが、Google が提供している「Google Authenticator」があります。但し、利用者にアプリのインストールと初期設定を行なってもらう必要があります。さらに利用者が機種変更されたときの処理が大変になる場合もあります。

以上から、Eメールでの受信がもっとも導入しやすいものと思われます。

具体的には

  1. GitHub にある GoogleAuthenticator.php をダウンロード
  2. CodeIgniter の場合、ファイル名を Googleauthenticator.php を変更
  3. CodeIgniter のマニュアルに従って defined(‘BASEPATH’) OR exit(‘No direct script access allowed’); を追記
  4. 当ファイル内の class PHPGangsta_GoogleAuthenticator を class Googleauthenticator に変更
  5. 当ファイルを application/libraries にアップ

Controller で以下のように指定する。

$this->load->library('googleauthenticator');
$secret = $this->googleauthenticator->createSecret();
echo( $secret.'<br>' );
echo( $this->googleauthenticator->getQRCodeGoogleUrl('mokuren',$secret).'<br>' );
$oneCode = $this->googleauthenticator->getCode($secret);
echo( $oneCode.'<br>' );
$checkResult = $this->googleauthenticator->verifyCode( $secret, $oneCode, 2 );
if( $checkResult )
{
	echo( 'OK' );
}
else
{
	echo( 'NG' );
}

2段階認証をはじめセキュリティを強化したい場合は当オフィスまでお気軽にご連絡下さい。お見積もり・ご相談は無料です。