Questions tagged «web»

不要使用此标签。对于与万维网方面有关的问题,请为其使用更特定的标签,例如[uri],[html],[http]或[w3c]。

4
将CSRF预防令牌放在cookie中为什么很常见?
我正在尝试了解CSRF的整个问题以及适当的预防方法。(我已阅读,理解并同意的资源:OWASP CSRF预防速查表,关于CSRF的问题。) 据我了解,CSRF周围的漏洞是由以下假设引入的:从Web服务器的角度来看,传入HTTP请求中的有效会话cookie反映了经过身份验证的用户的意愿。但是,源域的所有cookie都被浏览器神奇地附加到了请求上,因此,实际上服务器可以从请求中是否存在有效的会话cookie推断出,该请求来自具有经过身份验证的会话的浏览器。它无法进一步假设有关代码的任何信息在该浏览器中运行,或者是否确实反映了用户的意愿。防止这种情况的方法是在请求中包括其他身份验证信息(“ CSRF令牌”),该信息由浏览器的自动cookie处理以外的其他方式携带。松散地说,会话cookie对用户/浏览器进行身份验证,而CSRF令牌对在浏览器中运行的代码进行身份验证。 简而言之,如果您使用会话cookie来验证Web应用程序的用户,则还应该向每个响应中添加CSRF令牌,并在每个(变异)请求中要求匹配的CSRF令牌。然后,CSRF令牌从服务器到浏览器再返回到服务器,以向服务器证明发出请求的页面已被该服务器批准(由该服务器生成,甚至由该服务器生成)。 关于我的问题,这是关于该往返行程中用于该CSRF令牌的特定传输方法。 似乎很常见(例如在AngularJS,Django,Rails中),将CSRF令牌作为cookie从服务器发送到客户端(即在Set-Cookie标头中),然后让客户端中的Javascript将其从cookie中刮出并附加它作为单独的XSRF-TOKEN标头发送回服务器。 (另一种方法是Express推荐的方法,其中服务器生成的CSRF令牌通过服务器端模板扩展包含在响应主体中,并直接附加到将其提供回服务器的代码/标记中,例如作为隐藏的表单输入。该示例是一种更像Web 1.0的工作方式,但可以推广到使用更多JS的客户端。) 为什么使用Set-Cookie作为CSRF令牌的下游传输如此普遍/为什么这是个好主意?我想所有这些框架的作者都仔细考虑了他们的选择,并没有弄错这一点。但乍看之下,使用cookie来解决cookie的本质设计限制似乎很愚蠢。实际上,如果您使用cookie作为往返传输(服务器的Set-Cookie:下游标头告诉浏览器CSRF令牌,浏览器的cookie:上游标头将浏览器返回给服务器),则会重新引入此漏洞正在尝试修复。 我意识到上述框架并未在CSRF令牌的整个往返过程中使用cookie;他们在下游使用Set-Cookie,然后在上游使用其他内容(例如X-CSRF-Token标头),这确实消除了该漏洞。但是,即使使用Set-Cookie作为下游运输工具,也可能会产生误导和危险;浏览器现在将CSRF令牌附加到每个请求,包括真正的恶意XSRF请求;最好的情况是使请求大于所需的大小,最坏的情况是一些善意却被误导的服务器代码实际上可能会尝试使用它,这确实很糟糕。而且,由于CSRF令牌的实际预期接收者是客户端Javascript,这意味着该cookie不能仅通过http保护。
283 security  cookies  web  csrf  owasp 

19
网站和Web应用程序之间有什么区别?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 4年前关闭。 改善这个问题 我很想尝试自己解决网站和网络应用程序之间的差异。正如我所看到的,网站指向特定页面,而Web应用程序更像是内容和信息的“门户”。 但是我遇到的问题是,仍然可以通过浏览器来查看Web应用程序(不是吗?),并且网站仍然可以动态查看内容,从而使网站和应用程序之间的界线变得非常灰暗。 例如,使用ASP.NET或AJAX等的网站是否会成为Web应用程序,因为它可以动态和异步地检索数据,或者使用PHP和CMS的网站更像是Web应用程序,因为它可以根据请求形成页面?应客户的要求及其数据库中的内容? 也许我在这里完全错了-Web应用程序和网站之间有什么区别?


8
代码更改后自动重新加载python Flask应用
我正在研究如何使用Python开发像样的Web应用程序。由于我不希望遇到一些高级结构,因此我选择了轻量级的Flask框架。时间会证明这是否是正确的选择。 因此,现在我已经使用mod_wsgi设置了Apache服务器,并且我的测试站点运行正常。但是,我想通过使我对py或模板文件进行的任何更改自动重新加载网站,从而加快开发流程。我看到站点的.wsgi文件中的任何更改都会导致重新加载(即使在apache配置文件中没有WSGIScriptReloading On的情况下),但我仍然必须手动进行操作(即,插入额外的换行符,保存)。编辑某些应用的py文件时,有什么方法可以引起重新加载?还是希望我使用IDE来刷新.wsgi文件?
202 python  apache  web  flask 

4
Twitter Bootstrap按钮文本自动换行
在我的一生中,我无法获得这些twitter twitter bootstrap按钮来将文本换行多行,它们看起来像这样。 我无法发布图片,所以这就是正在做的... [这是bu] tton文本 我希望它看起来像 [这是] [按钮文字] <div class="col-lg-3"> <!-- FIRST COL --> <div class="panel panel-default"> <div class="panel-body"> <h4>Posted on</h4> <p>22nd September 2013</p> <h4>Tags</h4> <a href="#" class="btn btn-primary btn-xs col-lg-12" style="margin-bottom:4px;">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</a> <a href="#" class="btn btn-primary btn-xs col-lg-12" style="margin-bottom:4px;">Lorem ipsum dolor sit …


6
在Less中连接字符串
我认为这是不可能的,但我想我要是有办法的话。我的想法是,我有一个用于Web资源文件夹路径的变量: @root: "../img/"; @file: "test.css"; @url: @root@file; .px { background-image: url(@url); } 我得到这个结果: .px { background-image: url("../img/" "test.css"); } 但是,我希望将这些字符串合并为一个字符串,如下所示: .px { background-image: url("../img/test.css"); } 是否可以在Less中将字符串连接在一起?
129 css  path  web  less  concat 

5
如何将背景转换为透明?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 4年前关闭。 改善这个问题 我没有使用任何图像处理/编辑工具的经验。我正在做一个项目,需要将网站背景色(红色/蓝色/白色)的图像(小图标)转换为透明的。 目的是将红色背景转换为透明背景。 我应该考虑使用哪种图像编辑工具? 如何过滤该背景色并使之透明?
126 image  web 

4
Golang生产Web应用程序配置
对于那些在生产环境中运行Go后端的人: 运行Go Web应用程序的堆栈/配置是什么? 除了人们使用标准库net / http包来保持服务器运行之外,在该主题上我还没有看到太多东西。我阅读了使用Nginx将请求传递到Go服务器的信息- 使用Go的 Nginx 在我看来,这有点脆弱。例如,如果重新启动计算机(没有其他配置脚本),服务器将不会自动重新启动。 是否有更可靠的生产设置? 除了我的意图外,我正在为我的下一个项目规划一个Go支持的REST后端服务器,并希望确保Go在开始投入实际工作之前能够投入大量精力,然后再投入大量精力。
120 web  go  production 


7
应用未设置:该应用仍处于开发模式
我已按照此处的说明进行操作: 此应用程序的开发人员尚未针对Facebook登录正确设置此应用程序? 将我的应用设为公开,圆圈为绿色,因此该应用为公开。 但是,当我尝试登录时,我转到Facebook应用程序,它要求我登录,然后我收到以下消息: 应用未设置:该应用仍处于开发模式,您无权访问。切换到注册的测试用户,或向应用管理员询问权限。 顺便说一句:我是管理员 任何帮助深表感谢。我正在使用SeattleClouds,这会在iOS和android上发生。
114 android  ios  facebook  api  web 

9
如何在Twitter的bootstrap 2.1.0中使用新的词缀插件?
关于该主题的引导文档使我有些困惑。我想实现类似的行为,例如在文档中带有词缀navbar:navbar位于段落/页面标题下方,向下滚动时,它应该首先滚动直到到达页面顶部,然后固定在那里以便进一步向下滚动。 由于jsFiddle不适用于导航栏概念,因此我以最小的示例设置了单独的使用页面:http : //i08fs1.ira.uka.de/~s_drr/navbar.html 我将其用作导航栏: <div class="navbar affix-top" data-spy="affix" data-offset-top="50"> <div class="navbar-inner"> <div class="container"> <div class="span12"> <a class="brand" href="#">My Brand</a> This is my navbar. </div> </div> <!-- container --> </div> <!-- navbar-inner --> </div> <!-- navbar --> 我想我想data-offset-top将其值设为0(因为该条应“固定”在最顶部”,但如果设置为50,则至少可以看到一些效果。 如果还将javascript代码放在适当的位置: <script> $(document).ready (function (){ $(".navbar").affix (); }); </script> 任何帮助表示赞赏。

9
如何检测用户是否已经登录Firebase?
我在我的JavaScript文件中使用firebase节点api进行Google登录。 firebase.initializeApp(config); let provider = new firebase.auth.GoogleAuthProvider(); firebase.auth().signInWithPopup(provider); 这可以正常工作,并且用户可以使用他的Google凭据登录。当用户再次访问该页面时,弹出窗口会再次打开,但是由于他已经登录,因此该弹出窗口将关闭,而无需用户进行任何交互。在提示弹出窗口之前,有什么方法可以检查是否已经有一个登录用户?

7
TypeScript:类型系统问题
我只是在VisualStudio 2012中测试打字稿,并且打字稿系统有问题。我的html站点有一个id为“ mycanvas”的canvas标记。我正在尝试在此画布上绘制一个矩形。这是代码 var canvas = document.getElementById("mycanvas"); var ctx: CanvasRenderingContext2D = canvas.getContext("2d"); ctx.fillStyle = "#00FF00"; ctx.fillRect(0, 0, 100, 100); 不幸的是,VisualStudio抱怨 属性“ getContext”在类型“ HTMLElement”的值上不存在 它将第二行标记为错误。我以为这只是一个警告,但是代码无法编译。VisualStudio说 出现构建错误。您要继续并运行上一次成功的构建吗? 我根本不喜欢这个错误。为什么没有动态方法调用?毕竟,getContext方法肯定存在于我的canvas元素上。但是我认为这个问题很容易解决。我刚刚为画布添加了类型注释: var canvas : HTMLCanvasElement = document.getElementById("mycanvas"); var ctx: CanvasRenderingContext2D = canvas.getContext("2d"); ctx.fillStyle = "#00FF00"; ctx.fillRect(0, 0, 100, 100); 但是类型系统仍然不满意。这是新的错误消息,这次是在第一行: 无法将“ HTMLElement”转换为“ HTMLCanvasElement”:类型“ HTMLElement”缺少类型“ HTMLCanvasElement”的属性“ …

8
Python 3 Web Scraping中的HTTP错误403
我试图通过抓取网站进行练习,但是我一直收到HTTP错误403(它认为我是机器人)吗? 这是我的代码: #import requests import urllib.request from bs4 import BeautifulSoup #from urllib import urlopen import re webpage = urllib.request.urlopen('http://www.cmegroup.com/trading/products/#sortField=oi&sortAsc=false&venues=3&page=1&cleared=1&group=1').read findrows = re.compile('<tr class="- banding(?:On|Off)>(.*?)</tr>') findlink = re.compile('<a href =">(.*)</a>') row_array = re.findall(findrows, webpage) links = re.finall(findlink, webpate) print(len(row_array)) iterator = [] 我得到的错误是: File "C:\Python33\lib\urllib\request.py", line 160, in urlopen return opener.open(url, …

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.