php单点登录方案如何实现。 本帖最后由 nbjsnb 于 2014-09-17 15:54:33 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 PHP点击登录方案实现示例//登录页面设置<?php session_start(); include("conn/conn.php"); ?>//引入数据库连接<form action="enter_ok.php" method="post" name="form1" id="form1" onSubmit="return check_user(this)">//设置表单 <div id="yonghu"><span>用户名:</span></div> <div id="yonghu1"><input id="tb_forum_name" type="text" name="tb_user" /></div>//用户名输入框 <div id="mima">密码:</div> <div id="mima1"><input id="tb_passwd1" type="password" name="tb_pass" /></div> <div id="yanzhengma">验证码:</div>//密码输入框 <div id="yanzhengma1"><input id="tb_validate" type="text" name="tb_validate"/></div> <div id="tubiao"><?php $num=intval(mt_rand(1000,9999)); for($i=0;$i<4;$i++) { echo "<img src=images/code/".substr(strval($num),$i,1).".gif>"; } ?> <input type="hidden" value="<?php echo $num;?>" name="num" /></div> <div id="anniu"> <input name="imageField" type="submit" id="imageField" value="登陆" src="images/index_1.jpg" />//登录处理程序页<?php session_start();class check_user{ var $tb_user; var $tb_pass; function check_user($x,$y){ $this->tb_user=$x; $this->tb_pass=$y; } function check_input(){ include_once("conn/conn.php"); $sql=mysql_query("select tb_forum_name from tb_forum_user where tb_forum_name='".$this->tb_user."'",$conn); $info=mysql_fetch_array($sql); if($info==false){ echo "<script>alert('对不起,不存在该用户!');history.back();</script>"; exit;//CodeGo.net/ }else{ $sql=mysql_query("select tb_forum_name from tb_forum_user where tb_forum_name='".$this->tb_user."' and tb_passwd1='".$this->tb_pass."'",$conn); $info=mysql_fetch_array($sql); if($info==false){ echo "<script>alert('对不起,密码输入错误!');history.back();</script>"; exit; }else{ if($_SESSION["tb_forum_name"]!=""){ session_unregister("tb_forum_name"); } session_register("tb_forum_name"); $_SESSION["tb_forum_name"]=$this->tb_user; echo "<script>alert('登录成功!');history.back();</script>"; } } mysql_close($conn); } } $chk=new check_user($_POST[tb_user],md5($_POST[tb_pass]),$tb_validate); $chk->check_input();?> 你这种需要跟硬件结合的建议还是采用C或者是Py这些可以编写脚本的语言去写脚本进行sso单点登录,如果是纯系统的话可以采用接口来进行交互判断。 针对你的方案提的建议:1、建议Applet+证书的方式2、服务器上有个守护程序(C/Python/Java)监听在指定本地端口上(安全原因不要监听外网),每次客户提交登陆请求之后,PHP使用socket通知该守护程序来验证。 求助关于smarty取数组的问题 想在PHP程序加入base64_decode,防止别人采集,相应的位置不知道加在哪里 apache2不能解析PHP5 WEB应用系统不被搜索引擎 php 中 input type="checkbox"的问题! 请教大家一个奇怪的问题,关于404错误的 _POST[],_GET[],_SESSION[]的使用有什么需要注意的吗?请有经验者指教。 在php中使用sql server 存储过程,可是返回值或者输出参数不知怎么接收,望各位大虾告知,感激不尽!!! 这是怎么回事啊? 一个研究了很久的问题 php新手学习 数组转换成字符串的问题
//登录页面设置
<?php session_start(); include("conn/conn.php"); ?>//引入数据库连接
<form action="enter_ok.php" method="post" name="form1" id="form1" onSubmit="return check_user(this)">//设置表单
<div id="yonghu"><span>用户名:</span></div>
<div id="yonghu1"><input id="tb_forum_name" type="text" name="tb_user" /></div>//用户名输入框
<div id="mima">密码:</div>
<div id="mima1"><input id="tb_passwd1" type="password" name="tb_pass" /></div>
<div id="yanzhengma">验证码:</div>//密码输入框
<div id="yanzhengma1"><input id="tb_validate" type="text" name="tb_validate"/></div>
<div id="tubiao"><?php
$num=intval(mt_rand(1000,9999));
for($i=0;$i<4;$i++)
{
echo "<img src=images/code/".substr(strval($num),$i,1).".gif>";
}
?>
<input type="hidden" value="<?php echo $num;?>" name="num" /></div>
<div id="anniu">
<input name="imageField" type="submit" id="imageField" value="登陆" src="images/index_1.jpg" />//登录处理程序页
<?php session_start();
class check_user{
var $tb_user;
var $tb_pass;
function check_user($x,$y){
$this->tb_user=$x;
$this->tb_pass=$y;
}
function check_input(){
include_once("conn/conn.php");
$sql=mysql_query("select tb_forum_name from tb_forum_user where tb_forum_name='".$this->tb_user."'",$conn);
$info=mysql_fetch_array($sql);
if($info==false){
echo "<script>alert('对不起,不存在该用户!');history.back();</script>";
exit;//CodeGo.net/
}else{
$sql=mysql_query("select tb_forum_name from tb_forum_user where tb_forum_name='".$this->tb_user."' and tb_passwd1='".$this->tb_pass."'",$conn);
$info=mysql_fetch_array($sql);
if($info==false){
echo "<script>alert('对不起,密码输入错误!');history.back();</script>";
exit;
}else{
if($_SESSION["tb_forum_name"]!=""){
session_unregister("tb_forum_name");
}
session_register("tb_forum_name");
$_SESSION["tb_forum_name"]=$this->tb_user;
echo "<script>alert('登录成功!');history.back();</script>";
}
}
mysql_close($conn);
}
}
$chk=new check_user($_POST[tb_user],md5($_POST[tb_pass]),$tb_validate);
$chk->check_input();
?>
1、建议Applet+证书的方式
2、服务器上有个守护程序(C/Python/Java)监听在指定本地端口上(安全原因不要监听外网),每次客户提交登陆请求之后,PHP使用socket通知该守护程序来验证。