我正在尝试找出处理我的移动应用程序(iOS和Android)和API(PHP)的用户身份验证的最佳方法.
根据我的研究,选项包括:
HTTPS上的基本身份验证 - 检查每个请求的用户的用户名/密码.
会话 - 发送每个请求的会话ID; 服务器维护状态.因此,应用程序会在后续请求中为登录用户发送用户名/密码和服务器检查,就像我的网站一样.
API令牌 - 移动应用程序发送用户名/密码并接收令牌,然后将其附加到后续请求.令牌存储在DB中并检查每个请求.
我猜我对API令牌的解释是不正确的,因为它们似乎与会话相同,因为我将会话ID存储在数据库中.
我的User类中有一个save方法.
如果save方法遇到验证错误,它将返回我向用户显示的错误数组.但是这意味着在我的代码中我必须写:
if (!$user->save()) {
//display success to user
}
Run Code Online (Sandbox Code Playgroud)
当然,我的保存方法应该在成功时返回true.但是在这种情况下如何处理错误呢?
我正在尝试使用DateTime检查信用卡到期日期是否已过期,但我有点迷失.
我只想比较mm/yy日期.
到目前为止,这是我的代码
$expmonth = $_POST['expMonth']; //e.g 08
$expyear = $_POST['expYear']; //e.g 15
$rawExpiry = $expmonth . $expyear;
$expiryDateTime = \DateTime::createFromFormat('my', $rawExpiry);
$expiryDate = $expiryDateTime->format('m y');
$currentDateTime = new \DateTime();
$currentDate = $currentDateTime->format('m y');
if ($expiryDate < $currentDate) {
echo 'Expired';
} else {
echo 'Valid';
}
Run Code Online (Sandbox Code Playgroud)
我觉得我差不多了,但if语句产生的结果不正确.任何帮助,将不胜感激.
我正在使用mysql数据库自动增量作为订单ID.当我向用户显示订单ID时,我想以某种方式掩盖/混淆它.
为什么?
基于这个答案,我希望屏蔽/混淆的订单ID为:
我将如何在PHP中实现这一目标?它不一定非常复杂,乍一看它并不明显.
php ×4
android ×1
api ×1
credit-card ×1
date ×1
datetime ×1
ios ×1
methods ×1
mysql ×1
obfuscation ×1
oop ×1
return ×1
validation ×1