[英]Disable JavaScript embedded in PDF in browser (XSS attack)
我们正在尝试使用 ExtJs 在 iframe 中加载 PDF。 PDF 嵌入了 JavaScript。 当它在浏览器中加载时,正在显示警报,并且在渗透测试中被认为是JS注入。
有什么帮助可以避免从 PDF 执行 JS 吗?
编辑 1
尝试使用沙盒, html 嵌入元素。
在 Chrome 和 Internet Explorer 中查看时,沙盒不会显示整个 PDF。
下面是代码
onResearchGridPanelDBItemClick: function(dataview, record, item, index, e, eOpts) {
var pdf = record.get('path');
var title = Encoder.htmlDecode(record.get('title'));
var pdfPanel = null;
var pdfTab = null;
var p = Ext.getCmp('ResearchPanel');
if(p){
pdfPanel = p;
}else{
pdfPanel = Ext.create('sample',{
modal: true,
border:false,
resizable: false
});
}
console.log("RESEARCHCLICK: "+pdf+" launched by "+username);
pdfPanel.show();
if(pdfPanel.getEl()){
pdfPanel.body.update('<b>'+title+'</b>'+ '<br><br>' + '<iframe style="height: 100%; width:100%; border: none" src="'+contextPath+'/resources/research/'+pdf+'"></iframe>');
}
},
也许您应该使用embed
而不是iframe
,例如:
onResearchGridPanelDBItemClick: function(dataview, record, item, index, e, eOpts) {
var pdf = record.get('path');
var title = Encoder.htmlDecode(record.get('title'));
var pdfPanel = null;
var pdfTab = null;
var p = Ext.getCmp('ResearchPanel');
if(p){
pdfPanel = p;
}else{
pdfPanel = Ext.create('sample',{
modal: true,
border:false,
resizable: false
});
}
console.log("RESEARCHCLICK: "+pdf+" launched by "+username);
pdfPanel.show();
if(pdfPanel.getEl()){
pdfPanel.body.update('<b>'+title+'</b>'+ '<br><br>' + '<embed type="application/pdf" height="100%" width="100%" src="'+contextPath+'/resources/research/'+pdf+'">');
}
},
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.