2012-07-28 8 views
5

HTMLフォーム名にテーブルフィールド名と同じ名前を付けるのは悪い習慣と考えられますか?私はいくつかのダイナミックなSQLの挿入クエリを構築していますが、現在、いくつかのregexpを使用して関連データベースフィールドの名前を変更しています。フォームフィールドとデータベーステーブルフィールドの名前は同じですか?

+1

テーブルとフォームの両方で「firstname」を持つのが大変です。これらのフィールド名をフォームで丸めていない限り、名前は無関係です。あらゆる種類のSQLインジェクション攻撃に自分自身を開放します。 –

答えて

4

私はINSERTの質問をする機能を書いており、それはその事実によって異なります。変数名は$_POST、対応する列はINSERTです。

としてはOPのコメントで言った、それは問題ではありません、ほとんどの場合、あなたはまた、first_name,firstname,またはfirst.

を使用した場合に覚えておくことが戻って時間を節約できます、ユーザーがあることに注意してくださいデータベースの列名は表示されず、ソースを表示する場合にのみフォーム名が表示されます。したがって、心配することはあまりありません!

幸運を祈る!

0

これは、必要なコーディングを減らすのに役立つと思います。脆弱性のように見えますが、悪意のあるデータのユーザーからの値を確認することが最も重要です。私はあなたが使用しているDBフィールドがハッカーにあまり与えるものではないことを知ってから有害であるとは思わない。彼らはまだあなたのデータにアクセスするためにDBサーバーにハックする必要があります。

+1

これを詳しく説明するために、テーブルには 'id'フィールドがあり、ユーザには' password、 'salt、' name'カラムがあります。だから心配しないでください – David

0

名前は、攻撃者が私的な部分を推測することができないほど十分に読みやすく、「予測できない」(より良い言葉の欠如を伴います)必要があります。

フォーム名は実際には問題ありませんが、パスワードフィールドの名前はthe_users_passwordまたはpassphrase_for_accountとなります。

+0

'the_users_password'が' password'よりも安全である理由は何ですか? – David

+0

@David:攻撃者はそれを推測するのにもっと苦労するでしょう。彼はこれを遠くに持っているかのようにセキュリティはほとんどありませんが、テーブルのスキーマを手に入れることができるでしょう... –

+0

パスワード列にパスワードを平文で保存していないことをうまくいけば!私はあなたが言っていることを理解しています。 – David

関連する問題