承接 dereuromark/cakephp-expose 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

dereuromark/cakephp-expose

Composer 安装命令:

composer require dereuromark/cakephp-expose

包简介

CakePHP Expose Plugin to expose entities through UUIDs instead of AIIDs

README 文档

README

CI Codecov Latest Stable Version Minimum PHP Version License Total Downloads Coding Standards

Exposes UUIDs as public identifiers for your entities instead of numeric AIID (Auto Increment ID) primary keys.

This branch is for use with CakePHP 5.1+. For details see version map.

Key Goals

Cloaking/Obfuscation

  • True randomness, so you cannot determine order or count of records per time-frame.

Security

  • Mass assignment and marshalling does not allow setting this exposed field - it are hidden by default just as the primary key.

Robustness

  • Must work with also more complex queries and use cases, including the atomic updateAll(), deleteAll().
  • Speed should be similar to default approach.

Simplicity

  • Code changes from AIID exposure to UUID lookup should be minimal for all public endpoints.
  • The default shortener provided makes the UUIDs also only 22 chars long concise strings.

Why AIID and UUID as combination?

See Motivation for details.

Demo

See sandbox examples.

Installation

You can install this plugin into your CakePHP application using Composer.

The recommended way to install is:

composer require dereuromark/cakephp-expose

Then load the plugin with the following command:

bin/cake plugin load Expose

Usage

See Docs for details.

Quick Start for adding to existing records

Faster than the speed of light:

  • Add the behavior and run bin/cake expose add_field PluginName.ModelName {MigrationName} to generate a migration for adding the field.
  • Execute the migration and then populate existing records using bin/cake expose populate_field PluginName.ModelName
  • Re-run bin/cake expose add_field PluginName.ModelName {MigrationName} to get a non-nullable field migration for your new field.
  • After also executing that migration all new records will automatically have their exposed field stored as well.

You are done and can now adjust your public actions to query by exposed field only and hide the primary key completely. Using Superimpose behavior on top of Expose means that you actually might not even have to modify any code. Should work out of the box.

More migration tips in Migrating section.

统计信息

  • 总下载量: 34.51k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 9
  • 点击次数: 0
  • 依赖项目数: 1
  • 推荐数: 1

GitHub 信息

  • Stars: 9
  • Watchers: 3
  • Forks: 2
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2020-03-05

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固