カード履歴を見ていたら、『ヨシツウドラツグ』?なにこれ、あやしい…。

 ↓

東京生活館というショップでした(^_^;)
東京生活館のネットショッピング・通販はau PAY マーケット

ペットボトルのお茶が安かったんだよね。
クーポン込で、だけど(・∀・)
(1000-500クーポンを持ってたので)

元は『吉通ドラッグ』というショップ名だったのかも。
楽天店に残骸?あり。
【楽天市場】東京生活館 [会社概要]

メニュー内に「吉通ドラッグ」というボタンがある。
(← 引用してみた)

大元は「吉通貿易株式会社」という会社のようだ。
また、同じ罠にハマってた…orz
bootstrap4のpopoverはsanitizeオプションに気をつけろ

てか、↑の記事、結局どうすればいいか書いてないな(-_-;)
リンクも切れてるし(~_~;)
内容にも誤りがあるなぁ(@_@;)

という訳で、書き直そう。

sanitizeオプションは、contentやtitleなどで指定する内容から有害そうな内容を取り除くというオプション。デフォルトはtrueなので有効。なので、指定しないと<input>タグなどのフォーム部品の類は取り除かれてしまう、ということみたいでーす。

htmlオプションでHTMLを有効にして、その中にフォーム部品が含まれている場合は、《危険性を理解した上で》sanitizeオプションにfalseを指定しましょう。

というわけで、こんな感じ。
$(elem).popover({
content: 'お名前:<input type="text" name="name" />',
html: true,
sanitize: false
});
三日坊主失脚!ファンの皆様(そんな奴おれへんやろ〜)、ご無沙汰しております。
もう数年は放置したと思っていたけど、前回の投稿がちょうど半年前だったのに面食らった管理人でーす(^o^)v
キャラ変わってるしー。いや、ただ寝不足でハイになってるだけだよー\(^o^)/

さて、早速(どこが)本題に入ります。
preg_match関数の使用例です。
$str = 'んなこと言われたらアンタ、チッチキチーやで〜';
if (preg_match('/^(.*)(チ.*)$/', $str, $matches)) {
echo $matches[2];
} else {
echo '往生しまっせ〜';
}

こんな感じで$matches変数を使いますよねー。
でも、これだとIDEには$matchesは未定義だと怒られます。
なので、
$matches = array();

などと初期化してみたりする訳だが…

preg_matchする度にイチイチ初期化するのメンドいのヽ(`Д´)ノ

この問題、どこかで取り上げられてるんじゃないかなーと思って検索しても、ほぼ皆無。
(検索語の選択が悪かったのかなぁ)
みんなはどうしているのかなぁ(?_?)
フツーに毎回初期化してるのか…
フツーにIDEの指摘を無視してるのか…

以下、蛇足です。検索しても望むような回答が得られなかったという話をクドクドとしているだけ。。
続きを読む
◎要約
■事象
クラウドワークスで、お仕事に応募しようとして「応募する」ボタンを押して遷移した先で「403 Forbidden」のみが表示され応募完了できない
■原因(と思われる)
HTMLタグが入っていたため

◎以下、蛇足
上記事象に見舞われた。
ので、色々試してみたが、軒並み失敗。。
× ブラウザを変えてみる(Chrome → Firefox)
× PC環境を変えてみる(仮想PCを使用)
× いっそのことスマホアプリから応募してみる

投稿内容も変えてみた
× URLを除去

1日ほどかかってようやく気づいた…。
投稿内容にHTMLタグが入っていることに。。。
○ HTMLタグを除去

やっと応募できた!
「scriptタグ」を「<script>タグ」と表記したほうがわかりやすいだろうという思い込みを持っているので(^_^;)
つい書いてしまっていたのに気づかなかったorz...

あーあ、1日も遅れてしまったせいで、採用されなかったとなったらどうしよう。

しっかし、これだけは言っておこう。
投稿内容に不備があるなら、その旨のエラーメッセージを表示すべき

「403 Forbidden」のみの表示なんて、クラウドワークス様のような有名サイトがしてはならないことである、と私は考える
※インターネット黎明期ならよくあったことでしょう
※現在でも個人サイトや正式リリース前(βテスト中とか)なら、「まあこんなものか」で片付くでしょう

っと、自らの肝に銘じておくことにしよう(*ノω・*)
下記は某ソニーペイメントサービス様の記事より引用したもの。
これは絶対にコピペして使わないでください!
ErrorDocument 503 /maintenance.html

< IfModule mod_rewrite.c >
RewriteEngine On
RewriteCond %{REQUEST URI} !=/maintenance.html
RewriteCond %{REMOTE_ADDR} !=xxx.xxx.xxx.xxx
RewriteRule ^.*$ - [R=503,L]
< /IfModule >

< IfModule mod_headers.c >
Header set Retry-After "Sun, 1 Apr 2018 7:00:00 GMT"
< /IfModule >


『「xxx.xxx.xxx.xxx」の部分は管理者のIPアドレスです』などと、いかにもコピペすれば使えますよー的に書かれていますが、鵜呑みにするとつまづきます。
もう、わざとやっているとしか思えない、罠が存在するのです。
まずはじめに、タグ開始文字の後ろとタグ終了文字の前にスペースが挿入されています。
これだけなら、まあ、単純なミスだなぁ、と思ってそのまま終わっていたと思う。
が、もう一つ悪質な罠が…。
それは「アンダースコアが空白になっている」です。
具体的には「REQUEST_URI」が「REQUEST URI」になっているのです。
これ、見た目ではわかりにくく、ついに間違いに気づくことができませんでした。。
そこで別サイトを参考に.htaccessを作り、事なきを得たのですが、、、
この正常稼働したものと、テキスト比較ツールを使って比較してもなお分かりにくく、その場では気づくことができず、他にも動作確認しなければならないので後回しにしていたのです。
んで、後日落ち着いてテキスト比較ツールで見ていると、どうやら前述の箇所が違っているらしい。
改めてテキストエディタで開いて良く見ると、「ここ空白になっとるやないかーい!」と、ようやく気づいたという次第。

もうね、こんな使えないものをあたかもコピペで使えますよ的に載せている企業なんて、信用できません。もし決済代行導入の機会がありました際には、今回の件、参考にさせていただきます。


もっとも、悪いのは動作確認を怠った私です!
私のような迂闊な人間に警鐘を鳴らすためにあえて罠を仕込んだのかもしれない…。
ただ、それを超大企業(のグループ企業)がやっていいものか、疑問ですが。。

うーむ、いつものことながら、なんだか尻窄み。。。