我有两个问题.我理解,如果我.mydomain.com在cookie中指定域(带有前导点),则所有子域都可以共享cookie.
可以subdomain.mydomain.com访问在mydomain.com(没有www子域)中创建的cookie 吗?
如果创建的话,可以mydomain.com(没有www子域)访问cookie subdomain.mydomain.com吗?
假设我有一个名为的网站a.com,当加载此网站的特定页面时,比如页面链接,我喜欢为另一个被调用的网站设置一个cookie b.com,然后将用户重定向到b.com.
我的意思是,在加载时a.com/link我想为其设置一个cookie b.com并将用户重定向到b.com.
我测试了它,浏览器实际上收到了cookie a.com/link,但它没有在重定向请求上发送该cookie b.com.这是正常的吗?
我们可以为其他域设置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限制?
(我现在已经知道了答案,但我认为这可能对那些努力弄清楚同样事情的人有所帮助 - 我将在下面发布答案.)
我有一个cookie 不能通过JavaScript HttpOnly设置此cookie HttpOnly吗?
我们将我们的网站作为iframe集成到另一个在不同域上运行的网站.似乎我们无法设置cookie.以前有人遇到过这个问题吗?有任何想法吗?
我已经建立了一个网站(A),它从一个单独的Web服务登录并检索客户数据.
拥有(A)的组织也有一个网站(B),它有一个网络表格.他们希望(A)上的登录客户能够点击(B)并查看预先填充的表格及其详细信息.
这意味着(A)必须将他们的客户ID写入cookie,(B)可以读取,然后(B)可以从Web服务请求数据,并预先填充表单.
这提出了两个问题:
网站(B)可以阅读网站(A)的cookie吗?
如果是这样,为了防止某人编辑cookie并在表单中看到其他人的数据,我需要做一些事情,比如加密(A)上的cookie,然后在(B)中解密 - 这条线上的任何建议?
我无法将现有登录更改为OAuth或其他内容,因为Web服务被其他几个站点使用,因此无法更改.
我有一个相对简单的 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) 我目前正在开发我的第一个 web 应用程序,前端React使用FastAPI.
我正在尝试与 Chrome 联合测试它——看看前端是否对后端进行了正确的 API 调用,并显示结果。我在使用 cookie 时遇到了问题,我需要帮助。提前为这篇长文章道歉——过去几天我浏览了很多资源,此时我不确定什么是相关的,什么是不相关的。
localhost:8080http://127.0.0.1:8000FastAPI后端代码正确设置 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)
情况:前端GET向http://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) 返回 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) 嗨,目前我有一个 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("http://localhost:8080/api/files/4eb81fa8-9c5d-4920-b0f5-c9239fb1cae7?access_token=eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJnbG9iYWxhZG1pbkBsb2NhbGhvc3QiLCJhdXRoIjoiUk9MRV9HTE9CQUxfQURNSU4iLCJleHAiOjE1NjExOTkwNTh9.UFvdgZNxs_O1uTjtUh64ko3A47R2fxZxYFX0aXv2Jp_TkVrmlBT1mzN40JwclGk3m0sCZONKbnVhgXXKy69DfQ");">
<!--bindings={
"ng-reflect-ng-if": "false"
}-->
</div>
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏。我很想将 access_token 作为 http get 请求标头的一部分传递,但我在任何地方都找不到合适的代码。任何帮助表示赞赏。