Итак, у меня есть сценарий комментариев, написанный на Codeigniter, который использует PHP и Jquery.
Обычно пользователь пишет комментарий, а затем нажимает кнопку Отправить.Затем я использую AJAX для вызова сценария на стороне сервера, чтобы проверить, проверить и вставить комментарий.
В конце JQuery я экранирую, используя encodeURIComponent
$.ajax({
url : 'http://domain.com/ajax/post_comment',
type : 'post',
data : encodeURIComponent( $(this).val() ),
success : function(data){
//more code here
}
});
В конце PHP, как я уже сказал, я использую CodeIgniter, поэтому я экранирую комментарии, используя Bindingпредоставляемый CodeIgniter, как показано ниже
$sql = "INSERT INTO video_comments VALUES(NULL, ?);
$this->db->query($sql,array($comment));
Это работает очень хорошо, может выйти и вставить
!"£$%^&*()_+=-}{~@:?></.,#;][¬`|
Теперь проблема в том, что он не может вставить '
(одиночная кавычка) или \
(обратный слэш)?Я предполагаю, потому что это не ускользает от них должным образом?
Одна подсказка могла бы быть, что это действительно позволяет мне вставить \'
, который я полагаю, избегает единственной кавычки?Но я бы подумал, что связывание CodeIgniters по крайней мере позаботится об этом?
Есть идеи?