2012-12-01 2 views
0

나는 시스템 알림을 빌드하고 문제가 있습니다.onclick php 후 테이블 업데이트

로그온 한 사용자에 대해 'new = 1'에서 new = '0'까지 onclick 후에 'notifications'테이블을 업데이트하려고합니다.

어떻게 내가 아약스 또는 다른 뭔가 onclick 후 데이터베이스에서 업데이트. 내가이로 아약스와 요청을 서버에 보내는 경우 :

 function readNotifications(str) 
    { 
    if (window.XMLHttpRequest) 
     {// code for IE7+, Firefox, Chrome, Opera, Safari 
     xmlhttp=new XMLHttpRequest(); 
     } 
    else 
     {// code for IE6, IE5 
     xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
     } 
    xmlhttp.onreadystatechange=function() 
     { 
     if (xmlhttp.readyState==4 && xmlhttp.status==200) 
     { 
     document.getElementById("txtHint").innerHTML=xmlhttp.responseText; 
     } 
     } 
    xmlhttp.open("GET","controlpanel.php?notification=readNews",true); 
    xmlhttp.send(); 
    } 

서버가 경고를 업데이트 할 수있는 사용자 ID 알 수 없습니다. 그리고 사용자 ID를 보내면 사용자 ID를 변경할 수 있어야하며 모든 사람이 서로의 알림을 업데이트 할 수 있으며 이는 보안이 아닙니다.

영어로 유감 스럽지만 이해가 안되면 질문 할 수 있습니다. 감사합니다.

+0

[당신이 시도 무엇?] (http://whathaveyoutried.com) – jan267

+0

은 서버보다 사용자 ID 또는 그 이상의 무엇인지 문제인가? –

답변

0

더 안전하게하려면 POST를 사용하십시오. http://www.w3schools.com/ajax/ajax_xmlhttprequest_send.asp

일반적으로 누군가가 수동으로 USER ID 값을 변경하려는 경우이를 수행 할 방법을 찾을 수 있습니다. SSL과 같은 보안 조치를 사용하면 데이터를보다 안전하게 보낼 수 있습니다.

+0

[W3Schools] (http://w3fools.com)를 참조하지 마십시오. – jan267

+0

W3Schools와 SQL의 JavaScript 섹션에는 아무 문제가 없습니다. W3Fools는 기본적으로 JavaScript와 SQL이 아닌 잘못된 HTML 부분을 다룹니다. – Yang

+0

W3School의 문제점은 무엇입니까? – Dharman

2

나는 당신이 사용자가 로그인 한 번 세션 변수에 USER_ID를 저장하는.

<?php 
session_start(); 
// store session data 
$_SESSION['user_id']=100001; 
?> 

그것의 더 나은 생각하고 접근이 귀하의 아약스 요청을 처리하는 동안 뒤에 코드에서.

$_SESSION['user_id'] 


쿠키를 사용하는 경우, 당신은 여전히 ​​당신의 서버 측 코드에서 받아 들일 수 있습니다.

$_COOKIE["user_id"]; 
will do it. 

withCredentials 속성을 true로 설정했는지 확인하십시오.

var req= new XMLHttpRequest(); 
req.withCredentials = true; 
+0

쿠키로 작업하지만 이것은 도움이되지 않습니다. 세션을 변경할 수 있습니다. – user999705

+0

나는 그것과 함께 무엇을 이해할 수 없다. 나는 그것이 나에게 적합하지 않다고 생각한다. – user999705

관련 문제