1. php登錄cookie驗證,怎麼繞過
<?php
//cookie實現自動登錄
error_reporting(0);//關閉錯誤報告(瀏覽頁面出現notice可用此法消除)
$user=$_POST['username'];
$pwd=$_POST['password'];
if($user!=''&&$pwd!=''){
if($_POST['remmber']==1){
header("Location:http://localhost/homework/login.php");
//轉到登錄頁面
}
setcookie("username",$user,time()+600);//time()+600指600秒後cookie失效
setcookie("password",$pwd,time()+600);
}
?>
<html>
<head>
<title>login</title>
</head>
<body>
<divid="wrapper">
<formname="login-form"class="login-form"action="login.php"method="post">
<divclass="header">
<h1>LoginForm</h1>
</div>
<divclass="content">
<inputname="username"type="text"class="inputusername"value="<?phpecho$_COOKIE["username"];?>"/>
<inputname="password"type="password"class="inputpassword"value="<?phpecho$_COOKIE["password"];?>"/>
</div>
<divclass="footer">
<inputtype="submit"name="submit"value="Login"class="button"/>
</div>
</form>
</div>
</body>
</html>
<?php
if(isset($_POST["username"])){//isset()判斷是否為空,不空才執行,0就是空
$username=$_POST["username"];
$password=$_POST["password"];
//$submit=$_POST["submit"];
$con=mysql_connect("localhost","root","root");
if(!$con){
die("dbconnectioniswrong:".mysql_errno());
}
mysql_select_db("db_admin",$con);//進行輸入驗證
$sql1="select*fromregisterwherename='".$username."'";
$str=mysql_query($sql1);
mysql_close($con);
$buffer_account="";
$buffer_pwd="";
while($user=mysql_fetch_array($str)){
$buffer_account=$user['name'];
$buffer_pwd=$user['pwd'];
}
$value1=strcmp($username,$buffer_account);
$value2=strcmp($password,$buffer_pwd);
if($value1==0&&$value2==0){
echo"<script>window.location.href='http://localhost/homework/singers.php'</script>";
}
else{
echo"<script>alert('youarewrong');window.location.href='http://localhost/homework/login.php'</script>";
}
}
?>
<?php
$con=mysql_connect("localhost","root","root");
if(!$con){
die("dbconnectioniswrong:".mysql_errno());
}
mysql_select_db("db_admin",$con);
//把資料庫裡面查詢的數據保存到文件裡面
$sql="select*fromregister";
$result=mysql_query($sql);
$data="";
while($row=mysql_fetch_row($result)){
foreach($rowas$v){
$data.=$v;
}
}
file_put_contents("abc.txt",$data);
?>
2. PHP 用戶發表文章的驗證與過濾
php里有這個magic_quotes_gpc模塊
自動轉義
這個模塊打開了之後 進入資料庫的值都會進行一下過濾 存在注入危險的符號會被轉義
php里還有其他的一些字元串安全過濾的函數
addslashes(string)等
也可以去找找網上的安全過濾的例子
3. php中如何過濾用戶的輸入麻煩告訴我
可以採用以下復幾點措施。
(制1)在用戶數據進入資料庫之前使用addslashes()函數過濾,可以進行一些字元的轉義,並過濾掉可能引起資料庫問題的字元。可以使用stripslashes()將數據返回到原始形式。
(2)在php.infi中開啟magic_quotes_gpc和magic_quotes_runtime指令。它們可以自動的添加和過濾斜杠,前者主要用於格式化GET,POST,和cookie變數,後者用於過濾進出資料庫的數據。
(3)當在system()或者exex()函數中使用用戶輸入數據作為參數時,必須使用escapeshellcmd()。用來避免懷有惡意的用戶強迫系統運行某些命令。
(4)可以使用stip_tags()從一個字元串中去掉HTML和PHP標記,這樣可以避免用戶將惡意節本植入到用戶的數據中。
(5)可以使用htmlspecialchars(),可以將字元專程它們的HTML等價實體。例如,<將被轉換成< ,該函數可以將任何腳本轉換成無害的字元。
總之,在使用用戶的數據時,一定要小心,原則即是不要相信用戶輸入的任何數據,必須要進行過濾和轉換。
4. 求php防止被sql 注入攻擊的過濾用戶輸入內容的函數
functionclean($v){
//判斷magic_quotes_gpc是否為打開
if(!get_magic_quotes_gpc()){
//進行magic_quotes_gpc沒有打開的情況對提交數據的過濾
$v=addslashes($v);
}
//把'_'過濾掉回
$v=str_replace("_","\_",$v);
//把'%'過濾掉
$v=str_replace("%","\%",$v);
//把'*'過濾掉
$v=str_replace("*","*",$v);
//回車轉換答
$v=nl2br($v);
//html標記轉換
$v=htmlspecialchars($v);
return$v;
}
如果需要,還可以屏蔽一下危險字元,例如insert, update, delete等
//將update去掉
$v=str_replace("update","",$v);
最後,在拼裝sql語句時,用戶輸入的東西,全括在單引號內
5. php網頁的密碼驗證繞過求助(簡單代碼)
初步判斷,密碼為yixiwangmengsicengjian
原理
if($LoginPassword!=''){ 表示$LoginPassword不能為空
而$LoginPassword 的值來自於$LoginPassword=$UserList[$LoginUser];
而$UserList這個數組只有一個元素, admin
那$UserList[$LoginUser] 只能是$UserList['admin'];
而很明顯$UserList['admin'] 的值就是 yixiwangmengsicengjian
表單方面, 一個輸入框, 一個密碼框, 輸入框的name屬性是User 密碼框的name屬性是 Password
6. PHP如何去掉輸入驗證碼
你發的這些代碼,只是驗證碼生成頁面!
要去掉驗證碼驗證, 那就要在登陸邏輯處理頁面對驗證碼的驗證進行取消, 而不是這里的代碼!
7. PHP登陸驗證
if($_POST["user_name"]==""){
echo"請輸入用戶名";
echo"<ahref='denglu.php'>返回</a>";
}elseif($_POST["parsword"==""]){
echo"請輸入密碼";
echo"<ahref='denglu.php'>返回</a>";
}else{
$link=mysql_connect("localhost","root","")ordie("不能連接資料庫");
mysql_select_db("userdb",$link)ordie("選擇錯誤");
$sql="select*fromuser_dbWHEREuser_name='".addslashes($_POST['user_name'])."'";
/*
*$sql="select*fromuser_dbWHEREuser_name='$_POST['user_name']}'ANDparsword='{$_POST['parsword']}'";
*這樣寫有漏洞。如果對方傳入的用戶名密碼都為['or'1'='1]就會出現漏洞
*/
$result=mysql_query($sql,$link);
$news=mysql_fetch_assoc($result);
mysql_free_result($result);
if($news&&$news['parsword']==$_POST['parsword']){
echo"登陸成功";
echo"<ahref='index.php'>登陸</a>";
}else{
echo"密碼錯誤或用戶名不正確";
echo"<ahref='denglu.php'>返回</a>";
}
}
8. php如何驗證過濾用戶是否登錄
一、可以通過Session,實現用戶登錄驗證。
session習慣上被譯為會話,它的設計是為了在一個訪問期間在不同的頁面間傳輸數據,以解決http協議無狀態的問題。
session_register()函數的作用是注冊新的變數,它會在全局變數中增加1個變數到目前的session之中,以後其他頁面可以通過session_is_registered()函數檢測該session變數是否已經注冊。
二、通過session來檢測用戶登錄信息,由兩個文件組成,login.php為用戶登錄頁面,checklogin.php用於檢測賬號、密碼和是否登錄成功。
具體參考代碼如下:
login.php的代碼如下:
<?php
session_start();//初始化session
if(isset($_SESSION['shili']))
{
header("Location:shili.php");//重新定向到其他頁面
exit();
}
?>
<scriptlanguage="javascript">
functionchecklogin(){
if((login.username.value!="")&&(login.password.value!=""))
{
returntrue;//判斷用戶名和密碼不為空,返回TRUE
}
else
{
alert("昵稱或密碼不能為空!")
}
}
</script>
<styletype="text/css">
.style1{font-size:13px;font-family:"黑體";font-weight:normal;color:#0099FF;}
</style>
<divalign="center">
<formname="login"method="post"action="checklogin.php"onSubmit="returnchecklogin()">
<tablewidth="260"border="1"bgcolor="#D8EFFA">
<tralign="center">
<tdheight="30"colspan="2"><spanclass="style1">管理系統登錄</span></td>
</tr>
<tr>
<tdwidth="90"align="center"class="style1">管理員:</td>
<tdwidth="170"height="20"align="left"valign="middle"><inputname="username"type="text"id="username"size="20"></td>
</tr>
<tr>
<tdalign="center"class="style1">密碼:</td>
<tdheight="20"align="left"valign="middle"><inputname="password"type="password"id="password"size="20"></td>
</tr>
<tr>
<tdalign="center"class="style1"></td>
<tdheight="20"align="center"><inputtype="submit"name="Submit"value="登錄"></td>
</tr>
</table>
</form>
</div>
checklogin.php的代碼如下:
<?php
session_start();//初始session
if(isset($_SESSION['shili']))
{
header("Location:shili.php");//重新定向到其他頁面
exit;
}//登錄過的話立即結束
$shili_name=$_POST['username'];//獲取參數
$password=$_POST['password'];
//驗證管理員名稱和密碼是否正確,這里採用直接驗證,沒有連接資料庫
if($shili_name=="mr"and$password=="mrsoft")
{
session_register("shili");//注冊新的變數,保存當前會話的昵稱
$shili=$shili_name;
echo"<fontcolor=red>登錄成功!</font>";
header("Location:shili.php");//登錄成功重定向到管理頁面
}
else
{
echo"<tablewidth='100%'align=center><tr><tdalign=center>";
echo"賬號或密碼錯誤,或者不是管理員賬號<br>";
echo"<fontcolor=red>登錄失敗!</font><br><ahref='login.php'>請重新輸入</a>";
echo"</td></tr></table>";
}
?>
shili.php的代碼如下:(實驗簡單驗證)
<?php
echo"WelcometoMyWorld!";
?>
//如果想要對某個頁面限制瀏覽的用戶,可以使用同樣的方式,只要把如下的代碼放在該頁面的開頭即可:
<?php
session_start();
if(!isset($_SESSION['shili'])){
echo"<palign=center>";
echo"<fontcolor=#ff0000size=5><strong><big>";
echo"你沒有登錄,請<ahref='denglu.php'>登錄</a>!";
echo"</big></strong></font></p>";
exit();
}
?>
9. PHP後台管理登入頁面攔截 防止地址欄輸入訪問
登錄驗證一般是用cookie的,當然用session也可以。
原理很簡單:
1.登錄頁面獲得表單並驗證是否正確。正確則進入系統,並設置cookie;錯誤則繼續登錄。
2.系統內的所有頁面都要驗證是否有指定的cookie。如果有說明是登錄成功的,正常顯示;如果沒有說明是通過地址跳轉的,強制跳轉到登錄頁面。
3.關於驗證cookie的代碼。由於每個頁面都要做相同的處理,這是代碼重用問題,建議放父類中(不一定是基類,繼承可以是多層次的)。
10. php如何實現登錄過濾,最好可以過濾掉整個文件夾
什麼??????????????