現在、誰かがスペースキーを押して入力すると、次のページに移動しますが、何も検索しません - 検索を完全に防止したいです。これを達成する最良の方法は何ですか?私はスペースが使用されないようにしたくありません(つまり、どうすればこの問題を解決できますか?) - 私は空白で検索を許可したくありません。"スペース"がMySQLデータベースを検索するのを防ぐには?
答えて
empty
条件でクエリの変数をラップ:
if(!empty(trim($_POST['searchterm']))
{
// do search
}
さらに、フォームがクライアント側で送信されないようにすることもできます。彼はjavascriptをタグ付けしたので、OPはこれを念頭に置いていたと思います。もちろん、サーバーサイドでもポリシーを実施する必要がありますが、それが不要な場合(トラフィックの99%を占めるはずです)の追加チェックが、それが存在するために、あまり害はない。 – Nobody
クライアント側の検証のみがサイドステップで実行できます。バックエンドのチェックも必要です。 – HyderA
@ gAMBOOKa:私のコメントを編集しましたが、もちろんそれは回避できますが、単に検索文字列として ""を渡すだけの努力をする価値はありますか?もちろん、セキュリティ上の問題があった場合は、サーバー側も確認する必要があります。 – Nobody
ただ、文字列を取り、最初と最後の空白をトリムと長さを確認してください。長さが0の場合は、フォームを送信しないでください。
これは問題ありませんが、クライアント側のチェックのみに頼るべきではありません。 –
@AlienWebguyの回答に加えて、JavaScriptを使用してクライアント側の検証を行い、ページがバックエンドに到達するのを防ぐことができます。クライアント側で検証を行うことは間違いなく良い方法ですとサーバー側。 submit
(onsubmit
)イベントハンドラで
form.onsubmit = function(){
if(input.value.replace(/^\s/,"").length === 0){
return false;
}
}
JavaScriptを使用してトリム先頭のスペース:
var searchField = document.getElementById('search'); // or whatever the id of the field is
if(searchField.value.replace(/^\s+/, '').length === 0) {
return false; // or evt.preventDefault().
}
ここでは、クライアント側の検証に依存しても大丈夫であるべきかの理由ユーザーが検索エンジンをだまそうとすると、空白のページが表示されても構わない。実際のサーバー側の問題は、これを可能にありますならば、同じチェック、サーバー側を実行します。
if(!isset($_REQUEST['search']) || !trim($_REQUEST['search'])) {
// Don't perform the search
}
+1両方の答えを組み合わせる。 – Loktar
あなたはバックエンドにPHPでそれをprocecssingしている場合は、あなただけのtrim($input)
を使用していますが、より良いユーザーのexperinceのためにすることができますJavaScriptを使用します。フォームバリデーターを設定して、空白以外のものがなければ送信しません。
<form onsubmit="return verify()">
<input id="foo" name="foo" />
<input type="submit" />c
</form>
<script type="text/javascript">
function verify() {
if (document.getElementById("foo").value.match(/[^\s]/) == null) {
alert('only whitespace');
return false;
} else {
alert('found substance');
return true;
}
}
</script>
- 1. PostgreSQL全文検索パーサがシンボルをスペースに書き換えるのを防ぐには?
- 2. 親ディレクトリのモジュールを検索するのを防ぐ(...)
- 3. ブートストラップラベルがスペースを奪ってシフトするのを防ぐ方法
- 4. 検索私のデータベースにはMySQLの
- 5. MySQLデータベースを検索するPHPスクリプト
- 6. mysqlデータベースでコードを検索する
- 7. EFがデータベースを作成するのを防ぐ方法は?
- 8. mySQLデータベースのフレーズの検索
- 9. 重複する変数を防ぐためにSQLデータベースを検索する方法
- 10. デフォルト値がMySQLデータベースに送信される行を防ぐ方法
- 11. トランザクション中にデータベースのSELECTを防ぐ
- 12. mySQL:データベース内の複数のテーブルを検索するには?
- 13. mysqlデータベースで複数の列を検索するには?
- 14. 破損したデータベースを防ぐ方法 - MySQL
- 15. PHPフォーム検索MySQLデータベース
- 16. mysqlデータベース内の複数のMySqlテーブルを検索するPHP
- 17. MySQLデータベース全体で文字列を検索するには?
- 18. SQLite3 - データベースに重複したエントリが入るのを防ぐ
- 19. 完了した検索に基づいてmysqlデータベースを検索する
- 20. HTMLコードの改行による出力のスペースを防ぐには?
- 21. 検索エンジンの結果をMysqlデータベースに保存する
- 22. どのようにmysqlに重複レコードを防ぐには?
- 23. がデータベースに入力同じデータにユーザーを防ぐため、ユーザーを防ぐために(アンドロイド)
- 24. MySQLデータベースに保存されているJSONを検索する
- 25. VueJS:検証時のエラーを防ぐ
- 26. 表示する前にスペースを占有することを防ぐ
- 27. MySQLデータベース検索PHPの問題
- 28. Google検索APIからMySQLデータベースにデータを挿入する
- 29. '、スペースと - を除く特殊文字を防ぐ正規表現を検索するが、開始時にそれらを許可しない
- 30. MySQLの攻撃 - それを防ぐには?
ストリップ空白? – Nobody
いくつかのコードを表示する - あなたがこのあいまいなときは、誰も助けてくれません。 – Randy
何ですか?私のクリスタルボールは現在修理のために店に入っています。 – Cyclone