Drupal:在使用drupal_bootstrap()时禁用输入验证


drupal: disable input validation when using drupal_bootstrap()

我已经创建了一个drupal 7模块,从数据库中的自定义表中提取数据。

数据库来自一个单独的管理区,它使用drupal的数据库和会话api,

drupal_bootstrap(DRUPAL_BOOTSTRAP_SESSION)

问题是,当我提交一个表单时,一个字段有一个url,它返回一个403禁止错误,记录没有更新/创建。

我检查了错误日志,没有任何显示,我猜这是因为drupal的核心输入验证。

帮忙吗?

这不太可能是验证问题,据我所知,Drupal核心中没有验证函数调用403头。

更有可能的是,你没有登录,所以无法访问你想提交的页面。您可以在呼叫drupal_bootstrap后立即"伪造"登录:

$form_state['uid'] = 1;
user_login_submit(array(), $form_state);

那应该能解决问题。如果您不希望脚本以完全权限运行,那么您可能需要使用1以外的用户ID(超级用户)。

希望有帮助