使用Javascript创建帐户或是否容易出现安全风险是一个好主意?如果没问题,如果用户名或电子邮件地址已经存在,我需要能够显示一些错误。
e.g。
使用Javascript:
function createAccount() {
var new_user = $('#new-username').val();
var new_pass = $('#new-password').val();
var confirm_pass = $('#confirm-password').val();
var new_email = $('#new-email').val();
$.post('createaccount.php', {
new_user: new_user,
new_pass: new_pass,
confirm_pass: confirm_pass,
new_email: new_email
});
}
createaccount.php:
$new_username = mysqli_real_escape_string($conn,$_POST['new_user']);
$new_password = mysqli_real_escape_string($conn,$_POST['new_pass']);
$new_email = mysqli_real_escape_string($conn,$_POST['new_email']);
$confirm_password = mysqli_real_escape_string($conn,$_POST['confirm_pass']);
$query = mysqli_query($conn,"SELECT * FROM users WHERE username='$new_username'");
$numrows = mysqli_num_rows($query);
$query2 = mysqli_query($conn,"SELECT * FROM users WHERE email='$new_email'");
$numrows2 = mysqli_num_rows($query2);
...
echo json_encode(array('numrows'=>$numrows,'numrows2'=>$numrows2));
我需要能够以某种方式使用{。{1}}和numrows
$ .getJSON来警告某些错误(例如用户名已经存在,或者电子邮件地址已在使用中)。有什么办法吗?
答案 0 :(得分:2)
从Javascript代码发送的HTTP请求比从HTML表单发送的HTTP请求更安全或更不安全。
答案 1 :(得分:1)
没关系,但你应该像平常一样在你的PHP中进行安全检查,这样即使用户操纵Javascript,也不会发生任何恶意行为。
答案 2 :(得分:0)
另外两个答案总结得很好。只要您在服务器端剥离数据即可。还有一件事我认为应该提到。如果您没有SSL或其他加密方法设置,最好在发送之前在javascript中对其进行加密。通过这样做,您可以确保任何窥探的眼睛都不会获得通过互联网发送的数据的副本。它还可以帮助您避免让NSA获取您的数据副本。 Javascript没有加密的本机函数,因此您必须获得非本机库。只需google" javascript加密"你应该找到你想要的东西。有很多选择。祝好运。希望有所帮助。