View Full Version : نمایش متن وارد شده با ادیتور
beh3000
چهارشنبه 17 اردیبهشت 1393, 13:10 عصر
سلام دوستان
من توی پروژه ام قسمتی دارم که کاربران پست ارسال میکنند ( با ادیتور ) یعنی رنگ متن تغییر میدن bold میکنن و غیره ... حالا وقتی که میام این ورودی رو میگیرم و از توابع sql injection عبور میدم و اسکیپ میکنم هنگام نمایش اون پست مشکل پیش میاد یعنی داخل پست اگه یه قسمتی باشه به این صورت
<font color="#ff0000">سلام خوبی ؟</font>
این کد رو تبدیل میکنه به این کد
<font color=\"#ff0000\">سلام خوبی ؟</font>
یعنی یک اسلش اضافه میکنه به color و هنگام نمایش رنگ قرمز نمایش داده نمیشه ... لطفا راهنمائیم کنید
uthman
چهارشنبه 17 اردیبهشت 1393, 13:45 عصر
سلام.
HttpUtility.HtmlDecode("Your Html String")
beh3000
چهارشنبه 17 اردیبهشت 1393, 17:24 عصر
این فک کنم مال asp.net باشه ها ؟!!! من تو php میخوام
foreach
چهارشنبه 17 اردیبهشت 1393, 17:34 عصر
اول اینکه بهتره موقع نمایش داده ها رو escape کنید
تابعی که نیاز دارید stripslashes
http://ir.php.net/stripslashes (http://au1.php.net/stripslashes)
<?php echo stripslashes('<font color=\"#ff0000\">سلام خوبی ؟</font>');?>
aalmair
چهارشنبه 17 اردیبهشت 1393, 17:44 عصر
این به php مربوطه و ربطی به mysql نداره که می توانی غیر فعالش کنی یا داده اصلی را بیرون بکشی
و وقتی php این کار رو می کنه که داده از خارج وارد سیستم شده باشه
@ini_set( 'magic_quotes_runtime', 0 );
@ini_set( 'magic_quotes_sybase', 0 );
function conditional_escape($str=''){
if (get_magic_quotes_gpc()){
return stripslashes($str);
}
return $str;
}
echo conditional_escape($_GET['input']);
beh3000
چهارشنبه 17 اردیبهشت 1393, 18:24 عصر
این به php مربوطه و ربطی به mysql نداره که می توانی غیر فعالش کنی یا داده اصلی را بیرون بکشی
و وقتی php این کار رو می کنه که داده از خارج وارد سیستم شده باشه
اصلا متوجه نشدم چی گفتی شرمنده ! کی حرفی از mysql زد !
foreach
چهارشنبه 17 اردیبهشت 1393, 18:45 عصر
اصلا متوجه نشدم چی گفتی شرمنده ! کی حرفی از mysql زد !
منظور ایشون اینه که در صورتی که magic_quotes_gpc فعال باشه داده هایی که در $_POST یا $_GET یا $_COOKIE باشند به صورت خودکار یک \ (backslash) قبل و بعد از ' یا " قرار میگیره
و در صورتی که بخواید داده هارو بدون \ (backslash) دریافت کنید باید از تابع stripslashes استفاده کنید و یا magic_quotes_gpc رو غیرفعال کنید
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.