【问题标题】:is it safe? insert the data to db by user ..?安全吗?用户将数据插入数据库..?
【发布时间】:2010-12-17 14:21:56
【问题描述】:

我正在努力使访问者可以从前端或(索引页面)而不是管理页面注册..

首先,我制作了模板页面,名称为:注册用户

但我担心用户是否会做坏事(sql 注入 .. 等)..

这是我的代码..

if(!empty($_POST['user_name']) || !empty($_POST['email'])){
$user_login  = $_POST['user_name'];
$user_email  = $_POST['email'];
$random_password = wp_generate_password(5 , true );
wp_create_user( $user_login, $random_password, $user_email )

} else {
echo 'The user name or E-mail is empty';

}

还有,怎么知道这是不是email?

对不起,我的语言不好>_

【问题讨论】:

    标签: php wordpress wordpress-theming


    【解决方案1】:

    您可以使用wordpress中已经包含的功能:

    这里的详细信息: http://codex.wordpress.org/Function_Reference/is_email

    is_email()

    <?php if ( is_email( 'email@domain.com' ) ) {
          echo 'email address is valid.';
    } ?>
    

    可能还想使用函数username_exists() 验证“用户名”

    http://codex.wordpress.org/Function_Reference/username_exists

    <?php  
           $username = $_POST['username'];
           if ( username_exists( $username ) )
               echo "Username In Use!";
           else
               echo "Username Not In Use!";
    ?>
    

    【讨论】:

    • 很棒的功能..我以前不知道..非常棒..谢谢 jakub..
    • 这也很重要,如果用户名存在或不存在,我会写一个 sql 字符串.. 但是这个功能很容易使用也很棒.. 非常感谢我的朋友 Jakub ^_ ^
    • 很高兴为您提供帮助,尽情享受吧!如果使用 wordpress,请始终参考编解码器以节省宝贵的时间!
    • 谢谢,下次我会去codex再问.. ^_^
    【解决方案2】:

    这取决于wp_create_user 函数 - 它是否为您清理/转义数据?如果没有,你可能需要自己做(见mysql_real_escape_string

    【讨论】:

    • 啊哈,太好了..也许我会使用 mysql_real 转义字符串
    【解决方案3】:

    wp_create_user 函数应该可以安全地发送用户输入。

    第二部分由Jakub回答

    【讨论】:

      【解决方案4】:
      猜你喜欢
      • 1970-01-01
      • 2011-07-26
      • 2012-03-26
      • 2022-01-20
      • 1970-01-01
      • 1970-01-01
      • 2012-12-24
      • 1970-01-01
      • 2011-04-06
      相关资源
      最近更新 更多