[TBID:SCRUM-7403] fix: apprid存在SQL注入漏洞

# Conflicts:
#	app/console/controller/admin/iostockorder.php
#	app/console/controller/admin/stockdump.php
#	app/console/lib/finder/stockdump.php
#	app/console/view/admin/iostock/instock_item.html
#	app/console/view/admin/iostock/outstock_item.html
#	app/console/view/admin/stockdump/stockdump_detail_item.html
#	app/console/view/admin/stockdump/stockdump_more_item.html
This commit is contained in:
chenping
2026-07-06 21:48:12 +08:00
parent b4ecc9a93f
commit e1abe4d964
6 changed files with 8 additions and 194 deletions

View File

@@ -1152,70 +1152,6 @@ class console_ctl_admin_iostockorder extends desktop_controller
$this->finder('taoguaniostockorder_mdl_iso', $params);
} // end func
/**
* 更多
* @param type $varname description
* @return type description
* @access public
* @author cyyr24@sina.cn
*/
public function more_items($iso_id)
{
$basicMaterialObj = app::get('material')->model('basic_material');
$basicMaterialLib = kernel::single('material_basic_material');
$basicMaterialBarcode = kernel::single('material_basic_material_barcode');
$isoObj = app::get('taoguaniostockorder')->model('iso');
$iso = $isoObj->dump($iso_id, 'iso_id', array('iso_items' => array('*')));
foreach ($iso['iso_items'] as $k => $order_item) {
$product = $basicMaterialObj->dump(array('bm_id' => $order_item['product_id']), 'bm_id, material_bn, material_name');
#查询关联的条形码
$product['barcode'] = $basicMaterialBarcode->getBarcodeById($order_item['product_id']);
$order_item['spec_info'] = $product['spec_info'];
$order_item['barcode'] = $product['barcode'];
$iso['iso_items'][$k] = $order_item;
}
$finder_id = $_GET['_finder']['finder_id'];
$appr_id = $_GET['apprid'];
$render = app::get('console')->render();
$itemObj = app::get('console')->model('stockdump_items');
$omeObj = app::get('ome')->render();
$page = $_GET['page'] ? $_GET['page'] : 1;
$pagelimit = 10;
$offset = ($page - 1) * $pagelimit;
$sql = "SELECT COUNT(*) FROM `sdb_console_stockdump_items` WHERE stockdump_id =" . $appr_id;
$tmp = kernel::database()->select($sql);
$items = $itemObj->getList('*', array('stockdump_id' => $appr_id), $offset, $pagelimit);
$count = $tmp[0]['COUNT(*)'];
$total_page = ceil($count / $pagelimit);
$pager = $this->ui()->pager(array(
'current' => $page,
'total' => $total_page,
'link' => 'index.php?app=console&ctl=admin_stockdump&act=more_items&apprid=' . $appr_id . '&page=%d',
));
if ($items) {
foreach ($items as $key => $item) {
//将商品的显示名称改为后台的显示名称
$product = $basicMaterialObj->dump(array('material_bn' => $items[$key]['bn']), 'bm_id');
$product_name = $basicMaterialLib->getBasicMaterialExt($product['bm_id']);
$items[$key]['product_name'] = $product_name['material_name'];
$items[$key]['spec_info'] = $product_name['spec_info'];
$items[$key]['unit'] = $product_name['unit'];
}
}
$render->pagedata['items'] = $items;
$render->pagedata['pager'] = $pager;
$this->singlepage('admin/stockdump/stockdump_more_item.html');
}
/**
* 单据发送至第三方.
* @param

View File

@@ -238,65 +238,15 @@ class console_ctl_admin_stockdump extends desktop_controller{
}
}
/**
* more_items
* @return mixed 返回值
*/
public function more_items(){
$finder_id = $_GET['_finder']['finder_id'];
$appr_id = $_GET['apprid'];
$render = app::get('console')->render();
$basicMaterialObj = app::get('material')->model('basic_material');
$basicMaterialLib = kernel::single('material_basic_material');
$itemObj = app::get('console')->model('stockdump_items');
$omeObj = app::get('ome')->render();
$page = $_GET['page'] ? $_GET['page'] : 1;
$pagelimit = 10;
$offset = ($page-1)*$pagelimit;
$sql = "SELECT COUNT(*) FROM `sdb_console_stockdump_items` WHERE stockdump_id =".$appr_id;
$tmp = kernel::database()->select($sql);
$items = $itemObj->getList('*',array('stockdump_id'=>$appr_id),$offset,$pagelimit);
$count = $tmp[0]['COUNT(*)'];
$total_page = ceil($count/$pagelimit);
$pager = $this->ui()->pager(array(
'current'=>$page,
'total'=>$total_page,
'link'=>'index.php?app=console&ctl=admin_stockdump&act=more_items&apprid='.$appr_id.'&page=%d&finder_id='.$finder_id,
));
if ($items)
foreach ($items as $key => $item)
{
//将商品的显示名称改为后台的显示名称
$bm_ids = $basicMaterialObj->dump(array('material_bn'=>$items[$key]['bn']), 'bm_id');
$product_name = $basicMaterialLib->getBasicMaterialExt($bm_ids['bm_id']);
$items[$key]['product_name'] = $product_name['material_name'];
$items[$key]['spec_info'] = $product_name['specifications'];
$items[$key]['unit'] = $product_name['unit'];
}
$render->pagedata['items'] = $items;
$render->pagedata['pager'] = $pager;
$this->singlepage('admin/stockdump/stockdump_more_item.html');
}
/**
* 获取_wms_branch
* @return mixed 返回结果
*/
public function get_wms_branch(){
$branch_id = $_POST['branch_id'];
$branch_id = intval($_POST['branch_id']);
if ($branch_id <= 0) {
echo '';
return;
}
$branch_model = app::get('ome')->model('branch');
$sql = "SELECT wb.wms_id,wb.branch_bn FROM `sdb_ome_branch` as wb
WHERE wb.branch_id = ".$branch_id;
$sql = "SELECT wb.wms_id,wb.branch_bn FROM `sdb_ome_branch` as wb WHERE wb.branch_id = ".$branch_id;
$wms_info = kernel::database()->select($sql);
$bn_array = array();
$bn_str = '';