尝试使用 Google Apps 脚本从网站获取数据,并将其直接放入电子表格中。fetch 似乎不起作用,而 Python requests 的等效项工作得很好。
Python代码:
page = requests.get("someurl?as_data_structure", headers={'user-agent':'testagent'})
Run Code Online (Sandbox Code Playgroud)
气体代码:
var page = UrlFetchApp.fetch("someurl?as_data_structure", headers={'user-agent':'testagent'});
Run Code Online (Sandbox Code Playgroud)
唯一需要的标头是用户代理,如果我没有包含标头,我从 GAS 代码中得到的错误就是我通常从 Python 代码中得到的错误。我是 js 新手,但据我所知这是正确的方法..?
编辑:现在标题位于正确的位置,但问题仍然存在,与以前的错误完全相同。
var options = {"headers": {"User-Agent": "testagent"}};
var page = UrlFetchApp.fetch("someurl?as_data_structure", options);
Run Code Online (Sandbox Code Playgroud) user-agent http-headers urlfetch http-status-code-403 google-apps-script
我们正在开发一个 Web 项目,其中内容安全策略是通过 HTTP 标头和元标记强制执行的。有一组默认属性,它们是 HTTP 标头的一部分,每个页面通过文档标头中的元标记指定附加策略。
项目中的页面之一加载 iframe 内的内容。该页面的 HTTP 标头中的 Content-Security-Policy 是
Content-Security-Policy: frame-src *;
该页面的文档标题中有以下元标记
<meta http-equiv="Content-Security-Policy" content="default-src none;"/>
MDN Web 文档中提到后备顺序是frame-src-> child-src-> default-src。尽管frame-src在 HTTP 标头中进行了设置,但我在浏览器控制台中收到以下错误消息(在 Google Chrome 和 Microsoft Edge 上尝试过):
Refused to frame '<url here>' because it violates the following Content Security Policy directive: "default-src none". Note that 'frame-src' was not explicitly set, so 'default-src' is used as a fallback.
Run Code Online (Sandbox Code Playgroud)
还,
将这两个策略移动到 HTTP 标头或元标记可以按预期工作
browser http cross-domain http-headers content-security-policy
我正在查看 BurpSuite 中的 http 请求。我看到一个名为“主机”的字段。这个领域的重要性是什么?如果我更改此字段然后发送请求会发生什么情况?如果我将主机标头字段更改为其他 IP,那么服务器会响应这个新修改的 IP吗?
我试图在我的一个页面上放置一个 iframe,并以我自己域中的另一个网页作为源,并收到访问已被拒绝的错误。查了一下问题后,看来是CSP的问题。我从未设置过它,我猜它是默认打开的或由我的托管提供商设置的。不管怎样,我已经尝试了网上找到的许多解决方案,但没有一个有效。
我已阅读https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/frame-src
我尝试使用各种语法在 iframe 中放置的页面的 html 中设置 CSP。
而且,我尝试使用各种语法将其设置在我的 htaccess 文件中。
但是,我的所有尝试都没有改变这种情况并允许加载 iframe...我该如何解决这个问题?
理想情况下,我希望允许我的域和子域通过 htaccess 执行此操作,以便它在站点范围内工作。
编辑:我发现将此行添加到我的 htaccess 似乎在某种程度上有效,但现在我收到了不同的错误,“对服务器的请求已被扩展阻止。”
Header set Content-Security-Policy "frame-src *.dustynaltimus.com;"
Run Code Online (Sandbox Code Playgroud) 我希望我的 Flask 应用程序设置具有相同键和不同值的多个标头,如下所示:
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Run Code Online (Sandbox Code Playgroud)
我已经知道这相当于一个值是逗号分隔列表的单个标头(当然,仅适用于支持列表值的标头),但我宁愿按照上面的方式进行操作。但标头存储在字典中,所以我不能只添加重复的键。
我也知道这个问题和答案,它说requests模块不能使用相同的密钥发送多个标头。但这个问题是关于 的requests,flask有时还有额外的好处;这个问题也已经七年多了,事情就发生了。
该答案是最新的吗?它也适用于烧瓶吗?
当我尝试从 UI 向 Google 云运行托管后端发送 HTTP POST 请求时,名为的标头x-google-token会自动删除。也尝试过使用 CURL。另一个名为的标头x-fb-token工作正常。有人可以解释一下发生了什么事吗?
我明白当使用以下语法直接上传到 Cloudinary 并将文件夹名称作为参数传递时,这是如何下降的。
Cloudinary::Uploader.upload("sample.jpg", :use_filename => true, :folder => "folder1/folder2")
Run Code Online (Sandbox Code Playgroud)
但是,我正在使用 ActiveStorage,当我以上述方式上传照片时,它不会附加到我的Post模型或以任何方式与我的应用程序关联。
我正在使用以下代码附加图像
post.send(:images).attach io: StringIO.new(new_data), filename: blob.filename.to_s,
content_type: 'image'
Run Code Online (Sandbox Code Playgroud)
它不接受指定文件夹的参数。我已尽力阅读 ActiveStorage 和 Cloudinary 文档,试图找到一种方法来完成这项工作,但是,我似乎无法弄清楚。
我已经看到设置自定义文件夹标头可能是使其工作的一种方法,但再次无法弄清楚如何为下面发生的上述代码设置自定义标头job。
require 'tmpdir'
require 'fileutils'
require 'open-uri'
class ResizeImagesJob < ApplicationJob
queue_as :default
def perform(post)
post.images.each do |image|
blob = image.blob
blob.open do |temp_file|
path = temp_file.path
pipeline = ImageProcessing::MiniMagick.source(path)
.resize_to_limit(1200, 1200)
.call(destination: path)
new_data = File.binread(path)
post.send(:images).attach io: StringIO.new(new_data), filename: blob.filename.to_s,
content_type: 'image'
end
image.purge_later
end
end
end
Run Code Online (Sandbox Code Playgroud)
上述工作正在做的是等到帖子创建后,然后调整照片大小并将照片重新附加到帖子以及删除原始照片。我采用这种方法是为了避免上传后直接在 Cloudinary …
jobs ruby-on-rails http-headers cloudinary rails-activestorage
在我的应用程序中,我有一个中间件来检查 a 中的令牌req,以便访问私有路由:
const config = require('../utils/config');
const jwt = require('jsonwebtoken');
module.exports = function (req, res, next) {
let token = req.header('x-auth-token');
if (!token) {
return res.status(401).json({ msg: 'No token. Authorization DENIED.' });
}
try {
let decoded = jwt.verify(token, config.JWTSECRET);
req.user = decoded.user;
next();
} catch (err) {
return res.status(401).json({ msg: 'Token is invalid.' });
}
};
Run Code Online (Sandbox Code Playgroud)
为了req在程序的 Redux 操作中发送正确的令牌,我调用以下函数 setAuthToken() 来设置身份验证令牌:
import axios from 'axios';
const setAuthToken = token => {
if (token) { …Run Code Online (Sandbox Code Playgroud) 我在我的 Firebase 应用程序中使用 Google API Gateway 来验证用户是否已登录。在 API Gateway 的文档中,建议使用转发的X-Apigateway-Api-Userinfo标头来检索用户信息:
API Gateway会将X-Apigateway-Api-Userinfo中的认证结果发送给后端API。建议使用此标头代替原始的 Authorization 标头。此标头采用 base64url 编码并包含 JWT 有效负载。
因为它是 base64url 编码的,所以我需要额外的服务器端逻辑来解码它,只是为了获取登录用户的信息(我假设解码的对象对应于 Firebase Auth Admin SDK 的DecodedIdToken)。
另一方面,我发现API Gateway虽然修改了原始Authorization标头,但它首先将其复制到另一个名为X-Forwarded-Authorization. 这意味着我可以做类似的事情:
// authHeaders = 'Bearer ...'
const authHeaders = headers['X-Forwarded-Authorization'];
const token = authHeaders.split(' ')[1]
const decodedToken = await admin.auth().verifyIdToken(token)
Run Code Online (Sandbox Code Playgroud)
我发现这是获取相同信息的更简单(并且有更好记录)的方法。这是一个坏主意吗?我不确定是否还有其他原因X-Apigateway-Api-Userinfo推荐使用标题。
http-headers node.js firebase firebase-authentication google-api-gateway
在我的演示应用程序中,我遇到一个问题,即我没有收到从 Angular 客户端添加到 Spring boot 服务器的请求标头。作为安全措施,我有 SSL(安全套接字层)和 CORS(跨源资源共享)配置。在我的应用程序中,CSRF(跨站点请求伪造)被禁用。我使用 JWT(JSON Wen Token)作为每个请求的用户身份验证机制。这就是我需要从标头中提取 JWT 密钥的地方。我将从我的应用程序中添加代码示例,请帮助我找出问题。
\n角拦截器
\nimport { Injectable } from \'@angular/core\';\nimport { HttpEvent, HttpInterceptor, HttpResponse, HttpHandler, HttpRequest, HttpHeaders } from \'@angular/common/http\'; \nimport { UserService } from \'./user.service\';\nimport { Observable } from \'rxjs\';\n\n/*Interceptor\n Often you\xe2\x80\x99ll want to intercept HTTP requests or responses before they\xe2\x80\x99re handled else where in the application*/ \n\n@Injectable({\n providedIn: \'root\'\n})\nexport class InterceptorService implements HttpInterceptor {\n\n /**\n * Constructor of InterceptorService. \n * @param userService UserService\n */\n constructor(private …Run Code Online (Sandbox Code Playgroud) http-headers ×10
http ×2
.htaccess ×1
angular ×1
axios ×1
browser ×1
cloudinary ×1
cross-domain ×1
firebase ×1
flask ×1
host ×1
html ×1
iframe ×1
interceptor ×1
java ×1
javascript ×1
jestjs ×1
jobs ×1
node.js ×1
proxy ×1
python ×1
reactjs ×1
spring-boot ×1
urlfetch ×1
user-agent ×1
zap ×1