相关疑难解决方法(0)

在子域和域之间共享cookie

我有两个问题.我理解,如果我.mydomain.com在cookie中指定域(带有前导点),则所有子域都可以共享cookie.

可以subdomain.mydomain.com访问在mydomain.com(没有www子域)中创建的cookie 吗?

如果创建的话,可以mydomain.com(没有www子域)访问cookie subdomain.mydomain.com吗?

cookies subdomain http

368
推荐指数
5
解决办法
25万
查看次数

如何为另一个域设置cookie

假设我有一个名为的网站a.com,当加载此网站的特定页面时,比如页面链接,我喜欢为另一个被调用的网站设置一个cookie b.com,然后将用户重定向到b.com.

我的意思是,在加载时a.com/link我想为其设置一个cookie b.com并将用户重定向到b.com.

我测试了它,浏览器实际上收到了cookie a.com/link,但它没有在重定向请求上发送该cookie b.com.这是正常的吗?

我们可以为其他域设置cookie吗?

javascript cookies redirect

146
推荐指数
7
解决办法
17万
查看次数

Facebook如何在画布页面上为iFrame设置跨域cookie?

我正在浏览关于canvas应用程序的Facebook文档,我遇到了一个示例应用程序:http://developers.facebook.com/docs/samples/canvas.然而,当我阅读他们的例子时,我对他们在iframe应用程序中使用cookie感到非常困惑.

一个小背景...

我已经玩过使用iframes嵌入式小部件(与Facebook无关),我发现一些浏览器(Chrome,Safari等)有严格的cookie策略,不允许在iframe中设置跨域cookie(Firefox,另一方面,允许iframe在iframe中设置跨域cookie).例如,如果foo.com具有src="http://bar.com/widget"iframe小部件的iframe将无法为bar.com设置任何cookie,因此将无法在iframe中保持状态:bar.com将解释来自的每个请求(包括ajax请求)窗口小部件作为没有建立会话的新请求.我挣扎了,通过使用JSONP和javascript为foo.com设置cookie来找到解决方法......

... 所以?

好吧,我正在查看示例画布iframe Facebook应用程序,我注意到他们的应用程序(托管在runwithfriends.appspot.com上)能够设置一个cookie u,其中包含当前用户的id以及runwithfriends的一些其他参数. appspot.com域名.它会在每个请求中发送此cookie ...它可以在Chrome和Firefox中运行!WTF?Facebook如何解决Chrome上的跨域cookie限制?

(我现在已经知道了答案,但我认为这可能对那些努力弄清楚同样事情的人有所帮助 - 我将在下面发布答案.)

cookies iframe facebook facebook-iframe

68
推荐指数
1
解决办法
5万
查看次数

通过Javascript将cookie设置为HttpOnly

我有一个cookie 不能通过JavaScript HttpOnly设置此cookie HttpOnly吗?

javascript cookies http

66
推荐指数
1
解决办法
7万
查看次数

在iframe中设置cookie - 不同的域

我们将我们的网站作为iframe集成到另一个在不同域上运行的网站.似乎我们无法设置cookie.以前有人遇到过这个问题吗?有任何想法吗?

security cookies iframe

39
推荐指数
4
解决办法
6万
查看次数

在两个网站之间共享cookie

我已经建立了一个网站(A),它从一个单独的Web服务登录并检索客户数据.

拥有(A)的组织也有一个网站(B),它有一个网络表格.他们希望(A)上的登录客户能够点击(B)并查看预先填充的表格及其详细信息.

这意味着(A)必须将他们的客户ID写入cookie,(B)可以读取,然后(B)可以从Web服务请求数据,并预先填充表单.

这提出了两个问题:

  1. 网站(B)可以阅读网站(A)的cookie吗?

  2. 如果是这样,为了防止某人编辑cookie并在表单中看到其他人的数据,我需要做一些事情,比如加密(A)上的cookie,然后在(B)中解密 - 这条线上的任何建议?

我无法将现有登录更改为OAuth或其他内容,因为Web服务被其他几个站点使用,因此无法更改.

cookies http

28
推荐指数
3
解决办法
4万
查看次数

FastAPI StreamingResponse 不使用生成器函数进行流式传输

我有一个相对简单的 FastAPI 应用程序,它接受查询并从 ChatGPT 的 API 流回响应。ChatGPT 正在流回结果,我可以看到它在输入时被打印到控制台。

不工作的是StreamingResponse通过 FastAPI 返回。相反,响应会一起发送。我真的不知道为什么这不起作用。

这是 FastAPI 应用程序代码:

import os
import time

import openai

import fastapi
from fastapi import Depends, HTTPException, status, Request
from fastapi.security import HTTPBearer, HTTPAuthorizationCredentials
from fastapi.responses import StreamingResponse

auth_scheme = HTTPBearer()
app = fastapi.FastAPI()

openai.api_key = os.environ["OPENAI_API_KEY"]


def ask_statesman(query: str):
    #prompt = router(query)
    
    completion_reason = None
    response = ""
    while not completion_reason or completion_reason == "length":
        openai_stream = openai.ChatCompletion.create(
            model="gpt-3.5-turbo",
            messages=[{"role": "user", "content": query}],
            temperature=0.0,
            stream=True,
        )
        for …
Run Code Online (Sandbox Code Playgroud)

python streaming python-requests fastapi openai-api

14
推荐指数
1
解决办法
3万
查看次数

跨站点 cookie 的问题:如何设置从后端到前端的 cookie

我目前正在开发我的第一个 web 应用程序,前端React使用FastAPI.

我正在尝试与 Chrome 联合测试它——看看前端是否对后端进行了正确的 API 调用,并显示结果。我在使用 cookie 时遇到了问题,我需要帮助。提前为这篇长文章道歉——过去几天我浏览了很多资源,此时我不确定什么是相关的,什么是不相关的。

  • 前端开启 localhost:8080
  • 后端开启 http://127.0.0.1:8000
  • 使用以下FastAPI后端代码正确设置 CORS(我相信):
app = FastAPI()

origins = [
    "http://localhost:8080"
]

app.add_middleware(
    CORSMiddleware,
    allow_origins=origins,
    allow_credentials=True,
    allow_methods=["*"],
    allow_headers=["*"],
)
Run Code Online (Sandbox Code Playgroud)


情况:前端GEThttp://127.0.0.1:8000/api/abc后端发出请求,后端设置 cookie。

/*====================
尝试 1:
使用以下后端代码设置 cookie:

response.set_cookie(key="abcCookieKey", value="abcCookieValue")
Run Code Online (Sandbox Code Playgroud)

GET使用以下前端 JS 代码发出请求:

fetch('http://127.0.0.1:8000/api/abc', {
            method: 'GET',
            credentials: 'include',
        })
Run Code Online (Sandbox Code Playgroud)

尝试 1 的结果:
ConsoleChrome的选项卡上,我收到以下警告:

A cookie associated with a cross-site resource at http://127.0.0.1/ was set …
Run Code Online (Sandbox Code Playgroud)

cookies google-chrome reactjs samesite fastapi

12
推荐指数
2
解决办法
1万
查看次数

fastapi (starlette) RedirectResponse 重定向到 post 而不是 get 方法

返回 RedirectResponse 对象后,我遇到了奇怪的重定向行为

事件.py

router = APIRouter()

@router.post('/create', response_model=EventBase)
async def event_create(
        request: Request,
        user_id: str = Depends(get_current_user),
        service: EventsService = Depends(),
        form: EventForm = Depends(EventForm.as_form)
):
    event = await service.post(
       ...
   )
    redirect_url = request.url_for('get_event', **{'pk': event['id']})
    return RedirectResponse(redirect_url)


@router.get('/{pk}', response_model=EventSingle)
async def get_event(
        request: Request,
        pk: int,
        service: EventsService = Depends()
):
    ....some logic....
    return templates.TemplateResponse(
        'event.html',
        context=
        {
            ...
        }
    )
Run Code Online (Sandbox Code Playgroud)

路由器.py

api_router = APIRouter()

...
api_router.include_router(events.router, prefix="/event")
Run Code Online (Sandbox Code Playgroud)

这段代码返回结果

127.0.0.1:37772 - "POST /event/22 HTTP/1.1" 405 Method Not …
Run Code Online (Sandbox Code Playgroud)

python starlette fastapi

11
推荐指数
1
解决办法
2万
查看次数

将 jwt 令牌作为 url 的一部分传递是否不好?

嗨,目前我有一个 angular 应用程序和 java 后端。在我的角度组件 html 中,我有一些图像,例如个人资料照片。提供图像文件的资源由 spring security 保护。所以我的问题是将 json web 令牌附加为图像 url 的一部分是不好的吗?它会导致安全漏洞吗?这是一种不好的做法吗?

以下是我的 angular 代码在 chrome 开发人员工具中的样子。

<div _ngcontent-c5="" class="avatar-circle bg-secondary text-brand-secondary" ng-reflect-klass="avatar-circle" ng-reflect-ng-class="bg-secondary,text-brand-second" style="background-image: url(&quot;http://localhost:8080/api/files/4eb81fa8-9c5d-4920-b0f5-c9239fb1cae7?access_token=eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJnbG9iYWxhZG1pbkBsb2NhbGhvc3QiLCJhdXRoIjoiUk9MRV9HTE9CQUxfQURNSU4iLCJleHAiOjE1NjExOTkwNTh9.UFvdgZNxs_O1uTjtUh64ko3A47R2fxZxYFX0aXv2Jp_TkVrmlBT1mzN40JwclGk3m0sCZONKbnVhgXXKy69DfQ&quot;);">
  <!--bindings={
  "ng-reflect-ng-if": "false"
}-->
</div>
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏。我很想将 access_token 作为 http get 请求标头的一部分传递,但我在任何地方都找不到合适的代码。任何帮助表示赞赏。

security jwt websecurity

9
推荐指数
1
解决办法
1万
查看次数