如何使用javascript阅读HTML中的php会话?
首先,我正在使用phonegap/cordova开发一个移动应用程序,所以这就是我希望走这条路的原因 我想知道是否有可能将php中的会话状态转换成javascript,因为我希望将整个应用程序的安全性仅限于用户 我的php如下所示如何使用javascript阅读HTML中的php会话?,javascript,html,cordova,Javascript,Html,Cordova,首先,我正在使用phonegap/cordova开发一个移动应用程序,所以这就是我希望走这条路的原因 我想知道是否有可能将php中的会话状态转换成javascript,因为我希望将整个应用程序的安全性仅限于用户 我的php如下所示 <?php $dbhost = ''; $dbuser = ''; $dbpass = ''; $db = ''; $tbl_name=""; $conn = mysql_connect($dbhost,$dbuser,$dbpass); mysql_se
<?php
$dbhost = '';
$dbuser = '';
$dbpass = '';
$db = '';
$tbl_name="";
$conn = mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($db);
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];
$encrypt_password=md5($mypassword);
$myusername = stripslashes($myusername);
$mypassword = stripslashes($encrypt_password);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($encrypt_password);
$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
$result=mysql_query($sql);
$count=mysql_num_rows($result);
if($count==1){
session_register("myusername");
session_register("mypassword");
session_start();
$_SESSION["Login"] = "YES";
header("location:login_success.html");
echo $_SESSION['data'];
}
else {
session_start();
$_SESSION["Login"] = "NO";
echo $_SESSION['data'];
}
?>
html文件包含以下javascript
<script>$.get('checklogin.php', function(data) {
if (data != "YES"){
window.location.replace("http://aam.prettypottery.ie/index.html");
}
});</script>
$.get('checklogin.php',函数(数据){
如果(数据!=“是”){
window.location.replace(“http://aam.prettypottery.ie/index.html");
}
});
我想我很接近了,只是每次我试图查看我的html页面时,它们都会把我送回index.html
任何帮助都会很好。谢谢是的,看起来你们很接近了。但反过来说 如果安全对您很重要,您应该考虑以下几点:
- 浏览器不负责决定用户是否被授权以及页面是否可访问李>
- 如果访问保留页面时没有足够的权限(未登录),服务器应重定向李>
根本不应该在那里,这应该在服务器端完成(在php中)$.get('checklogin.php',函数(数据){
- 您的查询
仍然易受攻击,至少使用$sql=“从$tbl\u name中选择*,其中…
- 密码用
散列(未加密),这对您的站点可能足够了,但通常使用盐渍和更强的散列(至少)MD5
- 不要只测试结果计数,而是从数据库中实际获取一些信息,并使用这些信息进行身份验证
SELECT username FROM accounts WHERE ...
这是:
$authenticated = strcasecmp($username, $resulting_username) === 0;
要立即解决您的问题,您必须在PHP中至少呈现一个告诉Javascript代码重定向的变量
在HTML/PHP中:
<script>
if (<?php echo ($authenticated ? 'true' : 'false'); ?>)
{
alert("Good boy!");
} else {
alert("Bad Trudy is bad!");
}
</script>
如果()
{
警惕(“好孩子!”);
}否则{
警惕(“坏特鲁迪是坏的!”);
}
生成此HTML结果:
<script>
if (true)
{
alert("Good boy!");
} else {
alert("Bad Trudy is bad!");
}
</script>
如果(真)
{
警惕(“好孩子!”);
}否则{
警惕(“坏特鲁迪是坏的!”);
}
停用Javascript就足够了,页面将不会对该代码做出任何反应,并且不会受到任何阻碍地显示其内容
链接: