web site

CM素材交換メタデータ生成フォームの改修

CM素材交換メタデータ生成フォームの改修を行いました。

XML出力時に改行コードが、「LF / ¥n」になっていることを
使用ユーザーの方からご指摘いただき
「CR + LF / ¥r¥n」に修正しました。

また、XDCAMメディアへの納品素材の記録の際
Mac環境だと「General」フォルダ内に「. ドット」から
始まるファイルが自動生成されます。

これらは、納品時に削除する必要があります。

それら不要なファイルが、いつ作成されるのかテストしてみたところ
「.XML」ファイルは、メディアにコピー時に必ず作成されます。

メディア内にコピーした「.XML」ファイルを
テキストエディタで開いた時にも作成されているので
ある意味、ログ的なファイルのようです。

また「Clip」フォルダに映像ファイルの「MXF」をコピーし
そのファイルをQuick Time playerなどで開いた時には
「Geleral」フォルダ内に「.@動画ファイル名.MXF」が
勝手に作成されます。

これも不要ですので、削除する必要があります。

このファイル「.@動画ファイル名.MXF」を残しておくと
納品した局から「Generalフォルダに動画ファルあり」と
連絡が入る可能性があり、再搬入が必要になる場合があります。

厄介なのは、Generalフォルダに作成されるこれらのファイルは
ファイル名の先頭に「.ドット」が付いていて、不可視ファイルとなり
Generalフォルダを開くだけでは見えないことです。

FTPソフトなどでXDCAMメディアに階層を移動し
Generalフォルダを表示するとこで
初めて「.ドット」ファイルを確認することができます。

Mac環境だけなので、影響を受ける方は少ないとは思いますが…。

web site

Webフォームのボット送信被害

一般的にWebフォームは、PHPを使用して
フォームの受け取りやメール送信を行うのですが

ボットと呼ばれる、自動送信プログラムで
勝手にフォームが送信される、ある意味ハッキングがあります。

※確認ページがない場合、いきなりのフォーム送信なので
被害が出る可能性が高いです。

PHPからフォームを出力(HTML)する際に、重複送信を防ぐ目的で
フォーム内に、毎回ランダムなhidden値 (フォーム上には表示されない項目)を
追加して、フォームの受信時にそのhidden値を確認し
メールを送信する仕様にしていました。

これは、フォームを送信される「人」に対しての対策で
フォームのタグ(HTML)を見れば、hidden値は確認できてしまいます。

上記の場合、PHPがサーバーサイドで作成したものは
ページのタグで全て丸見えになり、その値を元に
ボット等がフォームを送信できてしまいます。

ここに、JavaScript(jQuery)のスクリプトをいったん挟んで
「送信ボタン」のタイプを「submit」から「button」に変更。

送信ボタンが押されたら、jQueryでクリックを確認し
jQueryからフォームを送信する設定に変更します。

サーバーサイド(正確には中間ですが)で動くボットは
ブラウザーサイド動くjQueryは見えないので
簡易的ですが、勝手に送信される被害は防ぐことができます。

本気でハッキングされた場合、jQueryのJsファイルを読み込んで
同じ動作をさせると送信できますが、自動攻撃用のボットなら
そこまで手の込んだことはやりませんので、一先ずは回避できると思います。

それを乗り越えてきた場合、毎回ランダムなhidden値を、最初のフォーム表示時に
PHPで生成しておいて、SESSIONに記憶させておき、送信ボタンがクリックされた場合
jQueryから、Ajax送受信で別のPHPからhidden値を取得、フォームに追加。

送信後にフォーム受け取りPHPにてhidden値とSESSIONを確認し
合致すればメール送信、と、簡単なチェックを入れることで
もう少し頑丈に防げると思います。

なんだか、フォームのボット送信が増えてるみたいなので
ザックリですが、記事にしてみました。

WEB VR系

WEBサイトに360度画像を埋め込んでグリグリ回す
パノラマVRのお仕事(CMS込みで)。

昔、むかし、QT VRは経験あるのですが
現在は環境も変わってWebGLの世界。

いろいろ、ネット情報を探してSampleページなど
見ていたのですが、Safariだけ開かないことが(後記)…。

Googleさんから情報を得て
今時一般的な、three.jsのコンポーネントを使用。
サムネールをクリックしたらLightBox風に
VR窓がページ内に開くタイプに生成。

———————————————–

製作時にSafariの挙動で、読み込む画像が大きいと
コンソールエラーが出て表示しないみたいでした。
(画像縮小したら無事表示された!)

それと、three.jsのバグだと思いますが
1枚目を表示後閉じて、2枚目をクリック表示しても
表示画像が1枚目のまま…。

表示後に閉じてもメモリーから解放されていないようでした。

仕方ないので、閉じるボタンにそれぞれのコンポーネントを
「dispose()」で削除、めでたしめでたし;)