相关疑难解决方法(0)

我需要用bcrypt储存盐吗?

bCrypt的javadoc有如何加密密码的代码:

String pw_hash = BCrypt.hashpw(plain_password, BCrypt.gensalt()); 
Run Code Online (Sandbox Code Playgroud)

要检查明文密码是否与先前已经散列的密码匹配,请使用checkpw方法:

if (BCrypt.checkpw(candidate_password, stored_hash))
    System.out.println("It matches");
else
    System.out.println("It does not match");
Run Code Online (Sandbox Code Playgroud)

这些代码片段向我暗示随机生成的盐被丢弃.是这种情况,还是只是一个误导性的代码片段?

java encryption passwords salt bcrypt

186
推荐指数
1
解决办法
3万
查看次数

GWT:在cookie中存储会话ID,然后是什么?

我目前正在使用GWT创建一个站点,在AppEngine上托管.我正在制作我正在制作的自己的登录信息(我知道谷歌提供了一些GWT,但我需要自己的登录系统),而且我一直试图找出会议已经有一段时间了.我找到了一些教程,其中一个我正在阅读的网站是http://code.google.com/p/google-web-toolkit-incubator/wiki/LoginSecurityFAQ

那里有一节"如何记住登录".我知道如何通过RPC调用获取会话ID并将其存储在cookie中的客户端上.我不明白的是,最终在一天左右后,用户回来了,我应该从cookie中获取会话ID并将其发送回服务器.为了安全地评估会话ID是否合法,我应该在服务器上做什么,并提取有关用户的所有必要信息?

其他问题:1.什么会使会话ID发生变化?2.如果用户在笔记本电脑上,并且用户去了其他地方,该怎么办?他是否仍然可以安全地重新登录,而无需再次输入他的登录名和密码?

谢谢!

〜斯科特

session gwt gwt-rpc

7
推荐指数
2
解决办法
6384
查看次数

如何在GWT中实现登录屏幕?

我正在为后端应用程序编写一个小型GWT前端,我想知道GWT应用程序的最佳安全模型?

我正在考虑实现一个RPC方法,该方法从客户端网页接收用户密码的MD5,然后将会话ID传回客户端页面(或失败代码).所有后续调用都只使用会话ID,服务器会跟踪会话ID的IP地址是否与创建会话ID的IP地址相同?

这是GWT应用程序(非ssl)身份验证的标准机制吗?

如果没有,有人可以建议替代解决方案?

谢谢,

java authentication gwt

6
推荐指数
1
解决办法
898
查看次数

在GWT中自动登录的会话和Cookie

我知道已经有很多问题,但我似乎还没有找到明确的答案.我要做的是让用户在登录2周后或者直到他们退出时才会被记住.以下是我认为应该发生的事情,我想知道是否有更多经验的人可以告诉我,我是对还是错.

用户首次登录.对服务器的RPC调用返回一个"UserInfo"对象,其中包含一个新的sessionID.服务器上的Aka会发生并user返回:

user.setSessionId(getThreadLocalRequest().getSession().getId());

现在user返回后,我们必须创建Cookie来存储客户端数据.我正确地说我们需要一个Cookie来识别当前用户而另一个用于sessionID:

final long DURATION = 1000 * 60 * 60 * 24 * 14; //duration remembering login - 2 weeks
Date expires = new Date(System.currentTimeMillis() + DURATION);

String sessionID = user.getSessionId();
String username = user.getUsername();
Cookies.setCookie("sessionID", sessionID, expires, null, "/", false);
Cookies.setCookie("username", username, expires, null, "/", false);
Run Code Online (Sandbox Code Playgroud)

现在,当用户稍后返回应用程序时,我们检查cookie并且(如果它们存在且由于某些原因(例如显式从用户注销)未被删除)使用它们的值来通过RPC检查会话有效性服务器:

String sessionID = Cookies.getCookie("sessionID");
String username = Cookies.getCookie("username");

    if ( sessionID != null && username != null){
        AsyncCallback<UserInfo> callBack = new AsyncCallback<UserInfo>(){

            @Override
            public void …
Run Code Online (Sandbox Code Playgroud)

cookies session gwt login session-cookies

5
推荐指数
1
解决办法
1万
查看次数

gwt ajax ssl登录

我有GWT AJAX代码,但服务器端是PHP而不是JAVA.现在我需要登录到服务器端PHP服务器.但我需要连接SSL.

解决方案的可能性我在想:

  1. 将http更改为https://
  2. PHP服务器端LAMP或XAMPP必须具有ssl支持.

他们是对的吗?

如果有一些丢失的配置,那么任何人都可以通知我吗?

php ssl gwt login

2
推荐指数
1
解决办法
1664
查看次数

在身份验证期间,将登录名和密码从客户端传递到服务器的安全方法是什么?

我刚刚设置了一个代理,并通过该代理运行我的所有请求.

我调查了几个不同的应用程序:它们传递登录和密码对raw,即我可以从POST请求参数中获取它们.

如何实现它以使其更安全?(我还没有调查过gmail和facebook,但我认为他们没有这个问题.否则,任何网吧都可以收集其客户的所有账户,例如).

PS我调查了用JSP和GWT编写的网站.

security authentication gwt jsp

2
推荐指数
1
解决办法
1429
查看次数

gwt程序中的例外情况

gwt程序中的一个例外

java.lang.ExceptionInInitializerError

[ERROR] Unable to bind socket on port 9997 -- is another session active?
java.net.BindException: Address already in use
    at java.net.PlainSocketImpl.socketBind(Native Method)
    at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:365)
    at java.net.ServerSocket.bind(ServerSocket.java:319)
    at java.net.ServerSocket.bind(ServerSocket.java:277)
    at com.google.gwt.dev.shell.BrowserListener.<init>(BrowserListener.java:67)
    at com.google.gwt.dev.DevModeBase.ensureCodeServerListener(DevModeBase.java:898)
    at com.google.gwt.dev.DevModeBase.doStartup(DevModeBase.java:888)
    at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1030)
    at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:783)
    at com.google.gwt.dev.DevMode.main(DevMode.java:275)
log4j:WARN No appenders could be found for logger (org.apache.jasper.compiler.JspRuntimeContext).
log4j:WARN Please initialize the log4j system properly.
Starting Jetty on port 8888
   [WARN] failed SelectChannelConnector@127.0.0.1:8888
java.net.BindException: Address already in use
    at sun.nio.ch.Net.bind(Native Method)
    at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:119)
    at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59)
    at org.mortbay.jetty.nio.SelectChannelConnector.open(SelectChannelConnector.java:205)
    at …
Run Code Online (Sandbox Code Playgroud)

java gwt

-7
推荐指数
1
解决办法
6129
查看次数