我们最近从Angular切换到React + Flux来构建一个相当复杂的业务应用程序.
采用一个容器组件将所有状态作为属性传递给组件树的方法不是为我们开发应用程序的实用方法,因为应用程序使用大型页面模式.足够的状态确实传递给他们将模型加载到他们的商店的模态.
我遇到的问题是我需要将一些初始状态(作为道具传递下来)放入模态组件的商店中.在这篇文章中,Facebook上的好人说,当同步不是目标时,可以使用道具作为初始状态.
这就是我目前将初始状态输入我的商店的方式:
var ABC = React.createClass({
...
getInitialState: function() {
return ABCStore.getInitialABCState(this.props.initialA);
},
...
var ABCStore = Reflux.createStore({
...
init: function() {
_state = {
a: null,
b: 'B init',
c: 'C init'
};
},
getInitialABCState: function(initialA) {
_state.a = initialA;
return _state;
},
getABCState: function() {
return _state;
}
...
Run Code Online (Sandbox Code Playgroud)
我不确定这样做的最佳做法是什么,或者这是否是Flux反模式?
我正在寻找保护我的GWT应用程序免受XSRF攻击的可能解决方案.
如果我正确理解了GWT的解决方案 - 它提供了一个Servlet,您可以使用该Servlet在客户端生成令牌(在调用RPC端点时)并在服务器端验证(当呼叫到达您的服务时).
此解决方案是否仅适用于RPC调用?当然我们需要它来覆盖所有用户生成的服务器请求?
任何其他推荐的XSRF解决方案(我也在关注OWASP的CSRFGuard)?
我正在使用一个contenteditable div结合rangy Javascript库在光标位置插入HTML.
div的内容通常如下所示:
<div contenteditable="true">
"Hello "
<button contenteditable="false" data-id="147">@John Smith</button>
" "
</div>
Run Code Online (Sandbox Code Playgroud)
按"@"后会建议用户,并在选择后随后插入按钮(ala Google Plus).我也在 这个按钮后插入一个.
当您按下退格键(首先删除之后 )时,Chrome/Safari/Firefox中的按钮会被删除,但不会在IE8中删除.在IE8中,光标只是跳过按钮而不删除它.IE8中更奇怪的是,如果你将 按钮放在按钮旁边 - 而是将光标放在按钮旁边 - 它会移除退格键上的按钮.所以当 光标右侧有一个时,它很高兴.
有没有人知道我需要什么才能使IE8工作,删除退格按钮而不需要 光标右侧?(关于这种奇怪行为的一些信息也可能有帮助)
PS我还没有测试过其他版本的IE
OWASP的优秀人员强调,您必须使用转义语法来处理您将不受信任的数据放入HTML文档的部分(正文,属性,JavaScript,CSS或URL).见OWASP - XSS.他们的API(由ESAPI团队开发)随后迎合了每个上下文的编码器:
ESAPI.encoder().encodeForHTML("input");
ESAPI.encoder().encodeForHTMLAttribute("input");
ESAPI.encoder().encodeForJavaScript("input");
ESAPI.encoder().encodeForCSS("input");
ESAPI.encoder().encodeForURL("input");
随后,这允许开发人员满足基于DOM的XSS.
所以我的问题是GWT的safehtml包如何迎合这一点,还是只关注HTML编码?
我们有一个网络应用程序,我们有几个企业客户.我们最近决定将其作为SaaS应用程序提供,并遵循精益方法(与我们的公司产品并行).这意味着我们在旅途中进行了可能无法投入生产的实验.
在我们精益求精之前,我们对以下分支策略感到满意(我相信它非常标准):
现在我们除了上面的内容之外还有以下内容,并且效果不佳:
我们现在的情况是,我们需要快速而且经常在精益方法的指示下发布,当我们对任意事物得到可靠的反馈时,我们需要生成它并尽快释放它(从lean_release_branch开始).
问题是我们无法创建dev的功能分支(因为它很可能不稳定),我们无法创建lean_release_branch的功能分支,原因有两个:
有谁知道我们的设置更好的策略?
如果你有一个div:
<div id="test">
<img src="http://..." />
</div>
Run Code Online (Sandbox Code Playgroud)
使用CSS:
#test {
height: x;
max-height: x + y;
overflow: auto;
}
Run Code Online (Sandbox Code Playgroud)
是否可以安全地假设div总是超过x的初始高度并且在x + y处停止增长(并开始滚动),因为高度为x + y + z的图像会加载?
如果没有,我将如何在现代浏览器中始终如一地实现此行为?