codeigniter 2.X 대 에서 IE 9 에서 세션이 제대로 작동하지 않는 버그


다른 브라우져에서는 문제가 없는데, IE9 에서 세션 쿠키 명에 언더바를 지원하지 않는다.



/application/config.php 파일에서 세션 이름을 변경해주면 해결 가능~!


$config['sess_cookie_name'] = 'XXX_XXXXX';

위처럼 되어있는것을 아래 처럼 _ 를 제거한 형태로 변경해주면 해결가능

$config['sess_cookie_name']  = 'XXXXXXXX';


크롬 사용중에 사이트가 잘 뜨지 않고 스타일이 깨지는 현상들이 발생했다


net::ERR_CACHE_READ_FAILURE





[해결방법]


1. 크롬 설정 진입




인터넷 사용정보 삭제 클릭


2. 크롬 임시파일을 모두 삭제한다.




이렇게 해도 해결이 안된다면!


3. 크롬 설정 에서 아래쪽에 고급 설정 표시 클릭


4. 맨 하단의 [설정초기화] 클릭 !!






크롬 업데이트는 크롬 화면 우측의 삼선 아이콘 클릭후 설정 메뉴를 통해 진입하면 아래와 같은 정보 탭에서 확인이 가능하다.


또한 하위 버전인경우 아래와 같이 업데이트 체크를 통해 최신버전으로 업그레이드가 가능하다.




문제는 크롬 캐쉬 관련된 버그로 사이트들이 마구잡이로 깨져서 40.0.2214.94 로 업데이트!!


업데이트 전에는 유튜브 를 비롯 몇몇 특정사이트에서 캐쉬 관련 오류가 발생했었고 최근에는 대부분에 사이트에서 오류가 발생!(css 관련) 


어쨌든 업데이트후 해당 문제는 나오지 않고 있다



CodeIgniter + uploadify + Session Cookie (Flash)


The solution:
This guide has been written for CI 2.1.0, it can easily be edited for prior versions.

EDIT
-In later versions of uploadify post_params in JavaScript may be replaced by formData

1. Extend CI_Session
Create a MY_Session.php under /application/libraries or extend your own one. Copy the whole sess_read() function from /system/libraries/Session.php and paste it into your newly created MY_Session.php.

Replace:

$session $this->CI->input->cookie($this->sess_cookie_name); 

With:

if (isset($_POST['browser_cookie']))
  
{
   $_cookie 
$this->CI->input->post('browser_cookie');
   
$enc_key $this->CI->config->item('encryption_key');
   
$session trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256$enc_keybase64_decode($_cookie), MCRYPT_MODE_ECBmcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256MCRYPT_MODE_ECB), MCRYPT_RAND)));
  
else {
   $session 
$this->CI->input->cookie($this->sess_cookie_name);
  

2. Session Library Setup
Setup your Session Library properly (add an encryption_key in your config.php) and enable table based sessions as well as disable sess_match_useragent in config.php (important!)

3. In your view where uploadify is embedded, you will have to append post params to your upload function. Here is a sample code:

$('#do_upload').uploadify({
  swf
'/js/uploadify/uploadify.swf',
  
uploader'/objects/upload_images/' object_id,
  
post_params{"browser_cookie""<?= trim(base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $this->config->item('encryption_key'), $_COOKIE[$this->config->item('sess_cookie_name')], MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND)))); ?>"},
  
cancelImage'/js/uploadify/uploadify-cancel.png',
  
checkExistingfalse,
  
multitrue,
  
autotrue,
  
onUploadSuccess: function(filedataresult){
     
//do something useful
  
}
 }
); 

This has to be parsed by your PHP parser in order to fill the values. You could also just declare a variable like

var browser_cookie = “<?= trim…....... ?>”

and just load this global variable in your upload function.

4. How does it work?
Basically it generates an encrypted version of your session cookie and posts it to your server. As you have already modified the session class, it recognizes that your session cookie has been sent via post and is using this instead. Basically it’s just a simulation of what the browser would do if it wasn’t Flash.

5. Conclusion and caveats
If CI Basis is updated, don’t forget to update your MY_Session as well. It is just ensuring that.

Make sure that your cookie is valid before sending the files to your server. Otherwise you could raise the value of “sess_time_to_update” in your config.php.



출처 : https://ellislab.com/forums/viewthread/216227/#999189

특정 사이트가 프레임셋으로 된 부분에서만 스크롤시 잔상이 생기는 문제가 발생.

그것도 특정 컴퓨터들만 그러고 있더라는 -_-;

확인결과 특정 컴퓨터 는 모두 ie6

 즉,
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

웹표준 문서 선언이 된 페이지가 frame 사용되어 출력되는경우 스크롤 사용시 특정 div ,img , 글자들의 잔상이 나는 버그.

해결방법 :
1.
<!--[if ie]>
<style type="text/css">
html {
    overflow: scroll;
    overflow-x: auto;
}
</style>
<![endif]-->
2.
background:url('배경이미지') top repeat-x;

css 내용중 요약처리되는 부분에 의한 잔상

background-color:#FFF; background-image:url('배경이미지');
background-position: top; background-repeat: repeat-x;

요약된부분의 css 옵션을 정확히 써준다.






'정보공유' 카테고리의 다른 글

symantec endpoint protection 제거  (0) 2010.01.27
ie6 버그 - div 잔상  (0) 2009.11.02
블루웹 호스팅 119 서비스 2탄 - 악성코드 삽입 대처하기  (0) 2009.10.26
웹표준(1)  (0) 2009.10.13

+ Recent posts

티스토리 툴바