データベーステーブルの構造を明らかにすることなく、Webページのフィールド名をどのように指定しますか?Webページのフォームフィールドの名前付け
答えて
HTMLに名前を付けて、データベースフィールド名とPHPコードのHTMLフィールド名を手動でマッピングします。
実際には、prepared statementsを使用して適切な認証とエラーチェックを行っている場合、人々がテーブルのフィールド名を知っているかどうかは関係ありません。
入力フィールドの名前を変更するだけで問題があると思われる場合は、その名前を変更することができます。いずれにしても、正しいSQLカラムにそれらをリンクする必要があります。
これは、あいまいさによるセキュリティです。
あなたのアプリケーションで(SQLインジェクションを避けるために)入力をどのように扱うかには注意が必要ですが、より合理的なアプローチのように聞こえます。
これが本当に問題になる場合は、field1、field2(またはf1、f2)というユーザーだけを対象にして、ラボブックのデータベースフィールドにマップします。しかし、HTMLコードからデータベース呼び出しを行っていない限り、フィールド名を持たないフォームを参照するだけで、データベース構造自体についてはほとんど把握できません。
私は通常、サニタイズ/処理の便宜のためにプレフィックスとサフィックスを追加します。例えば
、フィールドは単に文字を含まなければならない場合は、何もない、私はtx_field_name
という名前を付けます、フィルターのhtml、hf_field_name
または完全なHTML hx_field_name
を含めることができる場合は、そうでない場合は...フォームを取得しますスクリプトは知っていますプレフィックスのベースで値をサニタイズしてチェックする方法。 HTMLフィールドに許可されている
しかし、あなたの意味が明示的に、データベースの列の名前を隠すだけでなく、それをあなたが名前を与えた、foo
、bar
、またはランダムなサフィックスを追加、あるいは-
で_
を置き換えている場合(名前ではなく、データベースの列名で)
PS:私は、フォームを処理するために
$values = $_POST;
$n_val = count($values);
$i = 0;
foreach($values AS $key => $value){
$pairs .= " `$key` = '$value' ";
if($n_val > $i){
$pairs .= ', ';
}
}
thedbyouprefer_query("UPDATE table SET $pairs WHERE id = '42'");
のようなコードを使用しますが、PHP(..andビットでそれをマッピングあなたはがされていないことを願っています準備が整った駅は悪くない)
- 1. は、任意のWebページに複数のフォームフィールドにCSV値を貼り付け
- 2. Ruby/Railsアプリケーションでのフォームフィールドの名前付け/生成に問題がある
- 3. アプリケーションメインエンティティの名前付け
- 4. RESTfulパスの名前付け
- 5. ファイルの名前付け、Python
- 6. RESTサービスリソースの名前付け
- 7. Javaオブジェクトの名前付け
- 8. テンプレートの名前付け
- 9. PHPファイルの名前付け
- 10. サブプロセスの名前付け
- 11. Powershellの名前付けショートカット
- 12. 匿名ファイルポインタの名前付け
- 13. なぜWebでファイル名の名前が付けられるのですか
- 14. 名前を付けるガード
- 15. 同じ名前のBeanの名前付けグループ
- 16. Goでのコードの名前付け
- 17. ディレクトリの作成ファイルの名前付け
- 18. ハスケルのデータ型エイリアスの名前付け
- 19. 色付け/テーマの要素の名前
- 20. Rループ内のファイルの名前付け
- 21. SQLのジョインテーブルの名前付け
- 22. NS2のノードの名前付け
- 23. massive.jsの 'id'列の名前付け
- 24. フォルダの名前付けの問題
- 25. レデューサー出力のパーツファイルの名前付け
- 26. NumPy配列のフィールドの名前付け
- 27. GDBのブレークポイントの名前付け
- 28. zendでのモデルの名前付け
- 29. Netezzaの動的列の名前付け
- 30. URLの前にページ名をつける
はい、HTMLフォームです。 – giancarlo
かなり良い質問です。 =) –