我正在编写包含内容脚本和背景页面的Chrome扩展程序。后台页面会监听消息和回复。
假设消息可能包含敏感数据或触发敏感操作 - 我的后台页面是否必须检查发件人ID,或者是否有一些Chrome内置保证只有我的代码可以向我发送消息?
如果我需要检查,如何可靠地检测来自我自己的内容脚本的消息?他们有sender.id
设置吗?
chrome.runtime.onMessage.addListener((msg, sender, sendResponse) => {
// Ignore messages sent from outside the app.
if (!sender.id || sender.id !== chrome.runtime.id) {
// Is this required at all, or the default?
// does this work for content scripts sending messages?
return;
}
}