从onClick调用php服务是否安全?

时间:2017-03-09 09:13:06

标签: php

我想知道的是,当表单数据直接从onClick =“insert.php”POST到php服务时,那么它是否安全。请详细解释您的答案。 例如:

<form role="form" method="POST" enctype="multipart/form-data">
            <div class="form-group">
                <label>User Id</label>
                <input class="form-control" name="First Name">
            </div>
            <div class="form-group">
                <label>City Id</label>
                <input class="form-control" name="Last Name">
            </div>
<button type="submit" class="btn btn-primary" onclick="allowStory.php">Allow</button><button type="submit" class="btn btn-primary" onclick="insert.php">Insert</button>
</form>

它也通过执行我想要的php服务返回到同一页面。但问题是它安全吗?这种类型有什么缺点吗?如果是,那么那些是什么?

2 个答案:

答案 0 :(得分:5)

onclick中放置文件名无效,onclick属性必须包含Javascript代码。

如果您希望提交按钮转到特定脚本而不是表单的操作,请使用formaction属性。

<button type="submit" class="btn btn-primary" formaction="allowStory.php">Allow</button><button type="submit" class="btn btn-primary" formaction="insert.php">Insert</button>

执行此操作非常安全,与在action="scriptname.php"标记的<form>属性中指定表单操作没有什么不同。

答案 1 :(得分:0)

使用以下HTML

             <form role="form" method="POST" id="formsend" enctype="multipart/form-data">
        <div class="form-group">
            <label>User Id</label>
            <input class="form-control" name="First Name">
        </div>
        <div class="form-group">
            <label>City Id</label>
            <input class="form-control" name="Last Name">
        </div>
          <input type="submit" name="submit" value="Submit" /></form>

            <script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
          <script>
          $(document).on('submit', '#formsend', function()
      {  
       $.post('savedate.php', $(this).serialize(), function(data)
        {

     $("#sent").html(data);   


        });

     return false;

     });

并创建一个savedata.php或任何其他名称,并将您的PHP代码保存在其中。你不能给onclick事件提供文件名