小编Seb*_*rez的帖子

Grails createCriteria group by

如何使用grails中的createCriteria获取类似MYSQL查询的内容?

    SELECT * 
      FROM engine4_user_fields_values
     WHERE field_id = 31 OR field_id = 24 
  GROUP BY item_id;
Run Code Online (Sandbox Code Playgroud)

如果我使用这样的东西,它工作正常:

def items = items_c.list{
        'in'('fieldId',field_ids)
        projections{
            groupProperty("itemId")
        }
    }
Run Code Online (Sandbox Code Playgroud)

但是我需要像这样定义order,max和sort字段:

def items = items_c.list(max:5, sort:"itemId", order:"desc"){
        'in'('fieldId',field_ids)
        projections{
            groupProperty("itemId")
        }
    }
Run Code Online (Sandbox Code Playgroud)

但这会让我有不同的行与'item_id'相同

我能做什么?

grails

6
推荐指数
1
解决办法
8118
查看次数

如何避免"PHP注入"

我有这个脚本

<?php $number = %value%; ?>
Run Code Online (Sandbox Code Playgroud)

%value%标记将被用户输入的DB上的值替换.

我担心的是有人输入的内容如下:

1; echo phpinfo()
Run Code Online (Sandbox Code Playgroud)

替换的结果将是:

<?php $number = 1; echo phpinfo(); ?>
Run Code Online (Sandbox Code Playgroud)

这显然是一种安全风险.

是否有一个函数来逃避php脚本字符或我可以使用的东西?

提前致谢.

上下文

这是我正在研究的CMS上的工具,通常工具生成添加到某些PHP文件的HTML代码.

在这种情况下,此工具从RSS通道生成HTML结构.我们要求用户输入RSS URL和要显示的提要数,我们将这些值替换为PHP脚本,并使用它们获取提要并以HTML结构显示它们.

像这样:

<?php
  $url = "URL"; //comes from DB
  $number = N; //comes from DB
  $feeds = getFeeds($url, $number);
  ...
?>
Run Code Online (Sandbox Code Playgroud)

php security

2
推荐指数
1
解决办法
466
查看次数

标签 统计

grails ×1

php ×1

security ×1