下記の通り、データ入力用のフロントエンド(html)、DB向けのクエリ発行用スクリプト(PHP)、
データベース(MySQL)で構成されたWebアプリケーションがあるとします。
index.html <データを入力>
↓
insert.php <DBへクエリ発行>
↓
DB <クエリに従って値をinsert>
index.html上のフォームに入力された文字列をDBに挿入するという主旨です。
この時、文字列に半角/全角スペースが含まれる場合は、半角/全角スペースを排除して
DBに挿入するとします。
半角/全角スペースを排除した旨の通知はしません。
このような値の正規化はどのタイミングで行うのがベストでしょうか?
正規化を行うチャンスはすべての段階で存在すると理解しています。
・index.html
Javascriptにて、submitする前に値を正規化してPHPへ渡す。
→ Javascriptが無効化されていると不可
(しかし、今時Javascriptを無効化するユーザがいるだろうか)。
・insert.php
ここで正規化してDBへ渡す。
→ 経験上、これが一般的と感じる。
・DB
ストアドプロシージャ等を用いて、正規化した値を挿入する。
→ 最近MySQLでプログラミングのようなことが出来ることを知り、ここで正規化するのも
アリではないかと考えた次第。
メンテナンス性やパフォーマンスなど、様々な観点からご意見を頂けると幸いです。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
> このような値の正規化はどのタイミングで行うのがベストでしょうか?
一言で言えば「処理の入口で行う」だと思います。
ただ、入口はいくつもある場合があります。
質問の例なら、ユーザーがブラウザ上で入力する
箇所が主な入口ですが、ハッカーがブラウザを
使わずに直接PHPにリクエストする可能性があるなら、
PHPのリクエスト受け付け部分も入口です。
データベースも、自分が管理しているプログラム以外から
アクセスされる可能性があるなら、そこも入口です。
場合によっては、それぞれの入り口全てでやらなければ
ならない場合もありますし、データベースの格納値に
スペースが入っていることが後の処理に影響しないなら、
特にデータベースアクセス時点でスペース削除する必要は
ないと思います。
また、PHPのリクエスト受け付け部でスペース削除しているから
といってブラウザ側でスペース削除する必要がないとも
限りません。
ユーザビリティ(使いやすさ)を考えて、文字入力段階から
スペースが入らないように正規化した方がよいかもしれません。
ただ、入口の文字入力段階ではなく、submitする時に
ユーザに知らせず勝手にスペース削除するだけでは意味がないと
思います。スペースが含まれているかチェックして、ユーザに
お知らせするか再入力させるならまだ意味があるかもしれません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
白血球が多いとどんな心配があ...
-
彼女のことが好きすぎて彼女の...
-
エクセルで数式の答えを数値と...
-
2つの数値のうち、数値が小さい...
-
精液の落とし方を教えてください
-
イタリアから帰国する際、肉製...
-
検便についてです。 便は取れた...
-
知能テストは、今。 義務教育課...
-
勃起する時って痛いんですか? ...
-
EXCELで条件付き書式で空白セル...
-
excelでsin二乗のやり方を教え...
-
甲状腺が腫れているが血液検査...
-
リンク先のファイルを開かなく...
-
小数点以下を繰り上げたものを...
-
エクセルのグラフで、値0のとき...
-
エクセル指定した範囲からラン...
-
これって喉仏ですか? 私は女性...
-
風俗店へ行く前のご飯
-
【Excelで「正弦波」のグラフを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
彼女のことが好きすぎて彼女の...
-
白血球が多いとどんな心配があ...
-
勃起する時って痛いんですか? ...
-
精子が黄色?
-
検便についてです。 便は取れた...
-
これって喉仏ですか? 私は女性...
-
小数点以下を繰り上げたものを...
-
甲状腺が腫れているが血液検査...
-
精液の落とし方を教えてください
-
エクセル指定した範囲からラン...
-
EXCELで条件付き書式で空白セル...
-
2つの数値のうち、数値が小さい...
-
精子に血が・・・
-
エクセルのラベルの値(文字列...
-
イタリアから帰国する際、肉製...
-
ある範囲のセルから任意の値を...
-
リンク先のファイルを開かなく...
-
中出しをするとお腹が痛い・・・。
-
MIN関数で空白セルを無視したい...
おすすめ情報