$_POST
& $_GET
에 보안 문제가 있는지 궁금합니다. 의는 PHP 파일 이름은 사용자가 단지 delete.php?id=423&name=Jack
같은 것을 쓸 수 있으며 것 delete.php
라고하자 이제
if(isset($_POST['id'])) {
$client_id = mysql_real_escape_string($_POST['id']);
$client_name = mysql_real_escape_string($_POST['name']);
//Delete the Client
$sql="DELETE FROM clients WHERE id='".$client_id."'";
mysql_query($sql) or die(mysql_error());
//Client Pages Delete
$sql="DELETE FROM fanpages WHERE client='".$client_name."'";
mysql_query($sql) or die(mysql_error());
:
의 내가 다음과 같이 PHP 파일에 데이터를 보내는 AJAX 코드가 있다고 가정 해 봅시다 질의하고 클라이언트를 삭제 하시겠습니까?
처음에는 COOKIE 수표를 추가 할 생각 이었지만 COOKIE도 위조 될 수 있다는 것을 알고 있습니다. 맞습니까?
그럼 보안을위한 솔루션은 무엇입니까 $_POST
& $_GET
DB quires의 조합으로 요청 하시겠습니까?
편집 :이 모든 사용자 암호 보안 영역의 내부에 발생하지만 유일한 delete.php
파일에 대한 부탁 해요, 난이이 파일에 COOKIE 검사를 추가해야합니까?
EDIT2 : 스크립트는 COOKIE의 세션이 아니므로 시스템에 세션을 추가해야합니까? 같은 시스템에 쿠키와 세션이 있어야합니까?
등, 세션 경로가 개인이고 당신은 사람들이 당신의 세션을 가로 채 두지 않을 있는지 확인해야합니다. 당신이 이것을 가지고 있지 않다면, 누군가는 단순히 당신이 말했던 것처럼 URL을 입력하고 변경을 실행할 수 있습니다. 사이트에 코드, 세션, 암호 등이 있어야합니다. 이렇게하면 보안이 강화됩니다. – OptimusCrime
자신 만의 가져 오기와 올리기를 쉽게 만들 수 있습니다. 게시물을 수정하는 것은 어렵지 않지만 get을 사용하는 것보다 분명히 어렵습니다. PDO는 SQL 주입을 중지 할 수 있지만 특정 쿼리를 수행 할 권한이 있는지 여부를 확인해야합니다. 따라서 사용자가 실제로 해당 쿼리를 실행할 수 있는지 확인해야합니다. – Matt
보안이 필요한 각 파일에 세션 검사를 추가해야합니다. –