PDA

View Full Version : توضیح کد



samanelf
شنبه 25 خرداد 1392, 03:58 صبح
سلام از دوستان کسی هست این کد برام توضیح بده؟



strct = string.Format(strct, username.Replace("'", "''"), password.Replace("'", "''"));

gwbasic
شنبه 25 خرداد 1392, 07:31 صبح
ببینید در این خط کد از دو متد استفاده شده است یکی Replace که پارامتر دوم را جایگزین پارامتر اول می کند و دومی Format که پارامتر دوم به بعد را به ترتیبی که در پارامتر اول و توسط {0} {1} مشخص می شود جایگزین می کند.
در این جور موارد اگر با متدی آشنا نیستید کافیه همون متد رو در گوگل سرچ کنید به توضیحات لازم در سایت msdn و ... دست خواهید یافت. در نهایت اگر به نتیجه نرسیدید تاپیک بزنید و سوالتون رو به صورت کامل مطرح کنید مثلا کاربرد string.Replace یا string.Format چیست

موفق باشید

mousa1992
شنبه 25 خرداد 1392, 07:39 صبح
توی رشته کوئری شما که اینجا باید strct باشه اگه کاربر نام کاربری و پسورد رو کارکترهایی وارد کنه که شامل ' باشه، با ' ' جایگزین میشه در مورد Sql injection ها تحقیق کن

توی رشته strct باید {0} , {1} دیده باشی که نشان دهنده ی پارامترهایی است که رشته میتونه بگیره و جایگزین کنه ( از طریق متد format ) در اینجا مقدار username.Raplace به جای {0} میشینه و password هم به جای {1} - مثال زیر رو ببین:


string username="mousa'";
string pass="21145'dsaf'";

string str = "select from .... {0} , {1}";
label1.Text = string.Format(str, username.Replace("'", "''"), pass.Replace("'", "''"));


مقدار اولیه str :
"select from .... {0} , {1}"
نتیجه میشه :
select from .... mousa'' , 21145''dsaf''


موفق باشی