みなさんは入力フォームのバリデーションチェックするとき、phpでしますか? それともJSでしますか?
どちらか?っていうのかなチェックが必要になるデータにおいて、サーバーサイドでチェックするのは必須なので画面での動きを見せるかどうかの違いしかないかと。
特にサーバーサイドでやる必要がなければJavaScriptでいいんじゃない? いちいちサーバサイドのプログラム叩いて結果チェック結果表示して・・・ってのもなんかねぇ。最近はJSでチェックして問題ないならsubmitしてる。
上の方と同様です。クライアント側で出来ることはJSで行い。それ以外をサーバー側で行います。ただ、クライアント側のJSは無効にされていることも考えられますので、サーバー側ではクライアント側で行ったチェックも行う必要があると思います。
事情はあるのかもしれないけど、JavaScriptオフにしてるようなひとクセのある人からの問い合わせが欲しいと思うかどうか考えてみると、JSオフ環境のサポートはしなくていいかなって気になってくるよねw つまりフィルタリング的な意味でJSオフならsubmitすらできなくてもいいやっていう考え方はどうだろうw
いいね!
JSオフならsubmitボタン非表示w
フォームの内容とその後のデータの扱いにもにもよるけど基本両方でやってる。上の人も言ってるけど一回サーバいってエラーでたら、また戻ってきてってのが面倒くさいから、onchangeとかonblurとかで見張らして、できる限りJSでチェックさせる
面倒くさいって言っても、そこら辺の動きを全部ライブラリ化しておけば、何回も使い回せますよね?
書き方が悪かったですね。まったくもってその通りなんですが、個人的な問題で自分がフォーム入力するとき、全部入力して一回サーバに送られて不備があった場合戻ってくるのが何とも煩わしくって、だから入力しているときから既に監視させとくよってくらいの感じです。PHPでのチェックはぜんぜん軽視してないです!
あ****ほど。一度Postが発生して画面の再描画とかっていうのが嫌なのですね。確かにそういう人も多いですね。
最近そういうお客さんが多くて、個人的なアレルギーです。
想定外のエラーを防ぐ為に、両方でやっても問題ないかと。サーバー側の制御は必須だと思います。最後の砦な感じで。Ajax使ってチェックはサーバー側の関数使い回すのもありかなぁ
画面から隠したらsubmitできない。とか、ネタだと思いたいわ。少し前はよく見かけたけど、まだいるのかな・・・
JSでどれだけチェックを堅牢にしたとしても悪意のあるユーザには無いのと同じですよ。XSSなどの温床にもなって致命的な事態になることもあるので注意したほうがいいです。
私はサーバーサイドでやる方がいいと思います。確かに入力規則に沿ってなければ画面遷移してのチェックは製作者にも利用者にも不便かもしれませんね。でも、ユーザーに制限つけるのといかがなんですかね?JSオフってるからチェック出来ない、なら送信させないってのは、エゴですよね?JSって便利にとかリッチにとかっていう意味で、使った方がいいと思ってるので
XSSとかSQLインジェクションとか、致命的にならないようなものはある程度プログラム側で吸収するような作りの方がいいのではないでしょうか?全角半角程度なら置換すればいいですし
サーバーサイド必須です。必ずJSでバリデートされたデータだけが送られてくると思ったら痛い目見ますよ。
基本両方でしょ。
PHPでやります。だって最終的にDBに入れるのはPHPだし、JSだとOFFにされたらオシマイだし。セキュリティ的にもありえないし、2度手間になるので両方なんて書かないですね。リアルタイムにエラー表示なんて滅多にないけどあってもAJAXで判定はPHPに任せます。
サニタイズとバリデーションは別物じゃないんですか?
クライアントサイドチェックはユーザーのためサーバーサイドチェックはクライアントのため
どちらか1つと問われれば、絶対にPHPです。というより、セキュリティ的にPHP側でチェックしないのは有り得んです。
顧客から要望があれば、両方対応しますけどね。javascriptで実装してあげれば、ユーザーは何度も送信ボタンを押す手間が省けますし、javascript側のチェックもあって損はないです。
みんなの回答 13 件
どちらか?っていうのかな
チェックが必要になるデータにおいて、サーバーサイドでチェックするのは必須なので
画面での動きを見せるかどうかの違いしかないかと。
特にサーバーサイドでやる必要がなければJavaScriptでいいんじゃない? いちいちサーバサイドのプログラム叩いて結果チェック結果表示して・・・ってのもなんかねぇ。最近はJSでチェックして問題ないならsubmitしてる。
上の方と同様です。クライアント側で出来ることはJSで行い。それ以外をサーバー側で行います。ただ、クライアント側のJSは無効にされていることも考えられますので、サーバー側ではクライアント側で行ったチェックも行う必要があると思います。
事情はあるのかもしれないけど、JavaScriptオフにしてるようなひとクセのある人からの問い合わせが欲しいと思うかどうか考えてみると、JSオフ環境のサポートはしなくていいかなって気になってくるよねw つまりフィルタリング的な意味でJSオフならsubmitすらできなくてもいいやっていう考え方はどうだろうw
フォームの内容とその後のデータの扱いにもにもよるけど基本両方でやってる。
上の人も言ってるけど一回サーバいってエラーでたら、また戻ってきてってのが面倒くさいから、onchangeとかonblurとかで見張らして、できる限りJSでチェックさせる
想定外のエラーを防ぐ為に、両方でやっても問題ないかと。
サーバー側の制御は必須だと思います。最後の砦な感じで。
Ajax使ってチェックはサーバー側の関数使い回すのもありかなぁ
画面から隠したらsubmitできない。とか、ネタだと思いたいわ。
少し前はよく見かけたけど、まだいるのかな・・・
JSでどれだけチェックを堅牢にしたとしても
悪意のあるユーザには無いのと同じですよ。
XSSなどの温床にもなって致命的な事態になることもあるので注意したほうがいいです。
私はサーバーサイドでやる方がいいと思います。確かに入力規則に沿ってなければ画面遷移してのチェックは製作者にも利用者にも不便かもしれませんね。
でも、ユーザーに制限つけるのといかがなんですかね?
JSオフってるからチェック出来ない、なら送信させないってのは、エゴですよね?
JSって便利にとかリッチにとかっていう意味で、使った方がいいと思ってるので
XSSとかSQLインジェクションとか、致命的にならないようなものはある程度プログラム側で吸収するような作りの方がいいのではないでしょうか?全角半角程度なら置換すればいいですし
サーバーサイド必須です。
必ずJSでバリデートされたデータだけが送られてくると思ったら痛い目見ますよ。
基本両方でしょ。
PHPでやります。だって最終的にDBに入れるのはPHPだし、JSだとOFFにされたらオシマイだし。
セキュリティ的にもありえないし、2度手間になるので両方なんて書かないですね。
リアルタイムにエラー表示なんて滅多にないけどあってもAJAXで判定はPHPに任せます。
クライアントサイドチェックはユーザーのため
サーバーサイドチェックはクライアントのため
どちらか1つと問われれば、絶対にPHPです。というより、セキュリティ的にPHP側でチェックしないのは有り得んです。
顧客から要望があれば、両方対応しますけどね。javascriptで実装してあげれば、ユーザーは何度も送信ボタンを押す手間が省けますし、javascript側のチェックもあって損はないです。
関連するトピックス