相关疑难解决方法(0)

如何在PHP中阻止SQL注入?

如果插入用户输入而不修改SQL查询,则应用程序容易受到SQL注入的攻击,如下例所示:

$unsafe_variable = $_POST['user_input']; 

mysql_query("INSERT INTO `table` (`column`) VALUES ('$unsafe_variable')");
Run Code Online (Sandbox Code Playgroud)

这是因为用户可以输入类似的内容value'); DROP TABLE table;--,查询变为:

INSERT INTO `table` (`column`) VALUES('value'); DROP TABLE table;--')
Run Code Online (Sandbox Code Playgroud)

可以采取哪些措施来防止这种情况发生?

php mysql sql security sql-injection

2776
推荐指数
28
解决办法
166万
查看次数

为什么我不应该在PHP中使用mysql_*函数?

为什么一个人不应该使用mysql_*功能的技术原因是什么?(例如mysql_query(),mysql_connect()mysql_real_escape_string())?

即使他们在我的网站上工作,为什么还要使用其他东西?

如果他们不在我的网站上工作,为什么我会收到错误

警告:mysql_connect():没有这样的文件或目录

php mysql database

2432
推荐指数
12
解决办法
21万
查看次数

Django账号锁定

有没有人知道一个Django应用程序,如果安装了暴力密码猜测攻击,可以用来扩展django auth和锁定帐户?

即,一种限制登录尝试次数的帐户锁定机制.

security django

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

Django-会话持续多长时间(如果用户关闭并重新打开浏览器)

我正在尝试设置用户可以“尝试”密码的次数。目前,我想存储他/她可以在会话中尝试输入密码的次数和“惩罚时间”。

问题是用户关闭浏览器或更改其他IP地址会对会话产生影响吗?

例如,如果用户有5分钟的惩罚时间,这可以通过两个日期时间实例相减> 5来完成,然后让用户再次尝试5次。如果用户同时关闭并重新打开浏览器,“会话”会丢失吗?

在用户登录之前进行检查:

##############SESSION BASED##################
#Initialize tries, to be used later on
tries = "0"
try:
    tries = request.session['tries']
except:
    pass

#If tries > 5 times
if(int(tries) >= 5):
    timeNow = request.session['locked_time']
    timeDifferenceSeconds = (datetime.datetime.now() - datetime.datetime.strptime(timeNow, "%Y-%m-%d %H:%M:%S.%f")).total_seconds()

    #See if the difference is greater than 15 minutes, otherwise lock
    if(timeDifferenceSeconds > 900):
        request.session['tries'] = str(0)
        logger.info("User:" + str(username) + " is unlocked");
    else:
        logger.info("User:" + str(username) + " is currently locked");
        logger.info("User:" + str(username) + " returning …
Run Code Online (Sandbox Code Playgroud)

python django session

0
推荐指数
1
解决办法
2256
查看次数

标签 统计

django ×2

mysql ×2

php ×2

security ×2

database ×1

python ×1

session ×1

sql ×1

sql-injection ×1