我目前正在建立一个身份验证系统.我目前的布局是从$_POST
他的密码中获取他的电子邮件,并根据他的电子邮件和密码检查数据库.如果它匹配,我使用session_start
,并开始在$_SESSION
变量中存储数据,如下所示:
$_SESSION['uid'] = $uid;
$_SESSION['first_name'] = $first_name;
Run Code Online (Sandbox Code Playgroud)
在网站的每一页上,我都会做一个简单的检查
isset($_SESSION['uid']);
Run Code Online (Sandbox Code Playgroud)
如果没有,重定向到索引页面,如果是,则加载页面.
我这样做了吗?这足够安全吗?有人伪造数据有多容易?
有人告诉我,我应该创建一个表,用户的电子邮件,以及他的session-id并用它来管理事情......我变得相当困惑 - 这会有什么帮助?
有人可以澄清一下吗?使用PHP会话管理身份验证的正确方法是什么?
谢谢.
我目前使用Zend_Db来管理我的查询.我已经编写了代码,可以执行如下所示的查询:
$handle->select()->from('user_id')
->where('first_name=?', $id)
->where('last_name=?', $lname)
Run Code Online (Sandbox Code Playgroud)
假设Zend_Db会这样做,我没有清理输入就完成了这个.Zend会这样做吗?
另一个问题:Zend_Db是否清理insert('table', $data)
和update
查询?
谢谢.
当我使用current_timestamp
MySQL时,我得到了正确的时间,但是当我使用时
$mysqldate = date( 'Y-m-d H:i:s' );
我得到了延迟一小时的日期(例如,下午4:42是下午5:42).我明白这两个功能都使用服务器的本地时间 - 有人可以解释一下这个区别吗?
谢谢.
我有以下代码
$result = $handle->select()->from('store_details')
->where('store_details.store_id=?', $id)
->columns('store_details.store_name');
//->query(ZEND_DB::FETCH_OBJ);
Run Code Online (Sandbox Code Playgroud)
但是,当我运行它时,选择整行,而不仅仅是我想要的列.这是__toString的输出
SELECT `store_details`.*, `store_details`.`store_name`
FROM `store_details` WHERE (store_details.store_id=8)
Run Code Online (Sandbox Code Playgroud)
有帮助吗?
有人可以向我解释一下它们之间的区别
include_once 'classb.php'
class A
{
$a = new B
}
Run Code Online (Sandbox Code Playgroud)
和
class A extends B
{
$a = new B
}
Run Code Online (Sandbox Code Playgroud)
是什么?
扩展类与包含.php文件有什么优点/缺点?
我现在正在验证PHP中的所有字段,我必须预先形成基本(字符串长度等)和更复杂(例如,条带<>标签)
任何人都可以推荐一个这样做的类,或者可能是一个框架,或者可能是一些执行这些操作的函数?
我如何转换类似的东西
me.com/profile/24443/quincy-jones
Run Code Online (Sandbox Code Playgroud)
至
me.com/profile.php?id=24443
或类似的东西
me.com/store/24111/robert-adams
至
me.com/store.php?id=24111
Run Code Online (Sandbox Code Playgroud)
用mod_rewrite?
我可以使用mod_rewrite进行反向转换,还是必须通过PHP解析它?
我正在开发一个PHP网站,目前我的链接是facebook-ish风格,就像这样
me.com/profile.php?id=123
Run Code Online (Sandbox Code Playgroud)
我正在考虑转向搜索引擎更友好的东西(比如stackoverflow),例如:
me.com/john-adams
但是,如何区分具有相同名称的两个用户 - 或者更准确地说,stackoverflow如何区分具有相同标题的两个问题?我在考虑做类似的事情
me.com/john-adams-123
Run Code Online (Sandbox Code Playgroud)
并解析网址.
还有其他建议吗?
我目前正在使用PHP调整图像大小,我目前的代码大约需要2-2.2秒(不包括上传时间)来将图像大小调整为两种尺寸,一种缩略图尺寸和一种中等尺寸.任何人都可以推荐一个我可以下载的框架或类,可以快速调整图像大小吗?
谢谢.
我需要向我的服务器发送一个ajax POST请求.
我需要确保请求源自脚本本身,而不是来自用户自己编写请求的用户.有没有安全的方法来做到这一点?脚本可以对POST请求进行签名或编码,稍后由服务器的私钥解密吗?我可以以某种方式阻止用户使用我的公钥加密?
我不是仅仅为了过滤目的而这样做 - 所以普通的旧服务器端验证不会这样做.
php ×9
mysql ×2
seo ×2
.htaccess ×1
cookies ×1
datetime ×1
extends ×1
gd ×1
include ×1
javascript ×1
mod-rewrite ×1
oop ×1
public-key ×1
resize ×1
rsa ×1
security ×1
session ×1
upload ×1
validation ×1
zend-db ×1