草庐IT

validate_by_input

全部标签

php - php.ini 中的 max_input_vars 实际影响什么,什么是安全的高值?

我知道max_input_vars的php.ini值默认为1000(我使用的是5.6版)。我的POST数据被截断了,所以我需要增加值。这确实解决了我的问题。更改这些值时,我只想了解它实际上具体影响了什么。如果我向后端发送一个数据数组,这是否意味着它只能包含大约1000个元素?我的表格总和似乎没有达到1000个输入字段,所以我想弄清楚这个数字是干什么用的。我可以达到的安全上限是多少?10000会不会太高了? 最佳答案 基本上这就是我们所说的“健全性检查”。它将请求限制在合理的水平,以防止诸如拒绝服务攻击之类的事情发生。Fromthem

php - API 安全 : how to restrict access by domain?

我公开了一个简单的API,需要确保只有授权用户才能访问它。我将提供一个APIkey来进行身份验证。但是,我还想将APIkey关联到某个域(意思是,它应该只有在从授权域使用时才有效)。如果从授权域访问,我如何检查API端?HTTP_REFERER显然不可靠。有什么建议吗? 最佳答案 您要公开哪种API?有许多不同类型的API-我假设您没有公开操作系统的API...假设您想要公开一些网络应用程序的API,您可以看看OAuth,它基于回调URL-您可以只阻止某些域通过回调URL被调用。阅读更多关于OAuth的信息.

php - Sonata admin - “order by” 不适用于实体

我无法在sonata管理列表中进行实体排序,这是我的实体:classUserextendsBaseUser{/***@ORM\ManyToOne(targetEntity="Region",inversedBy="users")*/protected$preferredRegion;}这是configureListFields定义:protectedfunctionconfigureListFields(ListMapper$listMapper){$listMapper->add('preferredRegion',NULL,array('label'=>'PreferredRegi

php - 我可以使用 <input type ="button"/> 提交表单值吗?

我正在研究一个搜索引擎,我遇到了一个非常严重的问题GET和POST方法。我正在使用以避免每次按下按钮时页面都刷新。按下按钮后,我会显示一个结果(google_map、monumet图片、规范)。现在的问题是我想通过按此按钮提交并显示表单值+结果(google_map、monumet图片、规范)。这是一个问题,因为不提交表单值,我真的被卡住了。 最佳答案 当然,这是一个适合您的示例:index.phpWorkingExample$(document).ready(function(){$('#search-button').click

spring-boot-starter-validation数据校验全局异常拦截处理

一、为什么使用Validation来验证参数通常我们在使用spring框架编写接口时,对于部分接口的参数我们要进行判空或者格式校验来避免程序出现异常。那是我们一般都是使用if-else逐个对参数进行校验。这种方法按逻辑来说也是没有问题的,同样也能实现预期效果。但是,这样的代码从可读性以及美观程序来看,是非常糟糕的。那么,我们就可以使用@valid注解来帮助我们优雅的校验参数。二、如何使用Validation相关注解进行参数校验为实体类中的参数或者对象添加相应的注解;在控制器层进行注解声明,或者手动调用校验方法进行校验;对异常进行处理;三、Validation类的相关注解及描述验证注解验证的数据

PHP 可搜索迭代器 : catch OutOfBoundsException or check valid() method?

所以我不确定这是否是PHP的错误设计,或者是否存在处理同一界面的不一致结果的可理解逻辑。SeekableIterator接口(interface)有两个方法(seek和valid),它们要么相互冲突,要么应该一致地工作,但我看到两者。接口(interface)文档说seek应该抛出类OutOfBoundsException的异常,但这似乎否定了valid的用处,除非更新迭代器位置(使valid在抛出异常(显然必须捕获)之前返回false)。三个测试例子例子1.实现SeekableIterator的自定义类,如文档中的示例所提供的:类(class):classMySeekableIter

php - Laravel Multiple Validator Wrong 错误信息

问题:当上传的文件超过5000kb时,验证器返回“required”消息而不是“max”消息。为什么?$file=(Input::file('inputName'));$fileValidator=Validator::make(array('FieldName'=>$file),array('FieldName'=>'required|max:5000|mimes:jpeg,png,bmp'));if($fileValidator->fails()){return$fileValidator->errors()->all(':message');}更新:这个问题尤其发生在*.psd文

php - 存储 php ://input in a variable 的内容

我正在尝试用PHP编辑和调整其他人的REST服务器。它基于RESTServer由菲尔·斯特金撰写。我几乎明白了所有这些,但我的请求没有按预期工作。在服务器构造函数中是代码switch($this->request->method){case'post':$this->_post_args=$_POST;$this->request->formatand$this->request->body=file_get_contents('php://input');break;}我知道php://input只能读取一次,所以在设置变量之前执行var_dump(file_get_contents

php - Url 在 codeigniter 中无法正常工作,给出错误 "No input file specified"。

我将我的codeigniter应用程序上传到演示服务器。Homepage打开正常,但其他页面显示error.我将配置文件中的baseurl更改为:$config['base_url']='http://globalcfos.com/cfoask/';它在本地运行良好。知道如何解决吗? 最佳答案 看起来您是在GoDaddy上托管的,之前遇到过同样的问题,将您的.htaccess文件更改为以下应该可以解决它。RewriteEngineOnRewriteBase/RewriteCond%{REQUEST_FILENAME}!-fRewri

php - max_input_vars 和序列化数据

我在页面上有大量的输入元素,应该通过ajax提交给服务器。我已经创建了一个数组并试图发送它,但是我收到了一个php警告:“您的PHP配置限制了要在表单中发布的最大字段数:max_input_vars为1000”所以,我决定绕过这个警告并将我所有的巨大数组修改为序列化字符串。结果-警告消失了,但我在服务器端得到了截断的数据。附言在这两种情况下,问题都可以通过增加max_input_vars变量来解决。但是在第二个数据中,数据被parse_str($_POST['data'],$data)函数截断了!为什么在我尝试解析一个巨大的字符串时应用了“max_input_vars”的限制?