PHP? ???? ??? ? ???? ?? ?? ? ????. 1) HTML? ???? ???? ???? ???? ??? ?? ?? ?????? ???? ???? ????? ?????. 2) ???? ?? ?? ? ?? ??? ???? htmlspecialchars? ???? XSS? ?????. 3) MySQL? ???? ??? ?? ???? ???? Password_Hash ? ??? ???? ???? ??? ??????. ??? ??? ????? ? ??? ???? ?????.

??
PHP?? ??? ? ???? ?? ??? ??? ?? ??? ? ?? ????? ? ??? PHP? ??? ??? ???? ????? ??? ? ??? ???? ???? ??? ?? ?? ??? ?????. ????? ?? ? ?????, ??? ??? ????? ? ?? ???? ?? ?????. PHP? ??? ??? ?? ? ??? ??????
?? ?? ??
???? ?? PHP? ?? ??? ??? ?????. PHP? ? ??? ?? ???? ?? ? ???? ?????. ?? ?? ? ??? HTML? ???? ?? ??? ??? ?? ???? ?? ? ??? ????. ?? PHP? ?????? ??, ?? ?? ? ?? ??? ???? ??? ?? ?? ? ????? ??? ?????.
PHP? ?? ?? ? ?? ??? ???? ?? ?? ??? ?? ??? ?? ??? ?? ????. ??, ??, ??? ?? ?? ?? ??? ???? ?? ????? ??? ??????.
?? ?? ?? ?? ??
PHP ?? ??? ??? ?? ? ??
PHP? ?? ?? ? ??? ? ???? ???? ???? ?????. ?, ??? ??, ??????? ??? ?? ?? ??? ?? ? ???? ????? ?? ? ? ????. ??? ??? ? ???? ? ?? ???? ?? ??? ? ?? ??? ?? ?? ??? ?? ? ? ????.
?? ??, ???? ??? ??? ?? ?? ?? ???? ????? ???? ??? ?? ? ? ????.
<? php
if (isset ($ _ session [ 'username'])) {
?? "?????". $ _session [ '??? ??'];
} ? ?? {
?? "??, ??";
}
?>
? ??? ??? PHP? ?? ??? ???? ???? ???? ???? ??? ?????.
?? ??
PHP? PHP ??? ?? ???? HTML ???? ???? ?????. ????? PHP ??? ???? ? ??? ??? PHP ????? ?????. PHP ?????? PHP ??? ???? HTML ? ?? ??? ?? ? ?? ?? ??? ????? ?? ????.
?? ???? ?? ? ? PHP? ??? ??? ?? ?? ? ?????. ?? ??, ?? ??? PHP? ?? ??? ????? ??? ?? ??? ?? ?? ? ??? ?????. ? ?? ?? ????? PHP? ??? ? ???? ??? ? ?? ?????.
??? ?
?? ??
PHP? ???? ??? ?? ???? ??? ??? ?????? ??? ?? ?? ?????. ? ??? ??? ?? ??? ??? ?? ?? ???? ???? ??? ?????.
<! doctype html>
<html>
<body>
<form method = "post"action = "<? php echo $ _server [ 'php_self'];?>">
?? : <?? ?? = "text"name = "fname">
<?? ?? = "??">
</form>
<? php
if ($ _server [ "request_method"] == "post") {
// ?? ??? ?? $ name = htmlspecialchars ($ _ request [ 'fname']);
if (empty ($ name)) {
Echo "??? ?? ????";
} ? ?? {
?? "?????". $ ??. "!";
}
}
?>
</body>
</html>
? ??? PHP? ???? ?? ??? ???? ??? ??? ???? ?? ???? ???? ??? ?????. XSS ??? ???? ?? htmlspecialchars
??? ???? ??? ?? ?????.
?? ??
?? PHP ? MySQL? ???? ??? ??? ?? ???? ??? ??? ???? ?? ??? ?? ?????. ? ??? ??? ??? ???? ???? ???? ???? ??????? ???? ??? ?????.
<? php
$ servername = "localhost";
$ username = "username";
$ password = "password";
$ dbname = "mydb";
// ?? ?? $ conn = new MySQli ($ serverName, $ username, $ password, $ dbname);
// ??? ?????.
?? ( "?? ?? :". $ conn-> connect_error);
}
if ($ _server [ "request_method"] == "post") {
$ username = $ _post [ 'username'];
$ password = $ _post [ 'password'];
$ email = $ _post [ '???'];
// ?? if (empty ($ username) || ? ($ password) || ? ($ email)) {
?? "?? ??? ????";
} ? ?? {
// SQL ?? ?? $ stmt = $ conn-> ?? ( "???? ?? (??? ??, ??, ???) ? (?,?,?)");
$ stmt-> bind_param ( "sss", $ username, password_hash ($ password, password_default), $ email);
// if ($ stmt-> execute ()) {sql ?? ?????.
Echo "??? ??? ????? ?????";
} ? ?? {
?? "?? :". $ stmt-> ??;
}
$ stmt-> close ();
}
}
$ conn-> close ();
?>
<! doctype html>
<html>
<body>
<form method = "post"action = "<? php echo $ _server [ 'php_self'];?>">
??? ?? : <input type = "text"name = "username"> <br>
???? : <?? ?? = "????"?? = "????"> <br>
??? : <?? ?? = "???"?? = "???"> <br>
<?? ?? = "??">
</form>
</body>
</html>
? ?? PHP ? MySQL? ???? ??? ??? ?? ???? ??? ??? ?????. ??? password_hash
??? ???? ??? ??? ?????, ?? ??? ?? ?????. ?? SQL ?? ??? ???? ?? ??? ???? ?????.
???? ?? ? ??? ?
PHP? ???? ??? ? ???? ?? ? ??? ??? ? ?? ???? ??? ????. ??? ? ?? ???? ??? ??? ????.
?? ???? ???? ?? : ??? method
??? ???? ???? action
??? ??? ?? ????? ?? ?????. var_dump($_POST)
???? ?? ? ???? ??????.
?????? ?? ?? : ?????? ?? ?? ??? ???? ???? mysqli_connect_error()
??? ???? ??? ?? ??? ????.
SQL ?? ?? : mysqli_error()
??? ???? ?? ?? ??? ???? SQL ??? ??? ???? ??????.
?? ?? : ?? htmlspecialchars
??? ???? XSS ??? ???? SQL ?? ??? ?????? ??? ???.
?? ??? ? ?? ??
??? PHP? ???? ??? ? ???? ??? ? ?? ??? ? ?? ??? ?? ? ?? ?? ?????.
?? ?? : ?? ????? ???? ?? ?? ????? ???? ?????? ?? ? PHP ??? ?? ??? ?? ? ????. PHP? APC
? Memcached
? ?? ?? ???? ?????.
?????? ?? ??? : ?????? ?? ?? ????? ???? ???? ?? ???? ??????. SELECT *
??? ??? ??? ?? ? ??????.
?? ??? : ???? ?? ??? ??? ????, ???? ?? ? ?? ??? ????, ??? ??? ??????. ?? ???? ??? ??? ??? ??? ?? ??? ??????.
?? ?? : try-catch
??? ???? ??? ???? ????? ??? ?? ??? ???? ?????? ??? ?? ??? ??????.
?? : XSS ? SQL ?? ??? ???? ?? ?? ??? ??? ???? ???????. ????? ????? password_hash
? password_verify
??? ??????.
??? ?? ?? ??? ????? ?? ? ? ???? PHP??? ????? ???? ?? ? ????. ? ??? ??? ??????? ?? ? ? ??? ????. PHP ????? ??? ??? ???? ????!
? ??? PHP : ??? ? ???? ?? ?? ? ????? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!