아작스 전송시 평문 암호화
본문
//t.php
$.ajax({
url: "tt.php",
type: "post",
async:false,
data : ({ act:'test', A:'1', B:'2', C:'3' }),
success: function (data) {
dap = JSON.parse(data);
}
})
//tt.php
if($act=='test') {
$A=$_POST['A'];
$B=$_POST['B'];
$C=$_POST['C'];
$result = [];
$result['AA'] = $A+$B;
$result['BB'] = $A+$C;
echo json_encode($result);
return;
}
위 코드를 실행하면 '개발자 모드'에서 넘어오는 값을 확인할 수 있는데요
확인못하게 하는 방법으로
저 값을 암호화 tt.php 에서 암호화후 넘겨주고
t.php 에서 복호화를 하고 싶은데 어떻게 해야할지 모르겠네요
!-->!-->
답변 5
이건 제가 아주 오래전에 만든 함수인데 한번 응용해 보세요.
https://wittazzurri.com/editor/html_editor.php 서 확인해 보셈...
<script>
function uniString() {
for(i in arguments[0]) document.write((i == 0 ? "" : "|") + arguments[0][i].charCodeAt(0).toString(16));
}
function trueString() {
string = "";
arguments[0] = arguments[0].split("|");
for(i in arguments[0]) string += String.fromCharCode(parseInt(arguments[0][i],16));
document.write(string);
}
</script>
<div><script>uniString("그누보드 만만세")</script></div>
<div><script>trueString("adf8|b204|bcf4|b4dc|20|b9cc|b9cc|c138")</script></div>
데이터를 날릴 때는 adf8|b204|bcf4|b4dc|20|b9cc|b9cc|c138 을 날리고
얘를 받아서는 trueString("adf8|b204|bcf4|b4dc|20|b9cc|b9cc|c138") 로 받으면
그누보드 만만세라는 문자로 치환됩니다.
!-->자바스크립트에서 암호화된 것을 php에서 복호화하는 라이브러리는 구글검색하면 나올텐데요
php에서 암호화된 것을 자바스크립트에서 복호화하는 라이브러리가 있나 모르겠군요
그런데 개발자 모드에서 확인하는 것과 브라우저에서 넘어온 값을 사용하는 것이 어떤 차이가 있는지 모르겠네요
어차피 개발자 모드에 나오는 값을 브라우저에서 사용을 할텐데...
정답을 서버에 받아 와서
javascript로 정답 여부를 검사하는 것이라면
정답 검사를 서버에서 하고
결과만 보내 주는 것이 좋지 않을까요?
정답을 가져오는 시점을
문제를 풀고 난후 잠시 기다리게 할때 가져오면 되지 않을까요?
아무리 봐도 보기가 좀 찝찝해서요. 문자 중간에 | 이 들어가는 모양새가 폼이 안 나서
약간 다른 방식으로 바꿨습니다.
<script>
function uniString(uni) {
for (gz = "", i = 103; i <= 122; i++) gz += String.fromCharCode(i);
for (i in uni) document.write((i == 0 ? "" : gz[Math.floor(Math.random() * 19)]) + uni[i].charCodeAt(0).toString(16));
}
function f0String(str) {
for (f0 = _f0 = "", i = 0; i < str.length; i++) _f0 += str[i].replace(/^[g-z]/, "|");
_f0 = _f0.split("|");
for (i in _f0) f0 += String.fromCharCode(parseInt(_f0[i],16));
document.write(f0);
}
</script>
<div><script>uniString("그누보드 만만세")</script></div>
<div><script>f0String("adf8gb204qbcf4tb4dcn20wb9ccjb9ccuc138")</script></div>
답변을 작성하시기 전에 로그인 해주세요.