Libpsl - PSL 验证库


MIT
跨平台
C/C++

软件简介

Libpsl 是一个 C 库,提供了用来根据 Mozilla Public Suffix List 检查域名的功能。这用来验证 Cookie 和证书的
Domain 信息很有用。每个 Web 客户端在处理 Cookie 的时候都应该使用 PSL 数据来确保安全私密性。

示例代码:

#include <stdio.h>
#include <libpsl.h>

int main(int argc, char **argv)
{
    const char *domain = "www.example.com";
    const char *cookie_domain = ".com";
    const psl_ctx_t *psl = psl_builtin();
    int is_public, is_acceptable;

    is_public = psl_is_public_suffix(psl, domain);
    printf("%s %s a public suffix.\n", domain, is_public ? "is" : "is not");

    is_acceptable = psl_is_cookie_domain_acceptable(psl, domain, cookie_domain);
    printf("cookie domain '%s' %s acceptable for domain '%s'.\n",
        cookie_domain, is_acceptable ? "is" : "is not", domain);

    return 0;
}