我们正在开发一个新项目,我们是两个主要的开发人员,并且在如何使用令牌来保护服务器和客户端之间的通信方面走得很远:
步骤一)客户端请求主令牌,通过发送用户名和密码以及current_time(此变量将保存在服务器的数据库和客户端也)到api,服务器解释输入,并呈现散列令牌(例如:58f52c075aca5d3e07869598c4d66648)将其保存在数据库中并将其返回给客户端.
步骤二)客户端现在保存主令牌,并使用主令牌+在身份验证请求中发送的current_time变量创建新的哈希令牌(让我们调用此新令牌,main_token),服务器也会这样做,并使用相同的令牌创建相同的令牌相同的算法.
步骤三)每次客户端查询服务器API时,它会将main_token发送到服务器,现在服务器将其中生成的令牌与客户端发送的main_token进行比较,如果匹配,则表示用户是真实的
步骤一)客户端生成两个随机密钥($ key1 = rand(10000,90000); $ key2 = rand(10000,90000);)在API上的每个请求中,客户端使用查询类型创建哈希,并且具有复杂算法的两个密钥,并将这两个密钥+哈希发送到服务器
步骤二)服务器使用客户端中使用的相同算法创建哈希,并与客户端发送的哈希进行比较,如果匹配,则服务器继续处理查询
现在,问题是,哪一个是用于保护api请求的最合理,最安全的方法
最好的祝福
我在我的应用程序中发现了一个奇怪的错误,由于我对Javascript的经验不足,我无法调试它;
我试图设置一个持久性cookie,它将在设置一年后死亡(主要浏览器中的最大值),但是在浏览器关闭后仍然存在并且不会被删除,我一直在使用这段代码:
// Build the expiration date string:
var expiration_date = new Date();
expiration_date.setYear (expiration_date.getYear () + 1);
expiration_date = expiration_date.toGMTString();
// Build the set-cookie string:
var cookie_string = "test_cookies = true; path=/; expires=" + expiration_date;
// Create/update the cookie:
document.cookie = cookie_string;
Run Code Online (Sandbox Code Playgroud)
我注意到当我使用cookie管理器插件时,cookie有会话标记,并且只有具有此标记的cookie在浏览器关闭后被删除(其他像Wordpress和此类脚本仍然存在)
我想用GD库模糊图像,遗憾的是GD给出的GAUSSIAN_BLUR效果还不够,我想要的东西更模糊
<?php $im = imagecreatefrompng($_GET['image']);
if($im && imagefilter($im, IMG_FILTER_GAUSSIAN_BLUR))
{
header('Content-Type: image/png');
imagepng($im);
}
else
{
echo 'fail';
}
imagedestroy($im);
Run Code Online (Sandbox Code Playgroud)
我想要这样的东西或至少在它附近.

在我修复了我的社区中的recaptcha之后,似乎垃圾邮件仍然无处不在,我唯一可以想象的是导致垃圾邮件的付费人,任何想法如何防止这些混蛋?
使用它的优点和缺点是什么:
$globals['server_url'] = dirname(__FILE__);
$globals['mainfiles'] = dirname(__FILE__).'/main';
Run Code Online (Sandbox Code Playgroud)
以及使用它的利弊:
$globals['server_url'] = '/srv/www/htdocs/somwhere/';
$globals['mainfiles'] = '/srv/www/htdocs/somwhere/main';
Run Code Online (Sandbox Code Playgroud)
你有什么建议?
顺便说一句:这些都是在config.php文件中设置的,该文件也被其他文件调用,以便在包含我们使用它的文件时停止目录冲突,如下所示:
require_once($globals['server_url'].'/test.php');
Run Code Online (Sandbox Code Playgroud) 我正在尝试做很多检查,我发现如果我使用短if语句我会生成一个更短的代码,它会减少我的脚本约100行
if (($options['vss_check'] == 'all' ?
check_facebook() && check_plusone() :
($options['vss_check'] == 'fbonly' ?
check_facebook() :
($options['vss_check'] == 'poonly' ?
check_plusone()
)
)
) &&!is_null( $content ) &&!is_feed() ) {
Run Code Online (Sandbox Code Playgroud)
但是我在那条线上得到语法错误'意外''我做错了什么?谢谢
php ×4
api ×1
blur ×1
cookies ×1
gd ×1
imagefilter ×1
javascript ×1
logic ×1
security ×1
spam ×1