我想知道的是,当表单数据直接从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服务返回到同一页面。但问题是它安全吗?这种类型有什么缺点吗?如果是,那么那些是什么?
答案 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事件提供文件名