PDA

View Full Version : prepared statement



bikran
جمعه 18 اسفند 1391, 11:53 صبح
سلام

چگونه prepared statement جلوي SQL Injection رو ميگيره ؟ آيا خودش به صورت توكار Parameter ها رو Escape ميكنه؟

linuxUser
جمعه 18 اسفند 1391, 16:03 عصر
سلام دوست عزیز
از اونجایی که با استفاده از prepared statement دیگه نیازی نیست شما از ' و یا " استفاده کنید و خودش به طور اتوماتیک Parameter ها رو Escape ميكنه sql injection نمی تونه اتفاق بیوفته.

Unique
شنبه 19 اسفند 1391, 01:46 صبح
البته دوستان اصلا بحث escape توی prepared statements معنی نداره ! در واقع اینها متغیر های شمار را به صورت parametrized یا مقداری میگیرند یعنی بودن ' یا " یا ; اصلا مهم نیست چون به عنوان مقدار شناخته میشوند نه یک بخشی از query !

bikran
شنبه 19 اسفند 1391, 08:30 صبح
البته دوستان اصلا بحث escape توی prepared statements معنی نداره ! در واقع اینها متغیر های شمار را به صورت parametrized یا مقداری میگیرند یعنی بودن ' یا " یا ; اصلا مهم نیست چون به عنوان مقدار شناخته میشوند نه یک بخشی از query !

یعنی Parameter ها فقط به عنوان یک مقدار در اون فیلد مورد نظر شناخته میشن بدون هیچ معنی خاص درون SQL؟

اگه اساتید پیرامون این موضوع اطلاعات بیشتری بدن میتونه خیلی مفید باشه . ممنون

Unique
شنبه 19 اسفند 1391, 15:44 عصر
یعنی Parameter ها فقط به عنوان یک مقدار در اون فیلد مورد نظر شناخته میشن بدون هیچ معنی خاص درون SQL؟
بله دقیقا ! هیچ دخالتی توی خود query ندارند ! و فقط مقدار هستند ! stored procedure ا هم هیمنطور هستند.