- 怎么嵌入视频呢?
比如在youtube的一个视频,其提供的嵌入代码是
<iframe width="420" height="315" src="http://www.youtube.com/embed/CjaC8Pq9-V0" frameborder="0" allowfullscreen></iframe>
.在预览时是可以观看视频了,但是一提交,那些代码就失效了,变成普通文本了 .这套程序支持嵌入视频吗? 如果可以,该怎么改提供的嵌入代码使其支持?
- 关于@user .
mention user的时候,指向的地址是 http://www.XXX.com:3000/user/hahah (假设这里username为
hahah
),但是该地址打开无效,是因为我的nginx配置出错吗? 我好像用的是80端口
这里是nginx配置文件:
这里假设域名是xxx.com
server {
listen 0.0.0.0:80;
server_name www.xxx.com xxx.com;
access_log /home/david/xxx.com/logs/access.log;
error_log /home/david/xxx.com/logs/error.log;
root /home/david/xxx.com/public_html;
location / {
index index.html index.htm;
proxy_pass http://127.0.0.1:3000;
}
}
- 关于本地地址.如http://127.0.0.1 (可以这么称呼吗)
然后会指向 http://www.cnodejs.orghttp//127.0.0.1:3000
.真的很奇怪,我明明以及已经将config.js
有关cnodejs.org
的字眼就删除或者注释掉了 ! 这是什么原因呢?
@leizongmin 人家很害羞的!
问题一:
由于iframe属于高危标签,默认被屏蔽了。如果是你自己搭建的网站,而且认为应该开放使用该标签的话,可以按照以下方法修改:
编辑 libs/util.js文件,在开头的var xss = require('xss');
后面,增加以下代码来配置xss模块:
xss.whiteList['iframe'] = ['src', 'width', 'height', 'allowfullscreen', 'frameborder'];
关于xss模块的详细使用方法,参考这里:https://github.com/leizongmin/js-xss
如果想嵌入那个视频网站的视频,而且他们的代码不一,那岂不是要添加很多白名单?
@chendahui007 目前最简单有效的方法就是白名单过滤了。
@chendahui007 上面修改白名单的方法,你也可以直接在config.js中修改,不用修改源码:
// 在config.js中增加一下代码即可,因为xss模块的配置是全局的,在任意代码文件中执行以下修改其效果都一样
var xss = require('xss');
xss.whiteList['iframe'] = ['src', 'width', 'height', 'allowfullscreen', 'frameborder'];
@leizongmin 改了之后,预览还是可以看的,但是提交时提示Forbidden
问题三:已经发了一个pull request,详见 https://github.com/cnodejs/nodeclub/pull/96
@leizongmin 老雷给力啊
合并了。
@chendahui007 那是因为你重启了nodeclub进程,但是这个页面没有刷新就直接提交? 防csrf攻击模块作用的效果。
@leizongmin 好像添加两条规则就可以支持很多视频了 ,国外好像一般用iframe
,国内用embed
问题二, 请问知道是什么原因吗?