用于验证 Active Directory 对象 SID 的正则表达式

2024-01-25

我正在寻找一种方法来验证从 Active Directory 插入的对象 SID 是否有效,是否可以使用preg_match() or preg_match_all()? 我在网上查找了用于此验证的正则表达式,但我找不到任何东西。

Example:

$sid = 'S-1-5-21-1220945662-1202665555-839525555-5555';

if ($validator->validateSid($sid)) {
    // SID is valid!
}

我不擅长编写正则表达式,所以如果有人有任何意见,请告诉我,谢谢!

编辑:对于任何寻找具有以下正则表达式的代码的人:

preg_match("/^S-1-[0-5]-\d{2}-\d{10}-\d{10}-\d{9}-[1-9]\d{3}/", $search, $matches);

// Returns
array(
    0 => S-1-5-21-1220945662-1202665555-839525555-5555
)

或者对于更宽松的模式:

preg_match("/S-1-5-21-\d+-\d+\-\d+\-\d+/", $sid, $matches);

// Returns
array(
    0 => S-1-5-21-1220945662-1202665555-839525555-5555
)

hjpotter92 的答案适用于某些 SID,但不是全部。 每个子权限由一个 32 位整数组成,可以是 10 位数字,也可以是 8 位数字。您应该将正则表达式编辑为:

/^S-1-[0-59]-\d{2}-\d{8,10}-\d{8,10}-\d{8,10}-[1-9]\d{3}/

每当 Windows 下创建新的发行机构时(例如 例如,部署一台新机器或创建一个域),它被分配一个 SID以5(任意值)作为权限标识符;一个固定的 值 21 用作该组的根的唯一值 下属机构和创建并分配 96 位随机数 三个下属机构,每个下属机构收到 32 位块。

https://msdn.microsoft.com/en-us/library/cc246018.aspx https://msdn.microsoft.com/en-us/library/cc246018.aspx

SID 是如何创建的 https://i.stack.imgur.com/MXntk.png

https://en.wikipedia.org/wiki/Security_Identifier https://en.wikipedia.org/wiki/Security_Identifier

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用于验证 Active Directory 对象 SID 的正则表达式 的相关文章

  • 用户可以更改 PHP 中 $_SESSION 的值吗?

    这是我的想法 我想知道是否可能 将信息存储在 PHP 的 SESSION 变量中有多安全 在 SESSION 变量中存储变量有两个潜在的 不安全 风险 另一个答案所描述的第一个称为 会话固定 这里的想法是 由于会话 ID 存储在 cooki
  • PHP 通过 SSL 连接到 MS SQL

    我想要实现的目标非常简单 我想通过安全连接从 PHP 脚本连接到外部 MS SQL 数据库 然而 这已被证明是有问题的 到目前为止 经过三个小时的研究 我不知所措 客户端的平台是Ubuntu 这意味着我无法使用SQLSRV 安全连接已经在不
  • 解析西班牙姓氏

    西班牙姓氏由三部分组成 父亲的名字 可选的母亲姓名 可选配偶的父亲姓名 这三个部分中的每一部分都是一个单词 前面可能带有 De Del De La De Los 或 De Las 这些前缀中的每一个都以大写字母开头 并且每个部分可能只有一个
  • PHP MongoDb 驱动程序:如何设置执行代码的超时

    我有以下代码 它在 MongoDb 端执行一段代码 mongoCode new MongoCode Some JS code db gt execute mongoCode array socketTimeoutMS gt 1000000
  • 如何在 GitHub Action 中使用不同版本的 PHP 进行测试

    我有一些 PHP 代码 其中包含使用以下命令运行的测试PHPUnit并想对其进行测试GitHub Actions 我在他们的文档中找不到测试 PHP 包的方法 我想使用不同版本的 PHP 进行测试 但他们只有最新的版本7 3安装 您可以添加
  • 如何在 PHP 的 HTML 页面中显示错误消息?

    我有以下登录表单 login php 其中要求输入用户名和密码
  • Perl 非贪婪

    我遇到非贪婪正则表达式 regex 的问题 我已经看到有关于非贪婪正则表达式的问题 但它们没有回答我的问题 Problem 我正在尝试匹配 lol 锚点的 href Note 我知道这可以通过 Perl HTML 解析模块来完成 我的问题是
  • 使用 PHP glob 列出 FTP 服务器上的文件不起作用

    我使用此代码来访问目录 location files pictures glob location png 我想使用 FTP 访问远程路径 location opendir ftp user password host name files
  • 覆盖 FOS 用户包中的“更改密码”模板

    我做了一些研究 遗憾的是找不到任何帮助 因此 我将 FOSUserBundle ChangePasswordAction 渲染到我的模板中 但它显示供应商提供的默认模板 我的渲染控制器的模板 block body h2 Einstellun
  • 使用值填充的 Symfony2 自定义字段类型

    这是先前问题的后续问题Symfony2 自定义表单类型或扩展 https stackoverflow com questions 24079288 symfony2 custom form type or extension 我正在尝试为订
  • 为什么我只得到第一个捕获组?

    https stackoverflow com a 2304626 6607497 https stackoverflow com a 2304626 6607497 and https stackoverflow com a 370042
  • 如何在 Windows 上安装 Zend 框架

    安装 Zend Framework 就是这么简单 是的 对 好吧 我正在写一本初学者的书 有一件不太详细的事情是最重要的部分 安装该死的东西 浏览了几个小时的快速入门指南后 它只说 下载 Zend 添加包含目录 bla bla 然后就完成了
  • 如何处理 REST api 中的 php 通知、警告和错误?

    在 REST API 中 200 响应表明操作成功 PHP 默认情况下直接在响应正文中输出错误消息 而不更改响应代码 在 SPA 中 用户无法直接看到响应文本 因此 当应用程序未按预期工作时 我通过 FireBug 检查响应正文 以检查可能
  • PHP 接口有属性吗?

    PHP 中的接口有属性 还是只有方法 您可以在 DocBlock 中为接口声明属性 然后 IDE 将提示接口的这些属性 PhpStorm 会这样做 但这不会强制在实现类中实际实现这些字段 例如 property string passwor
  • php - 解析html页面

    div divbox div p para1 p p para2 p p para3 p table class table tr td td tr table p para4 p p para5 p 有人可以告诉我如何解析这个 html
  • PHP 检查当前日期是在设定日期之前还是之后

    我从数据库中提取一个日期 其格式为 dd mm YYYY 我想做的是检查当前日期 如果当前日期早于数据库中的日期 则需要打印数据库日期 如果是在之后 则需要打印 继续 有人能指出我正确的方向吗 if strtotime database d
  • PHP 表单 - 带验证蜜罐

    我有以下内容 效果很好 但对垃圾邮件机器人开放 我想放入蜜罐 而不是验证码 下面的代码适用于验证姓名 电子邮件 消息 但我无法让它与蜜罐一起工作 任何人都可以查看 蜜罐 代码并告诉我如何修复它吗 我希望表单给出 success2 不允许垃圾
  • 在本地 SDK 服务器上工作时,实时 Google App Engine 上出现 404

    我已经在GAE标准环境上部署了几个PHP应用程序 一切正常 现在我正在部署一个新应用程序 该应用程序位于由gcloudSDK按预期工作 终端命令 dev appserver py log level warning app yaml 问题是
  • Javascript Replace() 和 $1 问题

    我正在尝试创建一个脚本来搜索文本中的模式并在它找到的字符串周围包裹一个标签 shop attributes td each function this html function i html return html replace E 0
  • 如何从日期中查找该月的最后一天?

    如何在 PHP 中获取该月的最后一天 Given a date 2009 11 23 我要2009 11 30 并给出 a date 2009 12 23 我要2009年12月31日 t返回给定日期所在月份的天数 请参阅的文档date ht

随机推荐

  • 带有 x86-64 组件的谐波系列

    尝试计算调和级数 现在我正在输入我想要添加的数字 当我输入像 1 2 这样的小数字时 程序只是停止 不会崩溃 它似乎正在进行计算 但它永远不会完成程序 这是我的代码 denominator xor r14 r14 zero out r14
  • MVC:我可以在控制器外的类内部使用 ModelState 吗?

    我可以在一节课上做这个吗 using System Web Mvc public static class aaa public static test if something ModelState AddModelError test
  • 安装 opencv-python-headless 需要很长时间

    当我安装时opencv python headless在 Google Colab 中 需要 15 分钟才能完成 My code pip install upgrade pip pip install opencv python headl
  • 在 Android studio 2.2.3 中找不到工具 > Firebase

    根据开发人员指南 https developer android com studio write firebase html https developer android com studio write firebase html 我
  • 验证库 (.lib) 中使用的 CRT

    如何检查 Windows 中的静态库 lib 链接到哪个运行时库 我正在使用 MDd 编译我的项目 并且我假设我链接到的库正在使用 MTd 多线程调试 Error 7 error LNK2005 public thiscall std Lo
  • 为什么我的手机无法访问电脑网络?

    我有一个问题 昨天我可以从手机访问我的计算机网络 但今天它不起作用 为什么会这样 我准备的东西 我已经使用 XAMPP 运行本地服务器 我已经开始Apache and MySQL 我通过 WIFI 连接到同一网络 我的手机是通过USB连接到
  • 在 IIS6 上使用 Decimal In Route 进行路由

    我的 MVC3 项目中有一条路线 当通过调试器和 IIS7 运行时 该路线在本地运行得非常好 但是 我们的服务器是 IIS6 当我将应用程序移出时 我收到 找不到页面 错误 我的猜测是这与路线中的小数有关 所以我尝试实现一个 RouteHa
  • 如何将参数传递给 webpack.config.js?

    我正在跟进these https www hipstercode com blog 27 指令基于this https github com vuejs templates webpack tree master template项目 官方
  • 在视图上创建全文索引时出现问题

    我有一个这样创建的视图 CREATE VIEW dbo vwData WITH SCHEMABINDING AS SELECT DataField1 DataField2 DataField3 FROM dbo tblData 当我尝试在其
  • 有时会出现模式关闭时的空白屏幕

    我有一个动态创建的表格 每行都有按钮 如果我单击按钮 模式将打开以输入模式后面带有黑屏的详细信息 单击接受按钮时 模式将关闭 黑屏必须消失 它有时会消失 但在其他情况下不会消失 这就是在模式中单击 接受 按钮后我的屏幕有时会出现的情况出现的
  • 无法调用基类的受保护函数?

    我无法在基类中调用受保护的函数 为什么 它看起来像这样 class B B2 public virtual f1 B 0 protected virtual f2 B codehere class D public B public vir
  • Matlab 中的相关可观测属性。有效吗?

    在 Matlab 类中 声明在语法上似乎是正确的property那是依赖者 计算未存储 和可观察的在同一时间 考虑代码 properties Access private instanceOfAnotherClass end propert
  • Android 上有时会忽略 LD_LIBRARY_PATH

    我有一个 Android 应用程序 它会生成许多与我随包分发的库动态链接的本机可执行文件 为了启动这些二进制文件 我使用 LD LIBRARY PATH 环境变量让它们知道从中加载库的位置 但在某些设备上这根本不起作用 LD LIBRARY
  • 如何将无头铬模块与AWS Lambda捆绑在一起?

    我尝试将 Puppeteer 与 Lambda 结合使用 但是 在无服务器部署中 由于超过 250mb 未捆绑包大小限制 Lambda 会出错 因此 为了突破限制 我改用了 Puppeteer 核心 它不包含铬 这需要引用可执行文件的路径来
  • 是否有库或其他方法可以进行 128 位数学运算?

    我正在编写一个加密应用程序 需要使用 128 位整数 除了标准的加 减 乘 除和比较之外 我还需要幂和模函数 有谁知道可以做到这一点的库或其他实现 如果不是 128 位 是否有 64 位选项可用 查看GNU 多精度算术库 http gmpl
  • 如何在react中为状态分配prop值

    我有一个覆盖层 它是从另一个 React 组件启动的 该组件有一个也会自行更改的按钮 当用户单击按钮时 更改就会发生 然后按钮会更改其类名 它还向作为覆盖层的子组件发送一个 prop 值 叠加层会根据属性以及是否单击添加一个类 一切都进展顺
  • 哪个 openid / oauth 库可将 django 项目连接到 Google Apps 帐户?

    我正在为一家使用 Google Apps 登录的公司开发一个 Intranet django 项目 不使用 GAE 所以我希望我的用户能够使用他们的 google 帐户登录来登录我的 django 项目 OpenID 似乎很合适 尽管也许
  • 在ggplot2中自定义“scale_color_gradient2”

    我想在我的图像图中使用我自己的特定颜色 我对 ggplot2 很陌生 所以看了它的手册here http docs ggplot2 org current scale gradient2 html 旧链接不存在 现在是here https
  • TFS 2005下永久删除

    如何永久删除 TFS 2005 源代码管理下的文件夹 文件 我知道关于tf destroy命令 但这仅适用于 TFS 2008 我也知道关于CodePlex 上的 TFS PowerPack http tfspowerpack codepl
  • 用于验证 Active Directory 对象 SID 的正则表达式

    我正在寻找一种方法来验证从 Active Directory 插入的对象 SID 是否有效 是否可以使用preg match or preg match all 我在网上查找了用于此验证的正则表达式 但我找不到任何东西 Example si