前端JS可以连接MYSQL数据库吗?和php有什么不同?

JavaScript013

前端JS可以连接MYSQL数据库吗?和php有什么不同?,第1张

Node.JS 服务器可以在 后端 连接mysql,这时的情况和php是一样的。

我从未见过前端JS直接连接mysql的,原因是:

(1)浏览器内置的javascript 引擎一般只支持websocket,即基于http连接的套接字高层协议,而不是真正的socket,因此除非服务器端也开启websocket服务并拆开套接字转发到mysql,否则无法代理连接

(2)我见过的绝大多数mysql 服务器都工作在服务器环境下的一个虚拟子网,换句话说,直接的远程3306端口是拒绝连接的,这样可以隔绝端口直接攻击

如果前段js直接可以连接后端服务器mysql的端口,那么就不叫B/S结构了,而是C/S结构(比如传统的windows桌面程序),安全上有很多问题,所以大多数浏览器也不支持这个操作。

第一次学PHP就是做这个验证..

html做个表单,

当表单onsubmit=return check()调用自写js来判断用户名和密码是否为空,

如果是空就alert不能为空,然后return false相反则return true

而接收的PHP也要验证是否为空,如果严谨点还要对提交的数据进行过滤,防止sql注入。

然后php再根据提交的数据搜MYSQL,如果用户名和密码都相同时,echo 登录成功,相反则登录失败.

<html>

<script>

function check(obj){

 with(obj){

     if((user.value+"").length <= 0){

          alert("用户名不能为空")

          return false

     }else if((pwd.value+"").length <= 0){

     

         alert("用户名不能为空")

         return false

     }else{

         return true

     }

 }

}

</script>

<body>

  <form action="check.php" method="post" onsubmit="return check(this)">

    <input type="text" name="user" value="">

    <input type="password" name="pwd" value="">

    <input type="submit" name="submit" value="登录">

    <input type="cancel" name="cancel" value="取消">

  </form>

</body>

</html> <?php

$conn = mysql_connect( "数据库地址", "数据库用户名", "密码" )

mysql_query("set names utf8")

mysql_select_db( "数据库名" )

function inject_check($sql_str){     

return preg_match("/select|insert|update|delete|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file|outfile|%|eval|=|and|'||exec|count/i", $sql_str)    // 进行过滤

}

if(!empty($_POST)){

foreach($_POST as $key => $value){

if(inject_check($value)){

exit ('<script>alert("地址栏输入发现有非法字符,请重新输入!")history.go(-1)</script>')

die ()

}

}

}

$res = mysql_query("SELECT count(*) as m from `表名` where 用户名='${_POST['user']}' AND 密码='${_POST['pwd']}'")

$row = mysql_fetch_object($res)

if($row->m >0){

    echo "登陆成功"

}else{

    echo "用户名或密码错误"

}

exit

?>

如果你是 Blog 的使用者,那你学 HTML, CSS 就可以作出很美的网页了。很多 blog 禁用 javascript。

如果你使用类似 geocities.com 的免费网页空间,它允许你用 javascript,

但是不能用 PHP;那你可以学一学 javascript。但是你要确定你的网页用得到 javascript。

如果你要自己架设网站,那你必须学:Linux, batch, PHP, Mysql, HTML, CSS, javascript, XML 等等,族繁不及备载。