数码资讯
关于mysql成员系统开发的教程
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
本文通过一个简单的例子完成了完整的mysql成员系统功能,这是一个非常实际的应用:
一、会员制原则:
确定登陆>(cookie或会话>状态)>验证状态和权限
二、会员制的安全性:
1。学习使用常数提高MD5安全性
2、cookie /会话少使用明文信息
3,会话安全性大于cookie
4,使用cookie /会话尽可能多地阅读信息以添加判断信息。
5,cookie /会话内容应该精简
6。在错误信息中及时销毁cookie /会话
三。数据库、表和字段user_list,
UID m_id用户名密码
11行政291760f98414679e3fd3f9051b19b6f7
22 895785cfa5d8157f4d33c58ae0f55123 Admin2
密码:是MD5(admintest100)和MD5(admin2test100),即密码会不断test100然后加密数据库。这一步可以在注册时设置。
四。配置页面m_config.php:
< PHP
session_start();
数据库连接
美元mysql_connect conn =('localhost ','root ',');
mysql_select_db(测试,为CONN);
定义常量
定义(all_ps,test100 );
查看登录状态和权限
功能user_shell(美元美元美元的UID,外壳,m_id){
为SQL =SELECT * FROM user_list哪里` UID ` = $ UID;
查询= mysql_query美元($ SQL);
美元= is_array($行= mysql_fetch_array($查询));
美元美元美元壳壳= = = MD5($行{用户名},{ } $行密码。all_ps):假;
如果($){
小若($行{ m_id } <= m_id美元){ / / $行{ m_id }是,更高的权限,最高权限为1
返回$行;
其他{ }
您的权限不足,无法看到页面。
出口();
}
其他{ }
在登录后可以看到这个页面;
出口();
}
}
设置登录超时
功能user_mktime($ onlinetime){
new_time美元= mktime();
echo $ new_time onlinetime美元。不以秒为单位操作页面。
如果(new_time美元美元onlinetime > 10'){ / / 10秒的超时时间,测试
登录超时,请再次登录;
出口();
session_destroy();
其他{ }
_session { } = mktime美元时代();
}
}
>
五。登录页面m_user.php:
< PHP
包括(m_config .php);
/ /回声MD5(Admin2 。all_ps);
如果($ _post {提交}){
用户名= str_replace美元(
为SQL =SELECT * FROM user_list哪里`用户名` = $用户名;
查询= mysql_query美元($ SQL);
美元= is_array($行= mysql_fetch_array($查询));
PS =美元美元的MD5($ _post {密码}。all_ps)= = $行{密码}:假;
如果(ps){
_session { } =美元美元UID UID排{ };
_session美元{ user_shell } = MD5($行{用户名},{ } $行密码。all_ps);
($ _session {次} = mktime); / /实现时间登录忘记
登录成功;
其他{ }
用户名或密码错误;
session_destroy(会话); / /删除所有密码错误
}
}
>
用户名 uff1a
用户名 uff1a
验证码:5213
六。设置权限和超时的页面m_zhuangtai.php:
< PHP
包括(m_config .php);
美元($ _session user_shell ARR = { UID },{ user_shell _session美元},1); / /设置权限为1页只是获取最高权力
user_mktime($ _session {次}); / /确定10秒超时
/ / echo $ _session {次}。; / /登录时间
/ /回波(mktime); / /当前日期。
/ / echo ARR {用户名}。;
/ / echo ARR UID } {。;
>
权限可以查看的内容。
七。测试结果:
1、登录与SSS,sssssss,提示:用户名或密码错误。看m_zhuangtai.php,提示:您可以在登录后看到的页面。
2。登录后与行政,你能看到的m_zhuangtai.php页面内容因为权限1。
3、行政管理员登录,因为权限是1,所以你可以看到m_zhuangtai.php页面的内容,但刷新后10秒,提示:X秒不操作,页面登出超时,请重新登录。
4、与Admin2 Admin2登录,因为权限是2,所以它是不可能从m_zhuangtai.php页的内容。
希望本文中描述的示例有助于PHP程序的开发。
一、会员制原则:
确定登陆>(cookie或会话>状态)>验证状态和权限
二、会员制的安全性:
1。学习使用常数提高MD5安全性
2、cookie /会话少使用明文信息
3,会话安全性大于cookie
4,使用cookie /会话尽可能多地阅读信息以添加判断信息。
5,cookie /会话内容应该精简
6。在错误信息中及时销毁cookie /会话
三。数据库、表和字段user_list,
UID m_id用户名密码
11行政291760f98414679e3fd3f9051b19b6f7
22 895785cfa5d8157f4d33c58ae0f55123 Admin2
密码:是MD5(admintest100)和MD5(admin2test100),即密码会不断test100然后加密数据库。这一步可以在注册时设置。
四。配置页面m_config.php:
< PHP
session_start();
数据库连接
美元mysql_connect conn =('localhost ','root ',');
mysql_select_db(测试,为CONN);
定义常量
定义(all_ps,test100 );
查看登录状态和权限
功能user_shell(美元美元美元的UID,外壳,m_id){
为SQL =SELECT * FROM user_list哪里` UID ` = $ UID;
查询= mysql_query美元($ SQL);
美元= is_array($行= mysql_fetch_array($查询));
美元美元美元壳壳= = = MD5($行{用户名},{ } $行密码。all_ps):假;
如果($){
小若($行{ m_id } <= m_id美元){ / / $行{ m_id }是,更高的权限,最高权限为1
返回$行;
其他{ }
您的权限不足,无法看到页面。
出口();
}
其他{ }
在登录后可以看到这个页面;
出口();
}
}
设置登录超时
功能user_mktime($ onlinetime){
new_time美元= mktime();
echo $ new_time onlinetime美元。不以秒为单位操作页面。
如果(new_time美元美元onlinetime > 10'){ / / 10秒的超时时间,测试
登录超时,请再次登录;
出口();
session_destroy();
其他{ }
_session { } = mktime美元时代();
}
}
>
五。登录页面m_user.php:
< PHP
包括(m_config .php);
/ /回声MD5(Admin2 。all_ps);
如果($ _post {提交}){
用户名= str_replace美元(
为SQL =SELECT * FROM user_list哪里`用户名` = $用户名;
查询= mysql_query美元($ SQL);
美元= is_array($行= mysql_fetch_array($查询));
PS =美元美元的MD5($ _post {密码}。all_ps)= = $行{密码}:假;
如果(ps){
_session { } =美元美元UID UID排{ };
_session美元{ user_shell } = MD5($行{用户名},{ } $行密码。all_ps);
($ _session {次} = mktime); / /实现时间登录忘记
登录成功;
其他{ }
用户名或密码错误;
session_destroy(会话); / /删除所有密码错误
}
}
>
用户名 uff1a
用户名 uff1a
验证码:5213
六。设置权限和超时的页面m_zhuangtai.php:
< PHP
包括(m_config .php);
美元($ _session user_shell ARR = { UID },{ user_shell _session美元},1); / /设置权限为1页只是获取最高权力
user_mktime($ _session {次}); / /确定10秒超时
/ / echo $ _session {次}。; / /登录时间
/ /回波(mktime); / /当前日期。
/ / echo ARR {用户名}。;
/ / echo ARR UID } {。;
>
权限可以查看的内容。
七。测试结果:
1、登录与SSS,sssssss,提示:用户名或密码错误。看m_zhuangtai.php,提示:您可以在登录后看到的页面。
2。登录后与行政,你能看到的m_zhuangtai.php页面内容因为权限1。
3、行政管理员登录,因为权限是1,所以你可以看到m_zhuangtai.php页面的内容,但刷新后10秒,提示:X秒不操作,页面登出超时,请重新登录。
4、与Admin2 Admin2登录,因为权限是2,所以它是不可能从m_zhuangtai.php页的内容。
希望本文中描述的示例有助于PHP程序的开发。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。