Questions tagged «web-applications»

Web应用程序是通过“ Web”访问的应用程序,“ Web”可以表示Internet或内部网络(Intranet)。


2
在浏览器和本机应用程序之间安全地通信
我正在处理仅需要从其本地安装的本机应用程序浏览器获取的数据的Web应用程序。 您如何绕过浏览器沙箱,以便可以与本机应用程序通信(安全,因为数据可能是敏感的)。 在我发现的唯一示例中,用户手动在两者之间移动了一些令牌和文件,这是我想避免的可怕的用户体验。

3
如何防止用户在其浏览器中编辑我的代码?
描述 我正在设计一个Node.JS应用程序(更像一个完整的网站)。该应用程序将发送五个JavaScript文件,并将具有<script>将它们链接在一起的标签。 题 如何防止用户和攻击者窥视和编辑我的代码? 一个例子是: Ctrl+ Shift+I 在Devtools的 goto Sources中,选择一个文件进行编辑(即index.html)并进行编辑 按Ctrl+ S会导致实时编辑发生 我想防止上述例子的发生...可能吗? 这是我的想法: 我将创建另一个客户端JavaScript文件prevent_keys.js 它将监听Ctrl+ Shift+ I。 如果返回true(即按下了按键),它将log显示按键。 但是,这不会阻止用户直接使用Devtools。

4
为什么WAR无法共享会话信息?
我已经看到一些开发人员在寻找解决此问题的方法:从不同的WAR(即使在同一EAR中)访问会话信息 -以下是一些示例:在tomcat中不同应用程序之间共享会话状态的任何方法?,访问另一个Web应用程序的会话,不同的WAR文件,共享资源,Tomcat:如何在两个应用程序之间共享数据?,crossContext属性在Tomcat中做什么?是否启用会话共享?等等... 从我搜索过的所有内容来看,有一些特定的解决方案取决于容器,但这在某种程度上“ 与规范相反 ”。我也浏览了Java EE规范,但没有找到答案的运气。 一些开发人员谈论Web应用程序之间的耦合,但是我倾向于不同意。如果不耦合,将WAR保留在同一个EAR中的原因是什么?例如,可以在本地访问EJB(即使在同一EAR中的另一个EJB JAR中也可以访问)。 更具体地说,我的一个WAR处理身份验证和授权,并且我想与其他WAR(在同一EAR中)共享此信息。在将WAR打包为JAR并将它们放入单个WAR项目(WEB-INF / lib)之前,我设法解决了类似的问题。但是我不喜欢这种解决方案(它需要在servlet命名上付出巨大的努力等等)。 而且没有解决方案可以回答第一个(也是最重要的)问题:为什么WAR无法共享会话信息?

3
对客户端和服务器使用相同的语言有多重要?
我一直在评估一个移动项目的体系结构解决方案,该项目除了本机应用程序外还将具有Web服务/应用程序,并且一直在研究各种库,框架和堆栈,例如Meteor,这是一种“开放式堆栈封装框架” ,与Node.js紧密绑定。 关于在客户端和服务器端使用相同语言的好处有很多讨论,但我没有得到。我可以理解,如果您想在客户端和服务器上都镜像Web应用程序的整个状态,但是却在努力寻找其他胜利...工作流效率? 我试图理解为什么将客户端/服务器语言奇偶校验视为圣杯。为什么客户端/服务器语言奇偶性在软件开发中很重要?

4
对于像Dart这样可编译为其他语言的语言,GPL如何运作?
除了特殊的Chromium版本Dartium之外,任何Web浏览器均不支持Google Dart语言。要将Dart用于生产代码,您需要通过Dart-> JavaScript编译器/翻译器运行它,然后在Web应用程序中使用输出的JavaScript。 因为JavaScript是一种解释型语言,所以每个接收“二进制”(也称为.js文件)的人也都收到了源代码。 现在,GNU通用公共许可证v3.0指出: “作品的“源代码”是指对作品进行修改的首选形式。” 这意味着除JavaScript代码外,还必须将原始Dart代码提供给最终用户。这是否意味着即使已经以人类可读/可写/可修改的形式提供了源代码的副本,但任何用Dart编写的Web应用程序也必须向其网站的所有访问者提供原始Dart代码?

3
如何仅向少数几个用户推出功能
我想问的一个很好的例子是Facebook的新时间轴功能。开始时,只有少数几个被允许访问时间轴。随着该功能在其工作方式上变得更加牢固并修复了一些错误,允许其他用户访问该功能。后来,允许大量用户访问该功能,现在,所有用户都可以使用该功能。开发团队如何管理这种功能? 我一直在考虑使用配置设置来通过配置文件和代码中的条件if语句有选择地控制访问(如果正在测试或生产中)。现在,尽管可以使用简单的功能,但我相信,如果我们尝试在更大的功能集中实现这一点,将变得难以管理。 以这种方式管理功能推出的最佳方法是什么?

3
是否存在针对多个浏览器选项卡和较新浏览器的客户端状态的开源JavaScript库?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 5年前关闭。 HTML5有一些新功能,使其成为最近的浏览器,允许在选项卡,浏览器窗口,相同的域窗口等之间共享状态。因此,编写在Web上保持很多状态的Web应用程序可能会变得容易一些。客户端,并且还可以智能地管理选项卡和/或窗口之间的状态。 当前有诸如Backbone.js之类的库,可以帮助管理单个选项卡或单个窗口中的状态。是否有任何东西可以帮助多个选项卡(或窗口)管理全局状态,特定于选项卡的状态以及交叉表事件,而无需依赖服务器来同步它们?



5
Web应用程序启动时间真的那么重要吗?
与某人进行了一次对话,讨论在应用程序启动时添加一些初始化代码,他抱怨说这会导致启动时间增加。他不能说出一个真正的原因(不知道是什么感觉)。这不是一个使用率很高的应用程序,大约需要一分钟左右的时间才能开始,我们每年都会部署几次。 我记得很早以前就读过有关此类问题的建议,人们建议在启动时进行初始化,而不要在带有“如果您能负担得起罚款”字样的页面访问上进行初始化。 我使用的网络应用程序的使用时间从30秒到4-5分钟不等,但是一旦上网,它们就会摇摇欲坠。 那我想念什么呢?除非它是至关重要的应用程序,例如……我不知道……对于金融市场,医疗应用程序,太空探索等,启动时间真的那么重要吗? PS:我严格来说是指Web应用程序,而桌面应用程序注定会迅速启动。

4
理想的HTML5 Web应用程序是否有任何限制
让我们假设以下两个假设是正确的。 您的整个用户群到处都有宽带访问 有一个假想的浏览器X,它始终实现HTML5和WHATWG组的整个规范草案,所有用户都使用浏览器X。 我们需要商业公共桌面应用程序用于商业公共HTML5 Web应用程序的固有限制是什么? 我对无插件Web应用程序的局限性感兴趣,这些应用程序既不依赖Flash / Java / SilverLight / etc桥提供额外功能,也不依赖浏览器插件提供额外功能。 不适用的可能限制: 数据库?我们有WebSQL和indexedDB。 文件IO?我们有HTML5 File API,它可以读写。 速度?在最近的JavaScript引擎竞赛中,浏览器不再缓慢。本机C ++仅比chrome的V8引擎快3倍。 开发工具?网络已经成熟,并且有大量可用的工具可供选择。 封闭源?是的,所有代码都是开源的。这是一把双刃剑,对于使用封闭源代码或开放源代码有很多意见。我个人认为开放源代码的优点胜于缺点。 JavaScript / HTML5?诸如“我个人认为HTML5和EcmaScript是可怕的开发平台”之类的争论不计在内。 已知限制: 实时/安全(最高机密)关键代码不属于网络,也不属于网络。它需要使用低级,高度可控的语言(例如C或C ++)编写。 任何需要与计算机上连接的外部第三方硬件交互的工具,都很难与Web应用程序通信。 还有一整套不属于网络的程序。操作系统,驱动程序,服务器软件,低级API。我知道这一点,但是我没有将它们归类为“商业公共”应用程序,这些是可以预先安装在计算机上的软件类型。 顺便说一句,我知道这两个假设非常不现实,但我们可能会在5/10/20/30年内实现它们。我对应用程序的类型以及使它们与网络完全不兼容的应用程序功能感兴趣。 动机: Google应用 Microsoft Office365 Web应用程序列表 Adobe鸟舍 要点: 考虑到桌面应用程序是有效解决方案的一系列问题。 为什么Web应用程序不是有效的解决方案? 如何确定我是否可以使用Web应用程序作为解决方案。 我试图通过断言它们不存在来消除Web应用程序的主要困难(互联网连接和浏览器支持)。 此外,HTML5脱机应用程序和Modernizr有望解决这两个问题。 Web应用程序开发还有哪些其他困难?

5
何时使用MVC
我正在用PHP和MySQL后端构建一个站点。但是,我目前不使用任何类型的框架。我应该使用Model View Controller吗?

5
将RESTful设计应用于整个网站?
这一切可能都碰到了新事物,但是我正在努力设计一个完全RESTful的网站。我了解将RESTful设计应用于用户,照片,博客帖子等内容,因为我认为它们就像“对象”。 但是,关于“关于我们”页面呢。那是什么资源?从RESTful的意义上来说,它甚至是一种资源吗?另外,说我去URL“ http://www.example.com/”,我要什么资源?索引资源?


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.