PDA

View Full Version : حرفه ای: یک سوال فنی در مورد mysqli_real_escape_string



abolfazl-z
پنج شنبه 24 مرداد 1392, 12:44 عصر
سلام دوستان :لبخندساده:

دوستان همانطور که میدانید تابع mysqli_real_escape_string پارامتر اولیش لینک ایجاد شده توسط mysqli_connect می باشد.

خوب اگر این ارتباط ، ارتباطی برای یک جدول یا یک دیتابیس دیگر باشه تاثیری بر روی escape دارد ؟

colors
پنج شنبه 24 مرداد 1392, 14:08 عصر
سلام دوستان :لبخندساده:

دوستان همانطور که میدانید تابع mysqli_real_escape_string پارامتر اولیش لینک ایجاد شده توسط mysqli_connect می باشد.

خوب اگر این ارتباط ، ارتباطی برای یک جدول یا یک دیتابیس دیگر باشه تاثیری بر روی escape دارد ؟

دوست عزیز هیچ ربطی به هم ندارند و هیچ مشکلی هم نیست!.
شما لینک اتصال رو بهش میدید نه لینک کوئری ها رو.

abolfazl-z
پنج شنبه 24 مرداد 1392, 15:25 عصر
مرسی colors
همچنین آیا دوباره اسکیپ کردن مشکلی بوجود میاره ؟

colors
پنج شنبه 24 مرداد 1392, 17:35 عصر
مرسی colors
همچنین آیا دوباره اسکیپ کردن مشکلی بوجود میاره ؟

نه مشکلی نداره

MMSHFE
شنبه 26 مرداد 1392, 08:50 صبح
دوستان لطفاً تا وقتی که مطمئن نیستین، راهنمایی نکنید. اینکه پارامتر دوم رو اشتباه بدیم، بعضی جاها ممکنه مشکل ایجاد کنه. مثلاً اگه روی یک اتصال، mysql_set_charset رو صدا زده باشیم و کدگذاری utf8 رو انتخاب کرده باشیم و روی یک اتصال دیگه، اینکار رو نکرده باشیم، اگه پارامتر دوم رو لینک اتصال دوم بگذاریم، حروف فارسی موقع Escapeکردن حذف میشن ولی در اتصال اول چنین مسئله ای وجود نداره.
ضمناً دوبار Escapeکردن هم مشکل ایجاد میکنه. برای مثال، با یکبار Escape ممکنه - به -\ و با دوبار Escape کردن به -\\\ تبدیل بشه. یعنی کارکترهای - و \ هرکدوم جداگانه دوباره Escape میشن. موفق باشید.

colors
شنبه 26 مرداد 1392, 09:20 صبح
دوستان لطفاً تا وقتی که مطمئن نیستین، راهنمایی نکنید. اولاً پارامتر دوم، لینک اتصال هست نه پارامتر اول

جناب شهرکی شما که مطمئن هستید چرا راهنمایی اشتباه میکنید! PHP Manual (http://php.net/manual/en/mysqli.real-escape-string.php)


string mysqli_real_escape_string ( mysqli $link , string $escapestr )


اما برای escape کردن بله من اشتباه کردم و از دوستمون عذر خواهی میکنم.

MMSHFE
شنبه 26 مرداد 1392, 09:27 صبح
عذر میخوام من فکر کردم mysql_real_escape_string هست. منظورم هم از راهنمایی اشتباه، درمورد عدم تعیین اتصال موردنظر و همچنین بحث Escapeکردن مجدد بود. پست مربوطه رو اصلاح کردم. موفق باشید.

abolfazl-z
شنبه 26 مرداد 1392, 09:57 صبح
دست دوستان درد نکنه.:لبخندساده:
دوستان انسان جایزالخطاست.

یک سوالی دیگر از کجا بفهمیم که داده های مان اسکیپ شده یا نشده ؟

abolfazl-z
شنبه 26 مرداد 1392, 10:00 صبح
حروف فارسی موقع Escapeکردن حذف میشن ولی در اتصال اول چنین مسئله ای وجود نداره.
نه در این مورد هیچ مشکلی نیست چون من از یک کلاس و همه جا از یک ارتباط استفاده می کنم.

colors
شنبه 26 مرداد 1392, 11:47 صبح
دست دوستان درد نکنه.:لبخندساده:
دوستان انسان جایزالخطاست.

یک سوالی دیگر از کجا بفهمیم که داده های مان اسکیپ شده یا نشده ؟

فکر نکنم شما بتونید بفهمید اسکیپ شده یا نه. باید از صحت کارکرد برنامه تون اطمینان داشته باشید

abolfazl-z
شنبه 26 مرداد 1392, 16:39 عصر
فکر نکنم شما بتونید بفهمید اسکیپ شده یا نه. باید از صحت کارکرد برنامه تون اطمینان داشته باشید
همین من رو میترسونه !
وقتی من میام پوشه wp-config.php رو اینکلود میکنم ولی تمامی ورودی ها به صفحه ($_POST,$_GET,$_COOKIE,$GLOBALS) همه همه اسکیپ میشه بصورت خودکار.
خوب حالا من میگم ممکن هست که وردپرس بعدا بیاد این امکان رو از اوجا برداره ؟ و یا توسط افزونه ای فیلتر بشه ؟

abolfazl-z
یک شنبه 27 مرداد 1392, 11:16 صبح
ضمناً دوبار Escapeکردن هم مشکل ایجاد میکنه. برای مثال، با یکبار Escape ممکنه - به -\ و با دوبار Escape کردن به -\\\ تبدیل بشه. یعنی کارکترهای - و \ هرکدوم جداگانه دوباره Escape میشن. موفق باشید.
آقای شهرکی فکر نکنم از لحاظ امنیتی مشکلی بوجود بیاید !؟ و فقط حجم داده کمی زیاد تر می شود.

http://stackoverflow.com/questions/4171318/is-double-escaping-a-string-wrong

راستی نظرتون درمورد سوال بنده چی هست ؟

همین من رو میترسونه !
وقتی من میام پوشه wp-config.php رو اینکلود میک ...

MMSHFE
یک شنبه 27 مرداد 1392, 12:47 عصر
ازنظر امنیتی خیر ولی ازنظر نمایش داده و حجم داده ها قطعاً فرق میکنه. برای مثال، نمایش داده ای که توی دیتابیس بصورت -\ ذخیره شده، با داده ای که بصورت -\\\ ذخیره شده، فرق میکنه (اگه بخواین توی صفحه نشون بدین).