标签: codeigniter

在codeigniter上将域重定向到www

将codeigniter网站重定向到www域的最佳方法是什么?我想到的唯一方法是使用htaccess,但无法弄清楚具体如何.这是我正在使用的重写规则,用于从url中删除index.php.我应该如何正确地将重定向添加到www域?

RewriteEngine on
RewriteCond $1 !^(index\.php|images|assets|uploads|robots\.txt|favicon\.png|favicon\.ico)
RewriteRule ^(.*)$ index.php/$1 [L]
Run Code Online (Sandbox Code Playgroud)

php .htaccess codeigniter

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

如何删除所有会话和cookie

我想知道是否有任何方法可以删除所有域名网站cookie和会话参数.

somenthing喜欢$this->session->destroy();?

cookies session codeigniter

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

Codeigniter - 活动记录是否容易受到SQL注入?

只是在堆栈溢出时读取这个,因此让我想知道是否可以通过CI中的活动记录进行SQL注入.

在我的项目的大多数地方,为了用户注册和用户配置文件更新,我已经完成了这样的SQL插入:

控制器:

$name = $this->input->post('name');
$last_name = $this->input->post('last_name');
$age = $this->input->post('dob');

$user_data = array(
    'name' => $name,
    'last_name' => $last_name,
    'age' => $age
);

$this->user_model->add_user_function($user_data);
Run Code Online (Sandbox Code Playgroud)

模型:

function add_user_function($data)
{
    $this->db->insert('user_table',$data);
    return;
}
Run Code Online (Sandbox Code Playgroud)

就像上面SO链接中的示例一样,我的代码是否可以用于SQL注入?
如果可能损害我的系统,你能给出一个特定的例子,如果它存在,我该如何防止它.

mysql activerecord sql-injection codeigniter

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

在杂货店CRUD上传文件时检查文件格式

我有使用杂货CRUD进行文件上传的以下代码

function test(){
        $crud=new grocery_CRUD();       
        $crud->set_table('test');
        $crud->add_fields('name', 'image');
        $crud->set_field_upload('image', 'test');
        $crud->callback_before_upload('image', array($this, 'before_test_upload'));
        $output=$crud->render();
        $output->page_title="Test Page";
        $this->_crud_output($output);       
    }
function before_test_upload($files_to_upload, $field_info){
        // Here I want to check the file format before that file upload to source folder.
    }
Run Code Online (Sandbox Code Playgroud)

php mysql codeigniter file-upload grocery-crud

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

Codeigniter MVC /显示表中的所有记录

我写的以下代码只显示表中的最后一行.但是我需要在表格中loop显示每一个row.

模型

class Catalog_products extends CI_Model {

    function Show_all_products()
    {

        $q = $this->db->get('printer');

        foreach ($q->result() as $row)
            {
                $data = array();
                $data['id'] = $row->id;
                $data['name'] = $row->name; 
            }   

        return $data;

    }

}
Run Code Online (Sandbox Code Playgroud)

视图

<?php echo $id ?>
<?php echo $name ?>
Run Code Online (Sandbox Code Playgroud)

CONTROLLER

public function catalog()
{

    $this->load->model('Catalog_products');
    $data = $this->Catalog_products->Show_all_products();
    $this->load->view('catalog', $data);
}
Run Code Online (Sandbox Code Playgroud)

php codeigniter

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

Codeigniter表单打开如何删除index.php

在Codeigniter中,当我使用form_open()函数时,它会添加index.php到url.
怎么能删除它?
注意:我使用htaccess从url中删除了index.php.

php forms codeigniter

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

CodeIgniter - 在Helper中访问数据库

我在我的视图中有这个代码.

$country = array(
    'id' => 'country',
    'name' => 'country',
    'value' => get_user_info('country'),
    'size' => 30
);

<tr>
            <td><?php echo form_label('Country', $country['id']); ?></td>
            <td><?php echo form_input($country); ?></td>
            <td style="color: red;"><?php echo form_error($country['name']); ?><?php echo isset($errors[$country['name']])?$errors[$country['name']]:''; ?></td>
    </tr>
Run Code Online (Sandbox Code Playgroud)

get_user_info()是我的form_helper中定义的函数,如下所示:
Form_Helper.php

if(! function_exists('get_user_info')){

        function get_user_info($field)
        {
            $ci = & get_instance();
            $ci->load->model('users');
            return $ci->users->get_user_profile($field);
        }
}
Run Code Online (Sandbox Code Playgroud)

如您所见,在此函数内部,我通过用户模型访问数据库.User_Model

function get_user_profile($field)
        {
            $user_id = $this->session->userdata('user_id');

            $this->db->select($field);
            $this->db->where('user_id',$user_id);

            $query = $this->db->get($this->profile_table_name);
            if($query->num_rows()==1)return $query->row();

            return NULL;
        }
Run Code Online (Sandbox Code Playgroud)

我们的想法是在页面加载时自动填充表单的Country字段.
但在视图中我收到此错误

A PHP Error was encountered

Severity: Warning

Message: …
Run Code Online (Sandbox Code Playgroud)

php codeigniter

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

CodeIgniter - 我在控制器中有一个公共功能,但我不希望人们通过URL请求它

CodeIgniter - 我在控制器中有一个公共函数,但我不希望有人通过URL请求它.

即,我有这个:

public function process_images($images) {
  ...
}
Run Code Online (Sandbox Code Playgroud)

我需要公开因为我正在使用GroceryCRUD并使用回调 - 将其设置为受保护意味着GroceryCRUD不会使用其回调来调用它.

所以看起来它必须是公开的.我如何声明它是公开的,但确保CodeIgniter不会从URL请求中调用它(即,如果我去http://site.com/images/process_images/test.jp它不会调用它::process_images('test.jpg'))

php codeigniter public

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

在退出时清除缓存以防止在注销后返回登录页面或上一页

这已经困扰了我一个星期了.好吧,我非常需要在用户成功登录后清除登录页面的缓存,并防止用户在按下后退按钮后退出后查看上一页.我尝试在codeigniter中添加此代码(索引页面和登录页面),但仍然没有任何反应

header("Cache-Control: no-cache, must-revalidate");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
Run Code Online (Sandbox Code Playgroud)

以及这一个:

<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<META HTTP-EQUIV="EXPIRES" CONTENT="01 Jan 1970 00:00:00 GMT">
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
Run Code Online (Sandbox Code Playgroud)

我已经在考虑在后台运行的同步任务来检查会话但是我在AJAX中并不是那么好.那么我想要的就是让它像使用轨道上的红宝石一样简单Cache-Control: no-cache.顺便说一下,我也没有关于ruby的知识,但看到代码让我想知道为什么在codeigniter中没有像这样的简单解决方案?解决这个问题的任何解决方案?

php codeigniter cache-control http-headers

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

codeigniter活动记录,何时转义,如果有的话

我刚刚开始使用活动记录(之前我只是编写手动查询,因为我已经习惯了它们).

我正在查看ion_auth的代码,我发现即使使用了活动记录,在某些地方字符串也已被转义,

即

 ->where($this->identity_column, $this->db->escape_str($identity))
 ->where($this->tables['groups'].'.name', $this->db->escape_str($group))
Run Code Online (Sandbox Code Playgroud)

事实是,我没有逃过任何我使用过活动记录的地方,因为在文档上它表示活动记录会自动转义字符串.

我的问题,当使用活动记录时,是否存在一些应该转义字符串的情况?

activerecord codeigniter escapestring

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