UEditor如何防止xss注入
现在的富文本编辑器,都有xss注入漏洞,想请教一下,如何防止xss注入?markdown编辑器先不考虑服务器端清除xss攻击string htmlentities ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = "UTF-8" [, bool $double_encode = true ]]] )例子:<?php $str = "A 'quote' is <b>bold</b>" ; // Outputs: A 'quote' is <b>bold</b> echo htmlentities ( $str ); // Outputs: A 'quote' is <b>bold</b> echo htmlentities ( $str , ENT_QUOTES ); ?><?php $str = "\x8F!!!" ; // Outputs an empty string echo htm
linux增加路由地址
ECS 无法内网连接到 100.64.0.0/10 网段的 RDS问题现象: 通过ECS无法内网访问RDS。ECS内网地址已经加入RDS白名单, 通过公网可以访问RDS。 但是通过内网无法访问。 内网DNS可以解析到RDS的IP地址。问题原因:RDS的内网地址增加了100.64.0.0/10网段的地址。用户可以ping下RDS的内网地址得到对应的IP,如下图所示。检查ECS是否有100.64.0.0/10的路由表信息。如下图中的红框内的路由记录。如果缺少该条路由记录将会导致ECS无法通过内网正常访问100.64.0.0/10网段的RDS。解决方法:如果ECS没100.64.0.0/10路由记录,可以采用下面的方法进行修改:Linux 相关系统添加方法参考:注:下文的gateway_ip请根据实际情况替换1)查看内网网关GATEWAY IP cat /etc/sysconfig/network-scripts/route-eth0 下面的gateway_ip需要替换成上面查询得到的网关地址2)手动添加静态路由规则,实时生效: ip route add 100.64.0
安装package control
sublime安装package controlimport urllib.request,os,hashlib; h = 'df21e130d211cfc94d9b0905775a7c0f' + '1e3d39e33b79698005270310898eea76'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), pleas
Ueditor代码高亮的设置方法
使用uparse的方式<script type="text/javascript" charset="utf-8" src="/ueditor.parse.min.js"> </script>uParse(".panel-body.detail", { rootPath:'/path', //第三方高亮插件的位置 chartContainerHeight:500});使用SyntaxHighlighter.highlight();或SyntaxHighlighter.all();<link href="/Contents/ueditor/third-party/SyntaxHighlighter/shCoreDefault.css" rel="stylesheet" type="text/css" /><script src="/Contents/ueditor/third-party/SyntaxHighlighter/shCore.js" type="text/javascript"></script>代码高亮后设置自动换行.syntaxhighlighter{ width
php下载文件
php下载文件$filename = basename($sourceFile); //获取文件名字 $outFile_extension = strtolower(substr(strrchr($outFile, "."), 1)); //获取文件扩展名 //根据扩展名 指出输出浏览器格式 switch ($outFile_extension) { case "exe" : $ctype = "application/octet-stream"; break; case "zip" : $ctype = "application/zip"; break; case "mp3" : $ctype = "audio/mpeg"; break; case "mpg" : $ctype = "video/mpeg"; break; case "avi" : $ctype = "video/x-msvideo";
删除某个文件夹所有的.svn文件及文件夹
删除某个文件夹所有的.svn文件及文件夹<?php function delsvn($dir) { $dh=opendir($dir); //找出所有".svn“ 的文件夹: while ($file=readdir($dh)) { if($file!="." && $file!="..") { $fullpath=$dir."/".$file; if(is_dir($fullpath)) { if($file==".svn"){ delsvndir($fullpath); }else{ delsvn($fullpath); } } } } closedir($dh); } function delsvndir($svndir){ //先删除目录下的文件: $dh=opendir($svndir); while($file=readdir($dh))
Jetty的安装与配置
<?phpnamespace app\index\model;use think\db\Query;use think\Session;class Blog extends TableModel{ protected $_table = 'b_blog_content'; private $joinAccount = "b_account"; private $joinUser = 'b_user'; private $joinSource = 'b_source_blog'; private $oneModuleTable = 'b_one_module_type'; private $twoModuleTable = 'b_two_module_type'; private $threeModuleTable = 'b_three_module_type'; private $fourModuleTable = 'b_four_module_type'; private $click_count = 'b_blo
php删除文件夹及文件夹下所有文件
php删除文件夹及文件夹下所有文件,代码如下<? function deldir($dir) { //先删除目录下的文件: $dh=opendir($dir); while ($file=readdir($dh)) { if($file!="." && $file!="..") { $fullpath=$dir."/".$file; if(!is_dir($fullpath)) { unlink($fullpath); } else { deldir($fullpath); } } } closedir($dh); //删除当前文件夹: if(rmdir($dir)) { return true; } else { return false; } } ?>
JavaScript面向对象编程之构造函数的继承
这个系列的第一部分,主要介绍了如何"封装"数据和方法,以及如何从原型对象生成实例。 今天要介绍的是,对象之间的"继承"的五种方法。 比如,现在有一个"动物"对象的构造函数。 ``` function Animal(){ this.species = "动物"; } ``` 还有一个"猫"对象的构造函数。 ``` function Cat(name,color){ this.name = name; this.color = color; } ``` 怎样才能使"猫"继承"动物"呢? 一、 构造函数绑定 第一种方法也是最简单的方法,使用call或apply方法,将父对象的构造函数绑定在子对象上,即在子对象构造函数中加一行: ``` function Cat(name,color){ Animal.apply(this, arguments); this.name = name; this.color = color; } var cat1 = new Cat("大毛","黄色"); alert(cat1.species);
基于NodeJs的分页组件
代码如下,前端需引入bootstrap.css ``` class PageBar{ /** * 构造函数 * @param int pagenow 设置当前页码 * @param int pagesize 设置每页显示的条数 * @param int totalCount 设置总的条数 * @param int pagecount 设置每页显示的页码数 * @param String url 设置跳转的链接 */ constructor(pagenow, pagesize, totalCount, pagecount, url){ this.pagenow = pagenow || 1; this.pagesize = pagesize || 20; this.totalCount = totalCount || 1; this.pagecount = pagecount || 10; this.url = url || ""; } /** * 设置当前页码 * @param int p
JavaScript的面向对象编程之非构造函数的继承
这个系列的第一部分介绍了"封装",第二部分介绍了使用构造函数实现"继承"。 今天是最后一个部分,介绍不使用构造函数实现"继承"。 一、什么是"非构造函数"的继承? 比如,现在有一个对象,叫做"中国人"。 ``` var Chinese = { nation:'中国' }; ``` 还有一个对象,叫做"医生"。 ``` var Doctor ={ career:'医生' } ``` 请问怎样才能让"医生"去继承"中国人",也就是说,我怎样才能生成一个"中国医生"的对象? 这里要注意,这两个对象都是普通对象,不是构造函数,无法使用构造函数方法实现"继承"。 二、object()方法 json格式的发明人Douglas Crockford,提出了一个object()函数,可以做到这一点。 ``` function object(o) { function F() {} F.prototype = o; return new F(); } ``` 这个object()函数,其实只做一件事,就是把子对象的pr
NodeJs的服务管理之PM2
#### 一、简介 pm2是一个带有负载均衡功能的应用进程管理器,类似有Supervisor,forever。 #### 二、安装 Linux Binaries下载地址:https://nodejs.org/dist ``` cd oneinstack/srcwget https://nodejs.org/dist/v4.2.4/node-v4.2.4-linux-x64.tar.gztar xzf node-v4.2.4-linux-x64.tar.gzcp node-v4.2.4-linux-x64/bin/node /usr/local/bin/cp -R node-v4.2.4-linux-x64/lib/node_modules /usr/local/lib/ln -s /usr/local/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npmnpm install pm2@latest -g #安装最新版本pm2模块 ``` PS: 如果你的主机无法连接公网,先找到能连公网的主机安装上面的方法安装pm2,然后