草庐IT

ordering-filters

全部标签

PHP Filter,如何过滤输入数组

我正在使用PHP过滤器对表单数据执行基本的清理和验证。我遇到的主要问题是我标记了我的表单,以便所有数据都在一个数组中用于POST输入。例如表单字段、页面[名称]、页面[slug]、页面[正文]、页面[状态]等。使用以下内容:filter_input(INPUT_POST,'page[name]',FILTER_SANITIZE_STRING);ORfilter_input(INPUT_POST,"page['name']",FILTER_SANITIZE_STRING);我无法访问变量。有人可以告诉我使用filter_input()访问数组数据的正确名称 最

php - 如何将 pdo 的准备好的语句用于 order by 和 limit 子句?

我想使用一个准备好的语句,其中传入的参数用于ORDERBY和LIMIT子句,如下所示:$sql='SELECT*FROMtableORDERBY:sort:dirLIMIT:start,:results';$stmt=$dbh->prepare($sql);$stmt->execute(array('sort'=>$_GET['sort'],'dir'=>$_GET['dir'],'start'=>$_GET['start'],'results'=>$_GET['results'],));但是$stmt->fetchAll(PDO::FETCH_ASSOC);什么都不返回。有人可以指出

php - 如何将 pdo 的准备好的语句用于 order by 和 limit 子句?

我想使用一个准备好的语句,其中传入的参数用于ORDERBY和LIMIT子句,如下所示:$sql='SELECT*FROMtableORDERBY:sort:dirLIMIT:start,:results';$stmt=$dbh->prepare($sql);$stmt->execute(array('sort'=>$_GET['sort'],'dir'=>$_GET['dir'],'start'=>$_GET['start'],'results'=>$_GET['results'],));但是$stmt->fetchAll(PDO::FETCH_ASSOC);什么都不返回。有人可以指出

php - 在 WooCommerce 3 中获取订单项目和 WC_Order_Item_Product

阅读WooCommerce3.0中的更改,似乎不再可能直接从订单项目中获取属性,因此我认为需要更改以下代码,因为它会吐出一个错误:$order_item_id=15;$order_item=newWC_Order_Item_Product($order_item_id);$return=$order_item->get_id()?$order_item:false;但是,令人尴尬的是,我不确定如何更改此代码以在不再具有构造的此类的最新版本中使用正确的新getter和setter函数。如何正确执行此操作?我没有看到任何get函数以与上述相同的方式获取订单项。https://docs.wo

php - 在 WooCommerce 3 中获取订单项目和 WC_Order_Item_Product

阅读WooCommerce3.0中的更改,似乎不再可能直接从订单项目中获取属性,因此我认为需要更改以下代码,因为它会吐出一个错误:$order_item_id=15;$order_item=newWC_Order_Item_Product($order_item_id);$return=$order_item->get_id()?$order_item:false;但是,令人尴尬的是,我不确定如何更改此代码以在不再具有构造的此类的最新版本中使用正确的新getter和setter函数。如何正确执行此操作?我没有看到任何get函数以与上述相同的方式获取订单项。https://docs.wo

PHP 安全 - (int) 与 FILTER_VALIDATE_INT

我最近被告知有FILTER_VALIDATE_INT顺便说一下,它很棒。我的问题是从网站获取整数值,无论它可能来自用户还是从网络应用程序生成,并通过查询字符串传递。值(整数)可能会在mysql查询中显示或使用。我正在尝试为此构建最佳的安全方法。考虑到这一点,简单地使用是否安全$myNum=(int)$_GET['num'];或者if(filter_var($_GET['num'],FILTER_VALIDATE_INT))$myNum=$_GET['num'];此外,请解释使用(int)和FILTER_VALIDATE_INT的区别 最佳答案

PHP 安全 - (int) 与 FILTER_VALIDATE_INT

我最近被告知有FILTER_VALIDATE_INT顺便说一下,它很棒。我的问题是从网站获取整数值,无论它可能来自用户还是从网络应用程序生成,并通过查询字符串传递。值(整数)可能会在mysql查询中显示或使用。我正在尝试为此构建最佳的安全方法。考虑到这一点,简单地使用是否安全$myNum=(int)$_GET['num'];或者if(filter_var($_GET['num'],FILTER_VALIDATE_INT))$myNum=$_GET['num'];此外,请解释使用(int)和FILTER_VALIDATE_INT的区别 最佳答案

php - FILTER_VALIDATE_URL 是否过于严格?

在PHP中,filter_var('www.example.com',FILTER_VALIDATE_URL)返回false。这个对吗?www.example.com不是一个有效的URL,或者协议(protocol)(http://、ftp://等)是否需要在URL中明确说明才能正式正确? 最佳答案 这不是一个有效的URL。用http://作为前缀从来都不是一件对用户非常友好的事情,所以如果你只是输入一个域名,现代浏览器就会假设你指的是http。软件库确实有点挑剔!您可以采用的一种方法是通过parse_url传递字符串,然后添加任何

php - FILTER_VALIDATE_URL 是否过于严格?

在PHP中,filter_var('www.example.com',FILTER_VALIDATE_URL)返回false。这个对吗?www.example.com不是一个有效的URL,或者协议(protocol)(http://、ftp://等)是否需要在URL中明确说明才能正式正确? 最佳答案 这不是一个有效的URL。用http://作为前缀从来都不是一件对用户非常友好的事情,所以如果你只是输入一个域名,现代浏览器就会假设你指的是http。软件库确实有点挑剔!您可以采用的一种方法是通过parse_url传递字符串,然后添加任何

php - FILTER_FLAG_STRIP_LOW 与 FILTER_FLAG_STRIP_HIGH?

引用PHP5中的filter_var函数:我访问过它的文档:http://php.net/manual/en/filter.filters.sanitize.php,但我仍然有这个问题:确切有何不同?为了更简单的说明,请提供一个例子。 最佳答案 标志在differentpageofthedocumentation中解释。.FILTER_FLAG_STRIP_LOW去除输入中数值nullbytes及其他controlcharacters例如ASCII铃。如果您打算将输入传递给另一个使用null-terminatedstrings的应用