728x90
PHP와 혼용된 HTML Form 태크의 값을 넘길 때 변수명이 너무 많으면 일일이 값을 기입하여 전달하기가 쉽지 않다.
게다가 해킹 방지를 위해서는 key 값은 암호화처리를 해서 넘기는 것이 좋다.
JSEncrypt 암호화코드를 적용하려고 하니 일일이 변수명에 대한 값을 기록해야 하는 거 같아 이 방법을 사용하지 PHP 암호화 코드를 적용하고 복호화하는 방법을 택했다.
idx 값이 보통 숫자인데 이 값을 그대로 노출해서 수정/삭제를 하면 값을 변경하여 처리하는 해킹시도에 노출되기 쉽다.
그래서 반드시 암호화해서 처리를 하여야 한다.
<form class='form-horizontal' id='MNRegister'>
<input type="hidden" name="idx" value="<?php echo $a->Encrypt($idx)?>" />
<table class='table table-bordred'>
<tr>
<th style='width:15%'>성명</th>
<td style='width:35%'>
<?php echo $a->letterMasking($row['userNM']).'('.$a->IDMasking($row['userID']).')';?>
</td>
<th style='width:15%'>휴대폰℡</th>
<td style='width:35%'>
<?php echo $a->phoneNoMasking($a->Decrypt($row['mobileNO']));?>
</td>
</tr>
<tr>
<th style='width:15%'>직위</th>
<td style='width:35%'><select class="browser-default custom-select" name="codeID">
<?php
foreach($posArr as $k=>$v){
if($row['codeID']==$k){
echo "<option value='".$k."' selected>".$v."</option>";
} else {
echo "<option value='".$k."'>".$v."</option>";
}
}
?>
</select>
</td>
<th style='width:15%'>팀서열</th>
<td style='width:35%'>
<input class="form-control input-sm" type="text" name="regNO" value="<?php echo $row['regNO'];?>">
</td>
</tr>
<tr>
<th style='width:15%'>본부</th>
<td style='width:35%'>
<input class="form-control input-sm" type="text" name="group2" value="<?php echo $row['group2'];?>">
</td>
<th style='width:15%'>담당</th>
<td style='width:35%'>
<input class="form-control input-sm" type="text" name="group3" value="<?php echo $row['group3'];?>">
</td>
</tr>
<tr>
<th style='width:15%'>부서</th>
<td style='width:35%'>
<input class="form-control input-sm" type="text" name="group4" value="<?php echo $row['group4'];?>">
</td>
<th style='width:15%'>팀명</th>
<td style='width:35%'>
<input class="form-control input-sm" type="text" name="group5" value="<?php echo $row['group5'];?>">
</td>
</tr>
<tr>
<th style='width:15%'>회원등급</th>
<td style='width:35%'><select class="browser-default custom-select" name="admin">
<?php
foreach($sysrole as $k=>$v){
if($row['admin']==$k){
echo "<option value='".$k."' selected>".$v."</option>";
} else {
echo "<option value='".$k."'>".$v."</option>";
}
}
?>
</select>
</td>
<th style='width:15%'>개인정보</th>
<td style='width:35%'><select class="browser-default custom-select" name="smart">
<?php
foreach($personinfo as $k=>$v){
if($row['smart']==$k){
echo "<option value='".$k."' selected>".$v."</option>";
} else {
echo "<option value='".$k."'>".$v."</option>";
}
}
?>
</select>
</td>
</tr>
<tr>
<th style='width:15%'>로그인</th>
<td style='width:35%'><select class="browser-default custom-select" name="access">
<?php
foreach($access as $k=>$v){
if($row['access']==$k){
echo "<option value='".$k."' selected>".$v."</option>";
} else {
echo "<option value='".$k."'>".$v."</option>";
}
}
?>
</select>
</td>
<th style='width:15%'>Status</th>
<td style='width:35%'><select class="browser-default custom-select" name="hidden">
<?php
foreach($hidden as $k=>$v){
if($row['hidden']==$k){
echo "<option value='".$k."' selected>".$v."</option>";
} else {
echo "<option value='".$k."'>".$v."</option>";
}
}
?>
</select>
</td>
</tr>
</table>
</form>
|
jQuery 코드
form id NMRegister 값을 serialize하여 모든 변수를 한꺼번에 POST ajax로 넘길 수 있다.
function MNRegChk(idx,curPage,where,keyword,cat1,cat2,bidx,sort){
//if(CheckErr($('input[name=userID]'),'아이디를 입력하세요.') == false) return false;
//if(CheckErr($('input[name=userNM]'),'성명을 입력하세요.') == false) return false;
var params = $('#MNRegister').serialize();
$.post('MemberRegChk.php',params,function(msg){
//prompt('msg',msg);
var uri = $('#urlPath').attr('url-path');
if(msg == 1){
alert('등록되었습니다.');
$('#dialog').dialog('close');
MemberListTable(where,keyword,curPage,uri,bidx,sort,cat1,cat2,'');
} else if(msg == 2){
alert('수정되었습니다');
$('#dialog').dialog('close');
MemberListTable(where,keyword,curPage,uri,bidx,sort,cat1,cat2,'');
} else if(msg == 0){
alert('변경에 실패했습니다');
}
},'json');
}
function CheckErr(jsel,msg) {
var count = jsel.val().length;
if(count < 1) {
alert(msg);
jsel.focus();
return false;
}
return true;
}
|
728x90
'Web 프로그램 > PHP 응용 및 활용' 카테고리의 다른 글
Naver SMTP 기기 비밀번호 설정 (0) | 2024.05.21 |
---|---|
PDO 코드를 MySQLi 코드로 변경 처리 방법 (0) | 2023.09.08 |
PHP 일일 접속 통계 구현 코드 (0) | 2023.06.08 |
PHP 날짜 차이 계산 및 활용 (0) | 2022.04.24 |
Java 암호화 및 PHP 복호화 (0) | 2021.07.08 |