SQL の条件フィールドとテーブル フィールド名が同じであるため、完全なテーブル クエリが実行されます。

WBOY
リリース: 2016-08-18 09:15:29
オリジナル
1453 人が閲覧しました

皆さんこんにちは、私は初心者です。実際に次のような文を見つけました。 リーリー

$sid はフロントエンドから渡される値、seller_item_classify は指標、sid はテーブル内のフィールド名です。

$sid によって渡される値がたまたま 'sid' である場合、SQL where は無効になり、完全なテーブル クエリ;

実稼働環境では、$sid の値が数値または文字である可能性があるため、PHP でフロントエンド入力値をフィルターする必要がありますか?

この問題についてどう思いますか?

返信内容:

皆さんこんにちは、私は初心者です。実際に次のような文を見つけました。 リーリー

$sid はフロントエンドから渡される値、seller_item_classify は指標、sid はテーブル内のフィールド名です。

$sid によって渡される値がたまたま 'sid' である場合、SQL where は無効になり、完全なテーブル クエリ;


実稼働環境では、$sid の値が数値または文字である可能性があるため、PHP でフロントエンド入力値をフィルターする必要がありますか?

この問題についてどう思いますか?

リーリー

フロントエンドの入力値の場合、バックエンドをフィルタリングする必要があり、SQL 前処理を使用することをお勧めします。

すべてのSQL条件値に''を追加します

リーリー

効果ありますか?

as 别名

一重引用符を追加すると解決されます

'SELECT * FROM seller_item_classify where sid='.$sid.' cweight asc で注文 ;'

PDO 前処理を使用する


リーリー

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!