问题是:
我在(donate / index.php)
中有以下功能
函数submitted_amount() { global $ db,$ user,$ auth,$ template,$ current_dir; global $ config,$ phpbb_root_path,$ phpbb_admin_path,$ phpEx;
include ($phpbb_root_path . 'includes/functions_user.' . $phpEx);
include ($phpbb_root_path . 'includes/functions_posting.' . $phpEx);
include_once ($phpbb_root_path . 'donate/functions_donate.' . $phpEx);
$submitted_amount = (isset($_POST['submitted_amount'])) ? true : false;
$sql = 'UPDATE ' . DONATION_TABLE . "
SET config_value = '" . $submitted_amount . "'
WHERE config_name = 'submitted_amount'";
$result = $db->sql_query($sql);
}
page_header($ user-> lang ['DONATE_EXPLAIN'],false);
submitted_amount();
$模板 - > set_filenames(阵列( 'body'=> '捐赠/ index_body.html') );
>
现在文件:(styles / prosilver / template / donate / index_body.html)
它有以下一行
<输入类型='文字'名称='submitted_amount'id ='submitted_amount'value =''size =“25”tabindex =“1”maxlength ='9'class ='inputbox_d'align =“top”>
< form action ='{U_DONATE_CONFIRM}'method ='post'>
<输入类型='提交'class =“button1”name ='submit'value ='{L_SUBMIT}'>
如果您需要更多说明,请告诉我。我向您展示了HTML和我的代码的PHP之间的所有可能的联系。数据库列在那里,那我的问题是什么?
答案 0 :(得分:1)
首先关闭:
$submitted_amount = (isset($_POST['submitted_amount'])) ? true : false;
这不应该是submitted_amount
的价值吗?它只会是true
或false
。
快速解决方法是将true
更改为$_POST['submitted_amount']
,但是除非您在其中的某处添加一些变量检查,否则您将完全放弃SQL注入。