• 解决jsonp跨域中的安全漏洞(包含meta解释)


    中的 标签用于设置关于网页的元信息和配置,其中包括页面字符集、关键词、描述、作者、视口(Viewport)等等。以下是一些常见的 标签及其作用:

    1. :设置页面的字符编码,通常使用 UTF-8 编码来支持多语言和特殊字符。

    2. :定义网页的关键词,有助于搜索引擎优化(SEO)

    3. :提供网页的描述,用于搜索引擎结果中的显示。

    4. :指定网页的作者。

    5. :用于移动端适配,告诉浏览器使用设备的宽度作为布局宽度,并将初始缩放级别设置为 1,以确保页面在不同屏幕大小上正确显示。

    6. :告诉 Internet Explorer 浏览器使用最新的渲染引擎,以确保网页在 IE 中正确显示。

    7. :禁止用户缩放页面,适用于固定布局的移动端网页。

    8. :定义搜索引擎蜘蛛的爬取策略。

    9. :在页面加载后自动重定向到指定 URL。

    这些是常见的 标签,它们有助于优化网页的搜索引擎排名、移动端适配和显示等。根据项目需求,可以在 中添加适当的 标签来配置网页信息。

    回答版本:

    在 HTML 的 部分设置 标签的作用包括:

    1. 字符编码设置:可以使用 标签来指定文档的字符编码,例如 用于指定文档使用 UTF-8 字符编码,以确保正确地显示文本内容。

    2. 视口设置:特别适用于移动端网页,可以使用 标签设置视口(Viewport),例如 ,用于指定文档在移动设备上的宽度和缩放比例,以确保网页在不同设备上的正确显示。

    3. 搜索引擎优化(SEO):通过设置 标签,您可以提供关于网页的元数据,如 和 `,以帮助搜索引擎更好地理解和索引您的网页。

    4. 其他元信息 标签还可以用于提供其他元信息,如作者、版权、刷新页面的时间间隔等。

    这些 标签的设置有助于控制文档的渲染、页面布局和搜索引擎优化,以提供更好的用户体验和搜索结果。

    一、使用随机的回调函数名

    使用安全的回调函数名:确保 JSONP 请求使用的回调函数名不是用户输入的,以防止用户注入恶意脚本在 JSONP 中,为了确保安全,通常需要使用一个随机生成的回调函数名。以下是一个示例代码,演示如何在 JavaScript 中生成一个随机的回调函数名并使用它创建 JSONP 请求:

    1. // 生成一个随机的回调函数名
    2. function generateCallbackName() {
    3. const callbackName = 'callback' + Math.floor(Math.random() * 100000);
    4. return callbackName;
    5. }
    6. // 创建一个 JSONP 请求
    7. function createJSONPRequest(url) {
    8. // 生成随机的回调函数名
    9. const callbackName = generateCallbackName();
    10. // 在全局作用域中定义回调函数
    11. window[callbackName] = function (data) {
    12. // 在这里处理 JSONP 请求的响应数据
    13. console.log('JSONP response:', data);
    14. // 清除全局回调函数
    15. delete window[callbackName];
    16. };
    17. // 动态创建 script 标签来加载 JSONP 资源
    18. const script = document.createElement('script');
    19. script.src = `${url}?callback=${callbackName}`;
    20. // 将 script 标签添加到文档中
    21. document.body.appendChild(script);
    22. }
    23. // 使用示例
    24. createJSONPRequest('https://example.com/api/data');

    二、在head中设置meta标签

    使用 Content Security Policy(CSP):CSP 是一种安全政策,用于控制浏览器加载外部资源的方式。通过设置 CSP 头,可以限制允许执行的脚本来源,从而减少 XSS 风险。

    "Content-Security-Policy" content="script-src 'self'">
    
  • 相关阅读:
    springboot(ssm学生作业管理系统 在线作业管理平台 Java(code&LW)
    js knex基本用法
    最高人民法院:跨境赌博利用区块链、虚拟货币等新兴技术逃避打击
    Kotlin文件遍历FileTreeWalk filter
    Jpa使用Specification分页查询
    各种信息论坛
    18. Spring类型转换之ConversionService
    STL 红黑树源码分析
    36个顶级数据分析方法与模型,学会任意1种,都能让你超越95%的人
    多线程之任务调度线程池
  • 原文地址:https://blog.csdn.net/czlj1998/article/details/134023872