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-1404, Jelsoft Enterprises Ltd.