는 이미 Securing AJAX Requests via GUID 및 Securing an ajax request 를 참조하십시오. 이제 시나리오를 설명해 드리겠습니다. 주제 아래에 설명하는 데 도움이되는 코드 스 니펫이 나와 있습니다.보안 아약스 요청
[WebMethod[EnableSession = True]
[ScriptMethod]
public static string CreateTitle(string strTitleName)
{
string strResult = "Custom jSon string";
if(Session["Authorized"] == "True" && !String.IsNullOrEmpty(strTitleName))
{
String strTitle = Server.HtmlEncode(strTitleName);
InsertRecordInDB(strTitle);
strResult = "Custom jSOn string" + EncryptMD5("record id");
}
return strResult;
}
이하는 매개 변수를 보내기위한 javascript 호출입니다. btnCreateTitle_click은 버튼 클라이언트 측의 click 이벤트입니다. txtTitle은 제목 이름을 수락하는 텍스트 상자입니다. 검사기는 함수의 성공은 제목 작성 및 쿼리 문자열로 암호화 된 레코드 ID와 링크를 표시 한 으르렁 메시지가 표시 too.CreateTitle 내가 스크립트 관리자
function btnCreateTitle_Click(evnt){
if(Page.ClientValidate()){
if($get("txtTitle")){
PageMethods.CreateTitle($get("txtTitle").value,success,failure,context);
}}}
를 사용하여 호출 페이지 방법 텍스트 상자의 유효성을 검사 페이지에 생성됩니다 생성 된 제목의 세부 정보를 보려면 URL을 참조하십시오. 이제 굽기 질문
,
- 이 충분히 안전한가요? 나는 무엇을 놓치고 있습니까?
- 어떻게 프로세스를보다 안전하고 빠르게 만들 수 있습니까?
무엇이 레코드 ID를 암호화합니까? 너 소금이야? 사용자가 액세스 할 수없는 다른 ID를 추측하는 것을 멈추게 할 수 있습니까? 그것을 암호화하는 것은 그다지 도움이되지 않습니다. 귀하의 인증 클라이언트를 어떻게 알지 못하면 말할 수 없습니다. 쿠키 기반 인증은 일반적으로 안전하고 SSL을 통해 항상 실행할 수 있습니다. –
@ Simon yeah 나는 기록 ID를 염두에두고 트랜잭션을 실행하는 동안 그 사람이 자신이 생성 한/액세스 한 레코드를 업데이트하고 있는지 확인합니다. – Deeptechtons
보안의 어떤 측면이 당신을 걱정합니까? 어떤 문제를 해결하려고합니까? – Xhalent