PDA

View Full Version : سوال: امنیت mysqli



trasilver
شنبه 14 دی 1392, 21:55 عصر
با سلام.

ایا mysqli قابل هک شدن هست؟ حملاتی از قبیل sql inject و ...

با تشکر.

metal gear solid 4
شنبه 14 دی 1392, 23:00 عصر
در صورتی که از اختصاص پارامترها استفاده میکنید. prepared statement ها. امکان هک شدن شما توسط SQL Injection ها تقریبا به صفر میرسه. در واقع prepared statement همون کار mysql_real_escape_string رو انجام میده.

trasilver
شنبه 14 دی 1392, 23:31 عصر
در کل امنیتش نسبت به mysql چجور هست؟ ارزشش رو داره یدونه پروژه رو از mysql به mysqli تغییر بدم؟

metal gear solid 4
شنبه 14 دی 1392, 23:40 عصر
تغییر یک پروژه ای MySQL به MySQLi به طبع حرکت خوبیه. چون MySQLi سرعت بهتری هم داره. پیشنهاد میکنم تغییرات رو انجام بدید.
PHP 5.5 به بعد دیگه توابعی که با mysql_ شروع بشند رو ساپورت نمیکنه.
در صورتی که از prepared statement ها استفاده نکنید. تغییر از mysql به mysqli کمتر از 10 دقیقه طول میکشه. البته اگه تمامی درخواست هاتون به بانک اطلاعاتی؛ به یک تابع یا کلاس ارسال میشند که با تغییر توابع اون کلاس در کمتر از 10 دقیقه این کار صورت میگیره.

trasilver
یک شنبه 15 دی 1392, 00:07 صبح
من یک بار تغییرات رو ایجاد کردم برای mysqli_fetch_assoc و array ارور میداد! نمونه کد:

$q = "SELECT * FROM test WHERE `id` = 1";
$result = mysqli_query($q);
$row = mysqli_fetch_assoc($result);

saeidpsl
یک شنبه 15 دی 1392, 00:25 صبح
نه mysql و نه mysqli فقط (PDO)


http://cdn.tutsplus.com/net/uploads/legacy/2013_phpvsmysqli/tutorial_3.png

http://www.vhghorecha.in/wp-content/uploads/2013/11/PDO_Main.png

trasilver
یک شنبه 15 دی 1392, 11:50 صبح
خوب ما 12 تا دیتابیس می خوایم چی کار؟ :گیج:
ما فقط می خوایم از mysql استفاده بکنیم :متفکر:

nemo php
یک شنبه 15 دی 1392, 12:01 عصر
خوب ما 12 تا دیتابیس می خوایم چی کار؟ :گیج:
ما فقط می خوایم از mysql استفاده بکنیم :متفکر:




دریک پروژه ای از شما میخوان بانک تونو تغییر بدید به یک بانک دیگه(mysql to oracle ) شما با pdo این کاررو بهتر وسریتر انجام میدید.
درضمن امنیتشم بالاتره و
کار باهاش راحت تره.
سردگمی در کد های mysqlرو ندارید.

a_mzadeh
یک شنبه 15 دی 1392, 12:16 عصر
پیشنهاد من هم PDO هست، امنیت PDO بالاتره.

a_mzadeh
یک شنبه 15 دی 1392, 12:18 عصر
من یه پیشهاد دیگه هم برای شما دارم، اگر شما یه کلاس برای ارتباط با دیتابیس بنویسی و همه جا از کلاس خودت استفاده کنی، خیلی راحت می‌تونی مدل اتصال به دیتابیس رو تغییر بدی. فقط کافی هست توابع کلاس خودت رو منطبق با نیاز جدید تغییر بدی.

موفق باشی

Unique
یک شنبه 15 دی 1392, 22:39 عصر
parametrized query ها هم توی Mysqli و هم pdo پشتیبانی میشوند ! pdo براحتی با خیلی از DBMS ها میتونه کار کنه ! اما برای mysql قطعا mysqli سرعت و انعطاف بیشتری داره ! این حرف های این از اون بهتره و این حرفا هم بگذارین کنار. باید دید پروژه چی هست و چقدر نیاز به اعمال تغییرات و خیلی پارامتر های دیگه داره ...

trasilver
یک شنبه 15 دی 1392, 23:21 عصر
تشکر بابت نظرات کل دوستان.
پروژه ی بسیار بزرگی هست و تغییر mysql به pdo حدودا بیش از چندین روز وقت لازمش هست که از حوصله خارج هست! فکر کنم از همون mysqli استفاده بکنیم بهتر هست.
ممنون بابت راهنمایی های دوستان.