是否有一个catchall函数适用于清理SQL注入和XSS攻击的用户输入,同时仍允许某些类型的html标记?
如何仅使用HTML和PHP来阻止XSS(跨站点脚本)?
我已经看过很多关于这个主题的帖子,但我还没有找到一篇清晰简明地说明如何实际防止XSS的文章.
所以我现在一直在玩telnet来获取有趣的telnet(即只需键入telnet google.com 80
并输入随机GET和带有不同标题的POST等)但我遇到了google.com在其标题中传输的内容不知道.
我一直在浏览http://www.w3.org/Protocols/rfc2616/rfc2616.html,并且没有找到谷歌似乎正在喷出的特定http-header的定义:
GET / HTTP/1.1
HTTP/1.1 200 OK
Date: Wed, 01 Feb 2012 03:42:24 GMT
Expires: -1
Cache-Control: private, max-age=0
Content-Type: text/html; charset=ISO-8859-1
Set-Cookie: PREF=ID=6ddbc0a0342e7e63:FF=0:TM=1328067744:LM=1328067744:S=4d4farvCGl5Ww0C3; expires=Fri, 31-Jan-2014 03:42:24 GMT; path=/; domain=.google.com
Set-Cookie: NID=56=PgRwCKa8EltKnHS5clbFuhwyWsd3cPXiV1-iXzgyKsiy5RKXEKbg89gWWpjzYZjLPWTKrCWhOUhdInOlYU56LOb2W7XpC7uBnKAjMbxQSBw1UIprzw2BFK5dnaY7PRji; expires=Thu, 02-Aug-2012 03:42:24 GMT; path=/; domain=.google.com; HttpOnly
P3P: CP="This is not a P3P policy! See http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657 for more info."
Server: gws
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Transfer-Encoding: chunked
1000
Run Code Online (Sandbox Code Playgroud)
谁知道是什么X-XSS-Protection
?
今天早些时候,有人询问有关网络应用中输入验证策略的问题.
在撰写本文时,最重要的答案建议PHP
只使用htmlspecialchars
和mysql_real_escape_string
.
我的问题是:这总是足够的吗?还有更多我们应该知道的吗?这些功能在哪里崩溃?
我如何设置的Cookie在我PHP apps
的HttpOnly cookies
?
我想在我的Angular 2应用程序中的组件模板中设置DIV的背景图像.但是我在我的控制台中不断收到以下警告,但是我没有达到预期的效果......我不确定动态CSS背景图像是否因为Angular2中的安全限制或者我的HTML模板被破坏而被阻止.
这是我在控制台中看到的警告(我已将我的img网址更改为/img/path/is/correct.png
:
警告:清理不安全的样式值url(SafeValue必须使用[property] = binding:/img/path/is/correct.png(请参阅http://g.co/ng/security#xss))(请参阅http:// g.co/ng/security#xss).
问题是我使用DomSanitizationService
Angular2中的方法清理注入模板的内容.这是我在模板中的HTML:
<div>
<div>
<div class="header"
*ngIf="image"
[style.background-image]="'url(' + image + ')'">
</div>
<div class="zone">
<div>
<div>
<h1 [innerHTML]="header"></h1>
</div>
<div class="zone__content">
<p
*ngFor="let contentSegment of content"
[innerHTML]="contentSegment"></p>
</div>
</div>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
这是组件......
Import {
DomSanitizationService,
SafeHtml,
SafeUrl,
SafeStyle
} from '@angular/platform-browser';
@Component({
selector: 'example',
templateUrl: 'src/content/example.component.html'
})
export class CardComponent implements OnChanges {
public header:SafeHtml;
public content:SafeHtml[];
public image:SafeStyle;
public isActive:boolean;
public isExtended:boolean;
constructor(private …
Run Code Online (Sandbox Code Playgroud) 看起来像window.postMessage的目的是允许在不同域上托管的窗口/框架之间进行安全通信,但实际上它似乎并不允许在Chrome中使用.
这是场景:
src
域B *)<iframe>绝对是在域B的上下文中,我已经确认<iframe>中的嵌入式javascript正确执行并postMessage
使用正确的值进行调用.
我在Chrome中收到此错误消息:
无法发布消息到一个.收件人有产地乙.
这是在A页面上注册消息事件监听器的代码:
window.addEventListener(
"message",
function (event) {
// Do something
},
false);
Run Code Online (Sandbox Code Playgroud)
我也尝试过调用window.postMessage(some_data, '*')
,但所有这一切都是为了抑制错误.
我只是忽略了这一点,是window.postMessage(...)不是为了这个吗?或者我只是做得非常糟糕?
*Mime-type text/html,它必须保留.
阅读了Jeff关于保护你的Cookies的博客文章:HttpOnly.我想在我的Web应用程序中实现HttpOnly cookie.
你怎么告诉tomcat只使用http的会话?
我读了教程: http://drnicwilliams.com/2006/11/21/diy-widgets/由Nic博士为XSS Widgets提供.
我正在寻找一种将参数传递给脚本标签的方法.例如,要进行以下工作:
<script src="http://path/to/widget.js?param_a=1&param_b=3"></script>
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?
更新:两个有趣的链接:
我在React教程上阅读了这篇文章.这是什么意思?
反应是安全的.我们不生成HTML字符串,因此XSS保护是默认设置.
如果React是安全的,XSS攻击如何工作?这种安全性如何实现?
xss ×10
security ×5
php ×4
cookies ×2
httponly ×2
javascript ×2
angular ×1
html5 ×1
http ×1
http-headers ×1
java ×1
parameters ×1
reactjs ×1
script-tag ×1
typescript ×1
user-input ×1
widget ×1