function simple_form($form_state) {
$form['item'] = array('#type' => 'hidden', '#value' => 'some_value');
$form['#action'] = 'http://external-website.com/';
$form['submit'] = array(
'#type' => 'submit',
);
return $form;
}
简单的Drupal表单,用drupal_get_form(simple_form)
调用。Drupal - 保护表单数据免遭篡改
不幸的是,将'item'的值更改为表单中的其他内容并将该值发送到外部网站非常简单。
据我所知,在离开我的网站之前没有办法检查表单。
function simple_form_validate()
并提交从未得到调用。
我该如何预防?将操作设置为内部函数,然后在验证后提交它?我会怎么做呢?
不幸的是,设置
$form['item'] = array('#type' => 'value', '#value' => 'some_value');
不起作用?外部网站没有收到'item'的值。
有什么建议吗?
我很清楚_submit和_validate不会被调用;)我只想过滤这些答案,然后人们回复“使用_validate并提交函数!!”。感谢您的回复。我认为它会归结为什么。任何关于如何在_submit()中生成表单的建议?使用cURL发布它? – 2010-10-06 09:13:08
如何在_submit中处理完全取决于接收站点的能力:直接在其(SQL)数据库中?注入一个线轴系统? XMLRPC?肥皂? REST类型的? JSON? – berkes 2010-10-06 14:10:41