在我的codeigniter配置中,我有$config['global_xss_filtering'] = TRUE;.在我的管理部分,我有一个生成前端内容的ckeditor.
键入并放置在编辑器中的所有内容都能正常工作,图像显示效果很好,html正常工作.除闪光外全部.每当我切换到html模式并粘贴youtube代码片段时,它都会被转义,代码在首页上可见,而不是显示youtube电影.
如果我设置$config['global_xss_filtering'] = FALSE;youtube代码就像它应该传递.这是因为'对象','嵌入'等被CI标记为"顽皮"并因此被逃脱.
如何绕过这个控制器方法的xss过滤?
我在通过Codeigniter中的电子邮件类发送的电子邮件中遇到问题,在电子邮件中显示源HTML代码而不是呈现的HTML视图.为了进行测试,我目前在Windows上使用XAMPP上的CI,并使用Gmail SMTP发送到同一个Gmail地址.
发送电子邮件的功能如下:
$config = Array(
'protocol' => 'smtp',
'smtp_host' => 'ssl://smtp.googlemail.com',
'smtp_port' => 465,
'smtp_user' => 'myaccountname@gmail.com',
'smtp_pass' => 'mygmailpassword',
);
$this->load->library('email', $config);
$this->email->from($this->config->item('webmaster_email', 'tank_auth'), $this->config->item('website_name', 'tank_auth'));
$this->email->reply_to($this->config->item('webmaster_email', 'tank_auth'), $this->config->item('website_name', 'tank_auth'));
$this->email->to($email);
$this->email->subject(sprintf($this->lang->line('auth_subject_'.$type), $this->config->item('website_name', 'tank_auth')));
$this->email->message($this->load->view('email/'.$type.'-html', $data, TRUE));
$this->email->set_alt_message($this->load->view('email/'.$type.'-txt', $data, TRUE));
$this->email->set_newline("\r\n"); // require this, otherwise sending via gmail times out
$this->email->send();
Run Code Online (Sandbox Code Playgroud)
获取文本版本没有问题.加载的视图是一个将通过电子邮件发送出去的html文件.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><title>Welcome to <?php echo $site_name; ?>!</title></head>
<body>
<div style="max-width: 800px; margin: 0; padding: 30px 0;">
<table width="80%" …Run Code Online (Sandbox Code Playgroud) 我在使用 codeignitor 电子邮件类在 codeignitor 中发送带有附件的 html 邮件时遇到问题,邮件显示 html 代码而不是 html 视图。
我在下面的配置中将邮件类型设置为 html 是我的代码
$message="<p>test</p>";
$mail_to = "email@gmail.com";
$from_mail = $useremail;
$from_name = $userfname;
$reply_to = $useremail;
$subject = "Abstract Details";
$file_name = $datamail['varafile'];
$path = realpath('uploads/abstract');
// Read the file content
$file = $path.'/'.$file_name;
$config = array (
'protocol' =>'sendmail',
'mailtype' => 'html',
'charset' => 'utf-8',
'priority' => '1'
);
$this->load->library('email',$config);
$this->email->set_newline("\r\n");
$this->email->from($from_mail,$from_name);
$this->email->to($mail_to);
$this->email->subject($subject);
$this->email->message($message);
$this->email->attach($file);
if($this->email->send()){
echo "Mail send successfully";
}else{
echo "Error in sending mail";
}
Run Code Online (Sandbox Code Playgroud)