跨站点脚本(XSS)是Web应用程序中常见的一种计算机安全漏洞,它使恶意攻击者能够将客户端脚本注入其他用户查看的网页中.攻击者可以使用利用漏洞利用的跨站点脚本漏洞来绕过访问控制,例如相同的源策略.截至2007年,赛门铁克在网站上执行的跨站点脚本大约占所有安全漏洞的80%.
好吧,这是否意味着黑客制作了一些恶意的JS/VBscript并在访问一个没有转换输入的合法网站时将其传递给毫无戒心的受害者?
我的意思是,我知道SQL注入是如何完成的....
我特别不明白JS/VBscript如何造成如此大的破坏!我认为它们只能在浏览器中运行,但显然损坏的范围从键盘记录到cookie窃取和特洛伊木马.
我对XSS的理解是否正确?如果没有,有人可以澄清吗?
如何防止XSS在我的网站上发生?这似乎很重要; 80%的安全漏洞意味着它是危害计算机的极为常见的方法.
我正在使用JSF 1.2
我正在尝试使用打印文本 <h:outputtext>
<h:outputText id="warningDose" styleClass="redText" value="#{templatePrescriptionMaintenanceBackingBean.doseWarningText}"></h:outputText>
Run Code Online (Sandbox Code Playgroud)
现在这个变量包含带有html标签的文本.<b>,<i>等...
但它显示内容,而不是实际的粗体或斜体html输出.
我们有什么方法可以做到这一点<h:outputText>,它给出了html响应?
我们怎样才能使句子中的某些单词出现在BOLD中
例如 - 我试图将一个句子中的一个单词用BOLD表示
句子是"请选择金额"
金额应该是BOLD,现在,当我使用时
message = "please select the <b>amount </b>"
Run Code Online (Sandbox Code Playgroud)
这不起作用.它只是表明
please select the <b>amount </b>.
Run Code Online (Sandbox Code Playgroud)
我怎样才能让它发挥作用?
我正在使用h:outputText我的JSF页面中的标记中的资源包属性文件中定义的属性.是否可以在属性文件字符串中包含HTML,以便我可以在页面上显示图像?我无法直接在页面中执行此操作的原因是,这必须是运营团队的可配置选项.
从dbms我得到的东西像<font color="red"> abc</font>.当它到达${someManagedBean.someValue}我的xhtml文件时,输出被清理.对于99,999%的案例来说,这是非常好的.
问题:有没有办法禁用此自动转义?
奖金问题:我可以只允许html并禁止使用javascript吗?
大家早上好.
是否有任何jsf控件可以转义html标签?
想象一下,我在资源中有以下字符串:
text.String=lalala<br/>lelele
Run Code Online (Sandbox Code Playgroud)
我想用简单的控件在Xhtml文件上打印它,如:
<h:outputText value="#{messages['text.String']}" />
Run Code Online (Sandbox Code Playgroud)
如何获得使用html <br/>标签格式化的结果?结果应该是:
lalala
lelele
Run Code Online (Sandbox Code Playgroud)
代替:
lalala<br/>lelele
谢谢
我试图将换行标记
插入到某些文本中并将其显示在网页上.<和>符号正被翻译成<和>,并且标签在网页上显示为文本.
当我从数据库中选择它时,文本看起来像这样(我将它输出到SYSOUT):
version 12.4
service timestamps debug datetime
service timestamps log datetime
service password-encryption
Run Code Online (Sandbox Code Playgroud)
然后我通过这个小过滤器运行它:
public DevConfigs getDevConfig() {
String config = devConfig.getConfig();
Pattern pattern = Pattern.compile(".$", Pattern.MULTILINE | Pattern.DOTALL);
Matcher matcher = pattern.matcher(config);
String newConfig = matcher.replaceAll("<br />");
devConfig.setConfig(newConfig);
return this.devConfig;
}
Run Code Online (Sandbox Code Playgroud)
这是网页(它是使用facelets的Seam应用程序):
<rich:tab label="Config">
hello<br />
there<br />
#{devConfig.config}
</rich:tab>
Run Code Online (Sandbox Code Playgroud)
页面源代码如下:
hello<br />
there<br />
<br />
<br />
version 12.<br />
service timestamps debug datetim<br />
service timestamps log datetim<br />
service …Run Code Online (Sandbox Code Playgroud) 我在一列中有html代码.将html代码加载到一个bean.我的问题是如何使用jsf标签显示这个HTML代码.
我有一个动态查询数据库以在页面上显示数据的网页,类似于Toad等数据库工具(当然不是关闭:),仅用于说明的示例).
问题是在页面上显示时数据被修剪.这是我使用JSF显示数据的方式
<h:outputText value="#{record[columnIndex].toDisplayString()}" />
Run Code Online (Sandbox Code Playgroud)
我相信这是关于HTML渲染.我该怎么办?写一个HTML编码器?怎么样?帮助将受到高度赞赏.
是否有任何JSF实用工具包或PrimeFaces/OmniFaces等库中可用的HTML清理程序或清理方法?
我需要通过p:编辑器清理用户的HTML输入,并使用escape="true"stackexchange样式显示安全的HTML输出.在显示HTML之前,我正在考虑将已清理的输入数据存储到数据库中,以便它可以安全使用,escape="true"并且XSS不是危险的.
我正在尝试开发这样的东西:
在经过管理的bean中,存在以有效HTML方式编写的String属性,即:
字符串脚本=“ alert(\” hello !!!!! \“);”;
字符串div =“你好!”
这些字段的目的是将html组件动态地放置到.xhtml文件中。但是,如果正常访问这些字段,似乎它们只是作为文本添加到页面中。无论如何,我能实现这些吗?
另外,由于这些字段的实际内容可能非常复杂,并且设计是动态的,因此不能选择仅将组件放在.xhtml中。
jsf ×11
java ×3
xss ×3
javascript ×2
csrf ×1
facelets ×1
html ×1
html-escape ×1
jsp ×1
omnifaces ×1
owasp ×1
primefaces ×1
properties ×1
regex ×1
tags ×1
whitespace ×1
xhtml ×1