我想知道什么是创建登录过程的正确方法.
到目前为止,我认为创建一个$_SESSION['login']
甚至是$_COOKIE['login']
两个都具有相同内容的好方法是一种时间戳加密码的加密形式.
这个想法背后的逻辑是检查两者是否存在并比较它们的内容.如果两者都存在并且内容相等,则可以访问受保护的页面.
我知道Cookie是一种Session.Cookie将存储在用户客户端站点和会话中,但只有在浏览器打开时才会存在.我认为即使关闭浏览器并破坏会话,也可以延长会话的生命周期.
这应该确保SESSION不会被黑客攻击并且COOKIE被盗,这使得黑客无法访问用户的个人资料.
我对这个想法是对的,或者你是怎么做到的?
非常感谢.
我是jQuery的新手,想知道如何编辑点击功能.
这是HTML的样子:
<ul class="result">
<li id="a"></li>
<li></li> //will be added through a loop depending on input
</ul>
Run Code Online (Sandbox Code Playgroud)
所以我的问题是当我点击li
对象时它会做一些事情.现在我想li id="a"
从那个事件中排除.我以为return false;
会处理这个,但事实并非如此.
这是jQuery函数的样子:
$('.result li').click(function() {
$('.result li a').click(function (event) {
event.preventDefault();
event.stopPropagation();
});
some further code...
});
Run Code Online (Sandbox Code Playgroud)
我也尝试过:
$('.result li').click(function() {
$('.result li a').click(function () {
return false;
});
some further code...
});
Run Code Online (Sandbox Code Playgroud)
非常感谢.
今天我了解了COOKIES和SESSION之间的区别.
现在我想创建一个登录.主要想法如下:
$ip = $_SERVER['REMOTE_ADDR'];
$session_ip = $_SESSION['PHPSESSID']['ip'];
if ( (session_id() === $_COOKIE['PHPSESSID']) && ($ip === $session_id) ){
return (true);
} else {
return (false);
}
Run Code Online (Sandbox Code Playgroud)
我想检查IP就是这样一个,一个用户已经当他登录上次相同的.因此,当使sesion启动时,它会创建$_COOKIE['PHPSESSID']
客户端站点.服务器会将SESSION存储在服务器上的某个位置,并可以识别SESSIONsession_id()
基本上它应该像这部分说的一样:
session_id() === $_COOKIE['PHPSESSID']
Run Code Online (Sandbox Code Playgroud)
现在,probem是将IP保存到该SESSION的部分.
如何访问此SESSION以像处理数组一样处理它?通常我会这样做:
$ip = $_SERVER['REMOTE_ADDR'];
$_COOKIE['PHPSESSID']['ip'] = $ip;
Run Code Online (Sandbox Code Playgroud)
所以我只是将IP保存到客户端站点,$_COOKIE['PHPSESSID']
但是服务器站点的SESSION呢?我如何在那里存储IP?
非常感谢.
我想知道通过在Firefox中使用JavaScript来使用打印选项。
我的页面上有打印链接:
<a href="javascript:print()">print</a>
Run Code Online (Sandbox Code Playgroud)
我还按照关于Javascript的打印按钮页面上的说明进行操作。
问题是当我尝试在Firefox下打印页面时,我得到了一个四页的PDF预览,其中缺少内容:
我尝试使用Chrome,并且可以正常使用。
有任何想法吗?