小编use*_*094的帖子

PHP会话的安全性

我知道这已被问过数十亿次,但我对于编码的安全性我是超级偏执/强迫症.我正在做一个小项目.会话数据仅包含:

user_id 1
user_name MyUsername
logged_in true
csrf_token 87cc51ee94178df79cccce2aebc45d53

这是我的代码.它是否足够安全,可以在小型CMS上使用?

session_start();

ini_set('session.cookie_httponly', 'On');
ini_set('session.cookie_secure', 'On');
ini_set('session.use_cookies', 'On');
ini_set('session.use_only_cookies', 'On');

$rand = rand(1, 10);

if ($rand != 1 || $rand != 3 || $rand != 5)
    session_regenerate_id();

$user_ip = md5($_SERVER['REMOTE_ADDR']);
$user_agent = md5($_SERVER['HTTP_USER_AGENT']);

if (isset($_SESSION['user_ip'], $_SESSION['user_agent'])) {
    $session_user_ip = $_SESSION['user_ip'];
    $session_user_agent = $_SESSION['user_agent'];

    if ($session_user_ip != $user_ip || $session_user_agent != $user_agent) {
        unset($_SESSION);
        session_destroy();

        die('Error');
    }
} else {
    $_SESSION['user_ip'] = $user_ip;
    $_SESSION['user_agent'] = $user_agent;
}
Run Code Online (Sandbox Code Playgroud)

然后调用会话:

$_SESSION['user_id'] = …
Run Code Online (Sandbox Code Playgroud)

php security session suhosin

8
推荐指数
1
解决办法
6878
查看次数

CodeIgniter - 从URL中删除"索引"

注意:我不是在谈论删除index.php- 我的意思是index- 方法名称.

我当前的网址如下所示:

www.mysite.com/view-topic/index/my-topic
Run Code Online (Sandbox Code Playgroud)

这就是我想要的样子:

wwww.mysite.com/view-topic/my-topic
Run Code Online (Sandbox Code Playgroud)

我该怎么做呢?

提前致谢!

php url routing controller codeigniter

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

无法使用ini_set,因为会话处于活动状态

我怎样才能解决这个问题?

警告:ini_set()[function.ini-set]:会话处于活动状态.您目前无法在第3行的C:\ xampp\htdocs****** .php中更改会话模块的ini设置

我已经尝试过使用session_destroy();但仍然遇到错误.

谢谢.

php session ini-set

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

PDO - 在非对象上调用成员函数fetch()

我的错误:

( ! ) Fatal error: Call to a member function fetch() on a non-object in C:\wamp\www\PDO\index.php on line 13

我的代码:

<?php 

$config['db'] = array(
    'host'      =>      'localhost',
    'username'  =>      'root',
    'password'  =>      '',
    'dbname'    =>      'learnpdo'
);

$db = new PDO('mysql:host='.$config['db']['host'].';dbname'.$config['db']['dbname'], $config['db']['username'], $config['db']['password']);
$query = $db->query("SELECT articles . title FROM articles");

while ($row = $query->fetch(PDO::FETCH_ASSOC)) {
    echo $row['title'];
}
Run Code Online (Sandbox Code Playgroud)

我知道有很多这样的问题,但没有一个答案似乎有效.

谢谢


编辑:

由于以下所有人,以上是固定的.:)现在我收到另一个错误:

Notice: Undefined index: id in C:\wamp\www\PDO\index.php on line 7

这是我的数据库:

http://d.pr/i/vcod

这是我的代码:

$db = new PDO('mysql:host=localhost;dbname=learnpdo;charset=UTF-8', …
Run Code Online (Sandbox Code Playgroud)

php database pdo fetch fatal-error

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

从字符串创建html链接

我试图转换这样的东西:

@Username

成:

<a href="Username">Username</a>

虽然无法在任何地方找到RegEx.有什么建议?

谢谢!

php regex

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