我在我的网站上使用php/mysql.我创建了自己的登录/注册系统,但我想在我的网站中集成三个社交登录选项,Google,Facebook和Twitter.使用它们用户将能够登录并能够在网站上发布内容.
就像Stackoverflow为其登录/注册表单所做的那样.
我想知道我认为社交登录实现的库和代码.是否有任何开源库使用我可以集成这三个,或者我需要单独设置每个.
请提供链接,教程和代码,以便在我的php网站中集成社交登录.
谢谢!
嗨其他程序员!
我正在尝试编写一个脚本,使用python和mechanize模块登录我的大学"食物平衡"页面...
这是我尝试登录的页面:http://www.wcu.edu/11407.asp 该网站有以下表格登录:
<FORM method=post action=https://itapp.wcu.edu/BanAuthRedirector/Default.aspx><INPUT value=https://cf.wcu.edu/busafrs/catcard/idsearch.cfm type=hidden name=wcuirs_uri>
<P><B>WCU ID Number<BR></B><INPUT maxLength=12 size=12 type=password name=id> </P>
<P><B>PIN<BR></B><INPUT maxLength=20 type=password name=PIN> </P>
<P></P>
<P><INPUT value="Request Access" type=submit name=submit> </P></FORM>
Run Code Online (Sandbox Code Playgroud)
据此我们知道我需要填写以下字段:1.name = id 2. name = PIN
通过操作:action = https://itapp.wcu.edu/BanAuthRedirector/Default.aspx
这是我到目前为止编写的脚本:
#!/usr/bin/python2 -W ignore
import mechanize, cookielib
from time import sleep
url = 'http://www.wcu.edu/11407.asp'
myId = '11111111111'
myPin = '22222222222'
# Browser
#br = mechanize.Browser()
#br = mechanize.Browser(factory=mechanize.DefaultFactory(i_want_broken_xhtml_support=True))
br = mechanize.Browser(factory=mechanize.RobustFactory()) # Use this because of bad …Run Code Online (Sandbox Code Playgroud) 以下是要实施安全登录的登录系统/
main_login.php
<form name="form1" method="post" action="checklogin.php">
Username:<input name="myusername" type="text" id="myusername" /> <br />
Password:<input name="mypassword" type="password" id="mypassword" />
<input type="submit" name="Submit" value="Login" />
</form>
Run Code Online (Sandbox Code Playgroud)
Checklogin.php
<?php
ob_start();
$host="localhost"; // Host name
$username="root"; // Mysql username
$password=""; // Mysql password
$db_name="cosmos"; // Database name
$tbl_name="members"; // Table name
// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
// Define $myusername and $mypassword
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];
// To protect MySQL injection (more detail about MySQL injection) …Run Code Online (Sandbox Code Playgroud) 我使用基于SESSION变量的简单登录系统.用户登录后,会设置会话变量,告诉我的脚本要接受用户.我不使用任何自定义客户端cookie变量.
我想在登录屏幕上提供"让我记录一整天"的选项.如何以安全的方式做到这一点?
我想知道网络应用程序通常遵循的流程,以维护多个请求之间的登录,以及他们如何使用COOKIES管理事物.
在我的登录表单中,我提供"记住我"功能.
当用户登录时,我检查数据库的用户名和密码有效性.如果它有效,那么我检查是否选择了"记住我",如果是,则以会话,加密格式存储用户名和密码.最后在SESSION中存储用户名和密码.
当用户从一个页面导航到另一个页面时,首先我运行登录检查脚本,检查cookie中是否有任何值,然后验证数据库中的用户名和密码,以检查其有效性.如果cookie中没有值,并且会话中有一些值,那么我将从db中获取会话值并检查它.
我没有检查会话值表单db没有不必要地打db,加快了事情.如果是cookie,可以对其进行修改,因此需要进行检查.
这就是我的概念,是吗?它是通往网站的方式,以及其他类似方法吗?
或者网站检查每个页面加载的登录真实性,无论是在会话中还是在cookie中?
请检查并提供有关此方案的想法和概念.
谢谢!
我正在为CodeIgniter 3.0(dev)寻找简单易用的/安装登录系统 .
我见过几个不同的脚本,但主要是CodeIgniter 2.x.
我将不胜感激任何帮助.
另一个晚上,另一个问题!
我创建了一个登录页面,如果密码是纯文本,它可以正常工作.
我遇到的问题是我的注册表单使用password_hash为表输入加密密码.
我目前的脚本如下.
注册脚本
$password = password_hash($_POST['password'], PASSWORD_DEFAULT);
Run Code Online (Sandbox Code Playgroud)
登录脚本
<?php
session_start();
if(isset($_POST['email'], $_POST['password'])){
require('../../../private_html/db_connection/connection.php');
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$query = $conn->prepare("SELECT * FROM user_accounts WHERE email=:email AND password=:password");
$query->bindParam(':email', $_POST['email']);
$query->bindParam(':password', $_POST['password']);
$query->execute();
if($row = $query->fetch()){
$_SESSION['email'] = $row['email'];
$_SESSION['first_name'] = $row['first_name'];
header("Location: ../../myaccount/myaccount.php");
}
else {header("Location:../../login/login.php ");}
}
?>
Run Code Online (Sandbox Code Playgroud)
我对这个有几个问题:
password_verify在哪里放入登录脚本?$_SESSION['xxx'] = $row['xxx'];在"我的帐户"页面上不必输入多个来显示用户详细信息,如何使用$results = $stmt->fetch(PDO::FETCH_ASSOC);我读过的方法?提前谢谢了,
CyrilWalrus
我有一个很棒的php mySQL登录脚本,工作正常.是另一种方式来提供我的所有访问信息而不在脚本中显示它?现在我显示我认为不安全的所有安全访问信息.
我可以隐藏这个吗?
这是我所说的:
$host="localhost"; // Host name
$username="XXXXXXXXXX"; // Mysql username
$password="XXXXXXXXXX"; // Mysql password
$db_name="XXXXXXXXXXX"; // Database name
$tbl_name="XXXXXXXXXX"; // Table name
Run Code Online (Sandbox Code Playgroud) 有一种方法是使用cookie登录用户,我不知道它的名字.每次用户登录时,它都会为cookie设置一个唯一的令牌.令牌可见,并在1个cookie中设置.还有第二个cookie,其中有一个哈希值.基于这2个cookie我们有:
问题:这个方法的名称是什么?
我开发的网站最近受到了损害,最有可能是暴力破解或彩虹桌攻击.原始登录脚本没有SALT,密码存储在MD5中.
下面是一个更新的脚本,完成SALT和IP地址禁止.此外,如果相同的IP地址或帐户尝试登录失败,它将发送五月天电子邮件和短信并禁用该帐户.请仔细看看,让我知道可以改进什么,缺少什么,以及什么是奇怪的.
<?php
//Start session
session_start();
//Include DB config
include $_SERVER['DOCUMENT_ROOT'] . '/includes/pdo_conn.inc.php';
//Error message array
$errmsg_arr = array();
$errflag = false;
//Function to sanitize values received from the form. Prevents SQL injection
function clean($str) {
$str = @trim($str);
if(get_magic_quotes_gpc()) {
$str = stripslashes($str);
}
return $str;
}
//Define a SALT, the one here is for demo
define('SALT', '63Yf5QNA');
//Sanitize the POST values
$login = clean($_POST['login']);
$password = clean($_POST['password']);
//Encrypt password
$encryptedPassword = md5(SALT . $password);
//Input Validations
//Obtain IP …Run Code Online (Sandbox Code Playgroud) login-script ×10
php ×9
login ×3
mysql ×2
security ×2
concept ×1
frameworks ×1
logic ×1
mechanize ×1
pdo ×1
python ×1
remember-me ×1
session ×1