首页
学习
活动
专区
圈层
工具
发布

PHP 通用表达式语言实现 CEL-PHP

CEL-PHP 是什么? 传统 PHP 项目中,这些任务往往依赖自定义解析器或第三方规则引擎,但 CEL-PHP 改变了这一切:它提供了一个快速、便携的求值器,能在毫秒级处理复杂表达式。...如果你正为 PHP 项目寻找一个可靠的表达式引擎,CEL-PHP 就是你的最佳拍档。...这个库由 Carthage Software 团队倾力打造,专为 PHP 8+ 优化,已通过严格测试,性能媲美原生代码。...异常:ParserException 带源代码位置,便于调试;EvaluationException 处理运行时错误,如未定义变量。 has() 是内置宏,检查字段是否存在,避免空指针问题。...结语 恭喜,你已掌握 CEL-PHP 核心!从简单计算到业务规则,这个库让你的 PHP 代码更声明式、更安全。下一个项目,试试用 CEL 实现 A/B 测试路由或动态定价吧。

14900
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    PHP代码规范

    2基本代码规范 2.1概览 l  PHP代码文件必须以 php 或 <?...= 标签开始; l  PHP代码文件必须以 不带BOM的 UTF-8 编码; l  PHP代码中应该只定义类、函数、常量等声明,或其他会产生 从属效应 的操作(如:生成文件输出以及修改.ini配置文件等...PHP标签 PHP代码必须使用 php ?> 长标签 或  短输出标签; 一定不可使用其它自定义标签。 2.2.2. 字符编码 PHP代码必须且只可使用不带BOM的UTF-8编码。...通则 3.2.1 基本编码准则 代码必须符合 PSR-1 中的所有规范。 3.2.2 文件 所有PHP文件必须使用Unix LF (linefeed)作为行的结束符。...所有PHP文件必须以一个空白行作为结束。 纯PHP代码文件必须省略最后的 ?> 结束标签。 3.2.3. 行 行的长度一定不能有硬性的约束。

    3.7K30

    PHP代码审计

    代码审计顾名思义就是检查源代码中的缺点和错误信息,分析并找到这些问题引发的安全漏洞,并提供代码修订措施和建议。...PHP代码审计 审计套路 通读全文法 (麻烦,但是最全面) 敏感函数参数回溯法 (最高效,最常用) 定向功能分析法 (根据程序的业务逻辑来审计) 初始安装 信息泄露 文件上传...,例如include($a.'.php'),需要截断后面的 .php 截取字符判断是不是 .php 用 zip (或者 phar )协议绕过 首先新建一个 1.php,里面 phpinfo,然后压缩成...任意文件复制,任意文件重命名,任意文件移动,任意文件下载 首先尝试拿到配置文件中的数据库连接账号和密码,然后外链 拿到配置文件,拿到加密解密函数的 key,生成加密字符串,结合具体的代码利用 1.文件删除...COOKIE 提交来的,而这里也把 COOKIE 循环出来,注册变量,所以这里在 COOKIE 里面提交 GLOBALS 就不会被检测出来,而且也成功注册了 GLOBALS 变量,所以再结合后面的一些些代码就造成了代码执行

    6.6K00

    PHP代码审计

    1.概述 代码审核,是对应用程序源代码进行系统性检查的工作。它的目的是为了找到并且修复应用程序在开发阶段存在的一些漏洞或者程序逻辑错误,避免程序漏洞被非法利用给企业带来不必要的风险。...代码审核不是简单的检查代码,审核代码的原因是确保代码能安全的做到对信息和资源进行足够的保护,所以熟悉整个应用程序的业务流程对于控制潜在的风险是非常重要的。...$_POST[‘lang’].’.php’,那么检查提交的数据是否是en或者cn是最严格的,检查是否只包含字母也不错 2.通过过滤参数中的/、..等字符 4.代码注入 PHP可能出现代码注入的函数:eval...设置 如果使用HTTPS,那么应该设置session.cookie_secure=ON,确保使用HTTPS来传输cookies 6.session固定 如果当权限级别改变时(例如核实用户名和密码后,普通用户提升到管理员...检查登录代码有无使用验证码等,防止暴力破解的手段 2.函数或文件的未认证调用 一些管理页面是禁止普通用户访问的,有时开发者会忘记对这些文件进行权限验证,导致漏洞发生 某些页面使用参数调用功能,没有经过权限验证

    4.6K50

    PHP代码审计

    代码审计顾名思义就是检查源代码中的缺点和错误信息,分析并找到这些问题引发的安全漏洞,并提供代码修订措施和建议。...PHP代码审计审计套路通读全文法 (麻烦,但是最全面)敏感函数参数回溯法 (最高效,最常用)定向功能分析法 (根据程序的业务逻辑来审计)初始安装信息泄露文件上传文件管理登录认证数据库备份恢复找回密码验证码越权注入第三方组件...重命名为 index.php.bak, 但是由于 Apache 的解析漏洞:如果无法识别到最后一个后缀的话,就会向上解析,那么就又变成了 php 了,然后结合安装时的变量覆盖又成重装了。...:http://localhost/php/include.php?...COOKIE 提交来的,而这里也把 COOKIE 循环出来,注册变量,所以这里在 COOKIE 里面提交 GLOBALS 就不会被检测出来,而且也成功注册了 GLOBALS 变量,所以再结合后面的一些些代码就造成了代码执行

    5.6K100

    Destoon 6.0 guestbook.php 通用SQL注入漏洞

    刚看到今天发布了Destoon 6.0 2017-01-09 更新,用我在【代码审计】小密圈里说过的方法,瞬间找到修复的一处SQL注入漏洞。用中午的20分钟,小小地分析一下。...mobile/guestbook.php 中将_SERVER['HTTP_USER_AGENT']删掉了。...php function add($post) { $post = $this->set($post); $sqlk = $sqlv = ''; foreach($post as...不过大家也看到了,这个注入有个30字符的限制,所以要注意一下几点: 怎么绕过长度限制,这个后面说 使用这个方法,就一定要以游客身份留言,否则会有更多没意义的键使长度限制更大 长度限制绕过 【代码审计】小密圈中...我们翻一下diff前面的代码就可以发现,登录用户其实是有很多可控字段的: <?

    2.8K20

    通用RPC代码生成器

    为了提高开发效率,我们需要一个通用的RPC代码生成器,能够支持多种RPC接入层级的代码生成,同时支持自定义插件和模板。并且自由增加自定义插件而不需要变更构建系统流程。...设计文档 代码生成器引擎版本和配置 目前 通用RPC代码生成器 有两个版本: Jinja2模板引擎: src/tools/generate-for-pb/jinja2-generator.py CMake...[HANDLE_PATH_PREFIX ] # 输出的handle注册代码路径前缀 [PROJECT_NAMESPACE ] # 项目命名空间...[HANDLE_PATH_PREFIX ] # 输出的handle注册代码路径前缀 [PROJECT_NAMESPACE ] # 项目命名空间...代码生成的层级分为两类,第一类是全局模板。对应配置中的 - global: 。另一类是层级模板,分为外层和里层。外层会对每个模板执行一次渲染,里层模板会对每个内部子结构分别做一次渲染。

    1K10
    领券