Bir giriş formu tırnak önce \ nasıl kaldırılır

4 Cevap php

Ben sitemde bir şey gönderebilir ve içinde alıntılar kullandığınızda Merhaba ben böyle bir şey olsun

\ "

Ne Bunu düzeltmek için benim kod için ne gerekiyor?

4 Cevap

Bu Magic Quotes bu davranışa neden oluyor muhtemelen. stripslashes disable them or remove them çalışın.

Bu çalışmak için bir karışıklık olduğunu PHP ayar magic_quotes_gpc kaynaklanmaktadır. Sen bölü götürmek stripslashes kullanabilirsiniz, ancak magic_quotes_gpc ayarı kapalı ise o kod çalışmaz. Böyle bir şey muhtemelen sizin için çözecektir:

<?php
$string = $_POST['msg'];
if(get_magic_quotes_gpc()) {
  $string = stripslashes($string);
}
?>

Yoksa (bu sunucu yapılandırmasını değiştiremezsiniz zaman süreleri için iyi, ve magic_quotes_gpc olmadan hem de çalışır) onları tamamen kaldırın:

<?php
if(get_magic_quotes_gpc()) {
  foreach(array('_POST', '_GET', '_COOKIE') as $gpc) {
    foreach($$gpc as $k => $v) {
      ${$gpc}[$k] = stripslashes($v);
    }
  }
}
?>

Onlara olmadan çıktı almak için stripslashes () kullanmanız gerekecektir. Bu konuda Standart burada

http://au.php.net/manual/en/function.stripslashes.php

Bu magic_quotes_gpc değerini () kullanarak Magic tırnak olup olmadığını kontrol ettiğinizden emin olun. Tüm değerleri stripslashes kullanın ve XSS hakkında bir şeyler okudum. stripslashes () tek başına yeterli güvenlik değildir.

Form değerleri çıktısı zaman, PDO, teklif () işlevi kullanırsanız, mysql_real_escape_string (), htmlspecialchars check out, onları düzgün biçimlendirmek için emin olun () veya.