用JavaScript来检测父框架是否是同源的?
我正在寻找一种跨浏览器来检测父框架是否与我的框架相同,最好不要在JavaScript错误控制台上打印警告. 以下似乎有效,但我想避免在控制台上打印错误(至少在访问位置时,Safari和Chrome会在父框架上进行.Firefox会抛出一个可以捕获的例外): function parentIsSameOrigin() { var result = true; try { result = window.parent.location.href !== undefined; } catch (e) { result = false; } return result; } 解决方案 我会做类似的事情: var sameOrigin; try { sameOrigin = window.parent.location.host == window.location.host; } catch
2 2024-04-03
编程技术问答社区
如何HTTP POST一个Blob到一个不同的域?
我有一些Blob()对象.我想在其他地方上传(处理用户通过表单上传的网站). 我可以将它们放在 formdata 中,并通过 xmlhttprequest 对象发送它们,但是我无法阅读Ajax响应,因为我被The Block 我该如何解决这个问题?有没有某种方法可以在不使用Ajax的情况下进行定期上传?有没有办法处理该"相同的起源政策",这些政策将在最近版本的Chrome和Firefox上使用? 编辑:不确定这是重复:我不控制发布的服务器,所以我不同意"在两个域上设置相同的原始策略" . 解决方案 在大多数情况下,当某人试图在跨域中使用AJAX但被相同的原始策略所阻止时,建议将AJAX转到您自己的PHP页面,然后使用Curl将该数据发送到其他站点. http://curl.haxx.se/
6 2024-04-01
编程技术问答社区
在DOM中把一个文件输入作为一个img插入。
两个部分问题... 基本上,在一天结束时,我想拥有file ,然后让用户从其文件系统中选择一个图片文件.然后,我想在IMG标签中以页面上的形式显示它.我需要以后进行处理,所以我知道data:不是要下路的道路,就像它离开了blob:,我无法弄清楚我的Googlefu是X-Origin还是不是. 那么blob:被认为是X-Origin吗?如果我有一个's @src作为blob: uri,我可以在上面getImageData()吗? 如果是这样,那么您如何执行所有这些?我想,如果一个人知道如何,那可能很简单,但是我的Googlefu再次使我失望... so: 是blob: x-origin? 如果不是,则如何从file 的内容中得出blob: uri? 解决方案 使用 URL.createObjectURL 生成blob: > -uri来自File或Blob对象: 基本演示: http://jsfiddle.n
0 2024-04-01
编程技术问答社区
当Origin 'null'试图向LOCAL应用程序发布数据时,Access-Control-Allow-Origin头。
我正在研究一个程序,该程序将通过浏览器与您的比特币钱包进行交互. 通过将比特币客户端设置为带有以下命令的服务器. server=1 rpcuser=test rpcpassword=test rpcallowip=127.0.0.1 它将允许它作为服务器运行,因此让您在其上发布JSON命令.我已经找到了以下代码. $.ajax({ url: 'http://test:test@127.0.0.1:29661', type: 'POST', contenType: 'application/json', cache:false, dataType:"json", data: '{"jsonrpc": "1.0", "id":"curltest", "method": "getinfo", "params": []
20 2024-03-31
编程技术问答社区
同一领域的Web API 2项目和MVC 5网站项目
使用的技术: Breezejs odata Web API 2 MVC 5 IDE:Visual Studio 2013 我一直在为在单个解决方案中拥有一个Web API项目和单独的网站项目的想法. 我的Web API 2项目打开为:localhost:2020/exampleProject.api 我的MVC 5网站项目打开为:localhost:5050/exampleProject.website 现在,默认情况下,Web API不允许交叉来源策略.因此,我在Web API 2中使用启用CORS进行了演奏,尽管我能够使它工作,但它仅适用于最新的浏览器.我需要IE7与IE9的向后兼容性. 所以我和JSONP一起玩了.我不喜欢缺乏支持.我能够为我的Web API 2项目工作,但是如果使用Breezejs Web API库,我想使用BreezeController,它就不起作用.如果我想创建一个odatacontroller,它也无效. 所以
6 2024-03-16
编程技术问答社区
AngularJS的Allow-Origin到WebApi2
我想在单独的域上托管我的API.我已经配置了我的authterceptor,并带有一个载体的刻度: config.headers.Authorization = 'Bearer ' + sessionStorage.getItem('token'); 在我的WebAPI2中,我已经配置了使用CORS的Webapiconfig. var cors = new EnableCorsAttribute("http://mydomain.com", "*", "*"); config.EnableCors(cors); 和在API的Web.config中,我还包括: 由于不允许原点,我仍然无法访问API.我可以在Angular的Authterceptor的标题中添加更多内容,还是我需要做什
4 2024-03-16
编程技术问答社区
如何保护ASP.NET或ASP.NET MVC免受相关的域名cookie攻击?
相关域cookie攻击(更多信息)允许在同一DNS域中的机器添加其他cookie,以添加其他cookie也将发送到同一域中的其他计算机. 这可能会引起身份验证问题,或者最坏的是混乱的代理人攻击中的一个组成部分. 问题 如何保护ASP.NET或ASP.NET MVC免受此类攻击? 一种可能的攻击方案 我登录"安全" Web应用程序 我获得了我的帐户的凭据 我欺骗用户在同一DNS域上访问我的网站 我插入了(我的信用的饼干) 用户返回您的应用程序. 将两个cookie(或覆盖的cookie)发送到服务器 用户在我的帐户下做事 这是一个简化的示例,但是这个想法可以移植其他攻击方式,我只是选择看起来"太糟糕"的场景. 一个想法是如何"变得不好",如果这是两步攻击的步骤1.假设用户上传了一个仅在其帐户中可以访问的不良文件;然后,另一个用户不知不觉地下载了该文件,运行那里的任何可执行代码. 还有很多其他场景可能是可能的...而不是在这里列出所
2 2024-03-08
编程技术问答社区
我可以用Java小程序违反同源政策吗?
我需要请求内容并从其他域中获取信息.我知道JavaScript由于相同的原始策略而无法执行此操作.我的另一个选择是通过我的服务器发出代理请求.我不希望来自服务器IP的请求,也不想为服务器创建其他加载,并且宁愿客户端. 是否可以使用Java小程序来执行此操作?手动配置安全设置不是问题. 解决方案 Java applet确实实现了相同的原始策略,与Flash几乎相同.如果目标服务器没有正确定义的公共访问crossdomain.xml,则Java将防止基于小程序的交叉呼叫. 一个简单的crossdomain.xml看起来像这样:
6 2024-03-02
编程技术问答社区
使用jQuery JSONP与CloudFlare API时出现相同的原点策略错误
我在尝试通过jQuery发送JSONP请求到Cloudflare时收到错误(XMLHttpRequest cannot load https:// www.cloudflare.com/api_json.html?tkn=&email=&z=&a=rec_load_all&callback=%3F. Origin http:// domainmanager.tech-bytes.org is not allowed by Access-Control-Allow-Origin.)(由于堆栈溢出链接限制而引起的URL中的空格). cloudflare api 指出,您可以通过appendending appendend要求要求jsonp呼叫&callback=mycallback参数.我不确定我是否应该用某种东西代替mycallback,我尝试用它代替它?因为那是其他一些资源所说的,或者如果我必须对我的代码进行其他修改. 解决方案 以这种方式尝试跨域请求. $.ajax(
4 2024-03-02
编程技术问答社区
当浏览器存在同源策略时,REST APIs如何与JavaScript一起工作?
我正在与Flickr的Rest API合作,这很好.这样,我的意思是要对Flickr API进行AJAX调用,并将JSON对象恢复,解析对象等. . ,但这在我心中提出了一个问题.如果浏览器遵循 这个跨域请求如何工作? 跨域请求: $.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?id=" + id + "&lang=en-us&format=json&jsoncallback=1"); 解决方案 您需要了解的是,虽然浏览器确实执行相同的原始策略(SOP),但是当不执行SOP时,也有例外.例如,如果您有一个HTML页面 - 您可以插入标签,该标签指向任何域上的图像.因此,SOP在这里不应用,您正在制作跨原始HTTP获取图像请求. 您链接到作品的演示,因为它使用了以类似方式工作的机制.该机制称为JSONP- http://en.wikipedia.
10 2024-03-01
编程技术问答社区
为什么在从localhost向localhost发出请求时,同源策略被启动了?
我将后端API作为与前端HTML5应用程序所消耗的单独项目.我正在使用Yeoman进行前端开发. Yeoman在Localhost上运行:3501,后端在Local -Host上:3000.当我从浏览器(使用Angularjs的$ http)中发出API请求时,我达到了相同的原始策略: XMLHttpRequest cannot load http://localhost:3000/venues. Origin http://localhost:3501 is not allowed by Access-Control-Allow-Origin. afaik,仅在跨不同域提出请求时才应启动相同的原始策略.当我们从Localhost到Localhost的请求时,为什么会发牢骚(尽管到其他端口)? 我该如何完成这项工作,这会导致生产问题吗? 解决方案 端口还计算跨域请求,因此http://localhost:3000和http://localhost:3501是 2不
4 2024-03-01
编程技术问答社区
同一域名上的访问控制-允许-起源问题
当我尝试将xmlhttprequest从JavaScript文件制作到位于同一域上的Web服务时,我如何才能得到: Origin http://mydomain.com 不允许访问control-allow-allow-origin? P> 如果我将mydomain.com更改为localhost,我将不再有问题,但是我想将其保留为mydomain.com 我必须编辑什么,为什么首先要编辑,因为它是相同的域? 解决方案 1)查看您的请求/响应标头.服务器是否返回怪异的access-control-allow-origin标题? 2)不仅是域,还是协议(http vs vs https vs ftp等),端口(如果您有::8080或类似的东西),可能是.com/ 其他解决方案 可能是由于缺少的www.如果您使用您的domain.com进行测试,并且您的网站在www.yourdomain.com上是划分的跨域,默认情况下不允许跨域通话.
4 2024-02-27
编程技术问答社区
如何在Angularjs中解决CORS即同源政策问题
我正在AngularJS开发一个移动应用程序,我必须在其中致电Web服务.但是,当我用$http.get打电话时,它会出现以下错误. XMLHttpRequest cannot load http://example.com/First_Step.json. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://127.0.0.1:8020' is therefore not allowed access. 我的功能如下: $scope.firstStepClick = function() { appSvc.selectedItem = "firstStep"; $rootScope.go('parent/firststep', 'slideLeft'); delete $http.defaults.headers
8 2024-02-25
编程技术问答社区
如何克服客户端与服务器对话时出现的 "访问控制-允许-起源 "错误
所以我正在使用SWIIP的Yeoman项目,称为Generator-Gulp-angular-只需" npm搜索gulp--angular",您就会看到它. 客户端的运行式从127.0.0.1:3000运行,我希望通过127.0.0.0.1:8080向(Python)服务进行$ http调用.它使用浏览器-Sync进行实时重新加载和代理中间件,以从客户端到服务器的代理呼叫.代理中间件是由默认禁用的,因此诀窍是启用它并成功地从服务器提出请求并接收响应.到目前为止,我无法成功启用它: - ( 更新:我在座右铭"给自己一个简单的示例"之后重新创建了Yeoman项目,以专注于访问控制问题,我让它或多或少地开箱即用,而不必求助于修改该问题服务器逻辑以允许交叉原点请求.令人愉快的是,这就像说明所描述的那样简单.这是扩展毛中间件以执行代理的代理文件,或者是从客户端到服务器的映射: /*jshint unused:false */ /*************** T
20 2024-02-23
编程技术问答社区
访问XMLHttpRequest at 'https://...' from origin 'http://...' has been blocked by CORS policy(Spring Boot & Angular 7)
我正在使用Spring Boot和Angular7创建一个示例应用程序.在Spring Boot中,我将HTTP转换为HTTPS.在Angular应用程序中,客户端邮政功能无法调用服务器API帖子方法. 它抛出以下错误 客户端 Angular 7 import { Injectable } from '@angular/core'; import {HttpClient} from '@angular/common/http'; @Injectable({ providedIn: 'root' }) export class DataService { constructor(private http: HttpClient) { } firstClick() { return console.log('clicked'); } getList() { return this.http.get('https://localhos
6 2024-02-22
编程技术问答社区
来自本地HTML文件的WebView Javascript跨域。
我将本地HTML文件(从资产文件夹)加载到App WebView. 在html中,我运行了一个jQuery.getjson(url). URL是远程服务器. 此操作失败了,我猜是因为存在不同的起源问题(跨域).我在Chrome上运行相同的文件,并在此专门说. 有没有一种方法可以允许Android中的WebView在本地加载的HTML文件上从远程服务器加载数据? 解决方案 今天早晨,我发现解决方案似乎正在起作用. Java Part 初始化您的WebView: WebView _webView = (WebView) this.findViewById(R.id.id_of_your_webview_in_layout); 获取WebView设置: WebSettings settings = _webView.getSettings(); 设置以下设置: settings.setJavaScriptEnabled(true); s
18 2024-02-19
编程技术问答社区
翩翩起舞。Web View安全原点
我在加载YouTube视频时会使用Flutter WebView(WebView_flutter: ^0.1.2)遇到错误(尽管我最初认为它与内容安全性问题有关),这似乎是HTTPS上安全Origin的问题.在浏览器上,这通常可以通过移动到HTTPS域来减轻这种方法,从而寻找一种解决此问题的方法 Container( child: WebView( initialUrl: Uri.dataFromString( '' '
6 2024-01-30
编程技术问答社区
Laravel Response::json在浏览器中出现跨域错误,即使头信息是Access-Control-Allow-Origin:*。
我得到了这个Laravel 4的问题,这确实使我感到困惑.我在同一控制器上创建了这两种方法.宣布为静止的控制器. AJAX请求来自其他域. 不起作用 public function getOwnlist(){ $test = User::with(array("images", "images.category"))->find(Auth::user()->id); return Response::json($test, 200, array('Access-Control-Allow-Origin' => '*')); } 作品 public function getLatest(){ $images = DB::table("images")->where("public","=","1")->orderBy("created_at")->take(10)->get(); return Response::jso
6 2024-01-22
编程技术问答社区
jQuery加载问题同源政策
我想从另一个站点加载内容(从本质上讲,我想检查页面上的某些内容).我知道同样的起源政策使这一困难使它很难,但是我想知道是否有解决方案.我研究了使用此信息: http://api.jquery.com/jquery.com/jquery.com/jquery.getjson/ 有更好,更简单的方法吗?看来这仅适用于JSON. 谢谢 解决方案 您可以使用 dataType: "jsonp" ,但我相信这要求您通过Ajax加载的整个页面以JSON格式(可能不是). 我用来解决的技术将是使用服务器端脚本(例如PHP + curl)获取页面(或检查我想要的信息),然后在我的我的jQuery ajax调用我服务器端脚本(不是跨域)以获取我想要的数据.
4 2024-01-22
编程技术问答社区
访问控制允许起源头没有出现在获取api调用中
因此,我正在尝试使用异构形 https://www.npmjs.com/软件包/同构fetch 我有一个用GO写的服务器,它正在退回JSON数据.这就是我打电话的方式 - export function fetchDistricts(geoState) { return function (dispatch) { dispatch(requestDistricts(geoState)); return fetch(`http://localhost:8100/districts/`) .then(response => {console.log(response);}) .then(json => { console.log("json"); }); } 我在Chrome Console中获得此错误 Fetch API
4 2024-01-21
编程技术问答社区