찾다
백엔드 개발PHP 튜토리얼mysql 데이터베이스 운영을 위해 자체 작성한 PHP 클래스 공유

제가 직접 작성한 클래스입니다.
몇 가지 사용 방법:
//데이터베이스 객체 선언
$Conn = new Mysql;
//데이터베이스 매개변수 로드
$Conn ->매개변수(데이터베이스 서버, 데이터베이스 사용자 이름, 데이터베이스 비밀번호, 데이터베이스 이름, 데이터베이스 인코딩, 데이터베이스 테이블 접두사[비워둘 수 있음]);

위 코드는 이미 이 클래스 파일을 로드하고 초기화했습니다. 일부 데이터베이스 연결 매개변수!
다음은 몇 가지 기본 메소드 함수입니다.
1. $Conn -> Table()
데이터 테이블을 선택하고, 매개변수는 데이터 테이블의 이름입니다.
2. > Field();
선택된 필드 이름은 쉼표로 구분됩니다. 이 메소드가 호출되지 않으면 모두 반환됩니다.
3. $Conn -> Where()> Sql Where 하위 명령문, 필터 조건에 따라
4. $Conn -> Order();
Sql sort
5. $Conn -> Page(int);
이 메서드는 양의 정수입니다. 호출하면 해당 레코드가 페이지에 표시됩니다
6. $Conn -> Select(Boolean 값);
쿼리를 실행하고 쿼리 결과가 있으면 2차원 배열입니다. 매개변수가 없으면 false를 반환합니다. 생략하면 기본값은 True이고 반환된 배열에는 숫자 요소
7, $Conn -> Del();
레코드 삭제
8이 포함됩니다. , $Conn -> Edit(array());
레코드 수정, 매개변수는 1차원 배열, 배열 키는 필드 이름, 배열 값은 필드 값
9입니다. > Into(array());
레코드를 추가합니다. 매개변수는 1차원 배열이고, 배열 키는 필드 이름이고, 배열 값은 필드 값입니다.

위 메소드는 계속해서 호출될 수 있습니다. 예:

$Rult = $Conn -> Table('user') -> Select() //쿼리는 다음의 모든 레코드를 반환합니다. the user table
$Rult = $Conn -> Table('user') -> Page(20) -> Select();//쿼리는 사용자 테이블의 모든 레코드를 반환하고 이를 페이지, 20개의 레코드로 표시합니다. 페이지당;

메소드 호출이나 트릭도 많이 있는데, 나중에 시간이 나면 자세히 설명하겠습니다!
  1. /*
  2. 데이터베이스 작업 클래스
  3. 작업 방법: 객체 지향
  4. 제작 시기: 2013-3-10
  5. 현재 버전: BqhMysql(mysqli)1.0.1
  6. 소프트웨어 작성자: Sad Song
  7. 연락처 QQ: 36975
  8. 연락처 번호: 18907975647
  9. 이메일: admin@q128.com
  10. 연락처 주소 : 장시성 간저우시 스청현 샤오송진
  11. 우편번호: 342706
  12. */
  13. class Mysql{
  14. private $LocalHost = 'localhost';
  15. private $LoaclUser = 'root';
  16. private $LocalPass = '123456';
  17. private $LocalBase = 'jiangxibaiyi';
  18. private $LocalCode = 'UTF8';
  19. private $PreFix;
  20. private $ Conn ;
  21. private $Start = 0;
  22. private $Error = false; //데이터베이스 연결 상태, false는 연결되지 않았거나 연결이 비정상임을 의미합니다.
  23. public $Err = true; 🎜>
  24. private $Table;
  25. private $Field = '*';
  26. private $Where = '';
  27. private $Order = '';
  28. private $PageSize = 0; //페이지 표시->페이지당 항목 수, 0은 페이징 표시 없음을 의미합니다
  29. private $PageCount = 1; //페이지 표시->총 항목 수
  30. private $PageNum = 1; //페이지 표시 ->전체 페이지 수
  31. private $PageNo = 1; //페이지 표시 ->현재 페이지는 무엇인가요
  32. private $PageKey = '페이지'; 매개변수 키
  33. private $PageStart = 0; //페이지 표시-> 현재 반환되는 항목
  34. private $Select;
  35. private $Rest;
  36. private $Result = false;/ /ResultSet
  37. public $FormArray = array();
  38. public $Instr_ID = 0;
  39. private $j = 0;
  40. 공용 함수 매개변수($Loca, $Root, $Pass, $Base, $Code, $PreFix = ''){
  41. $this->LoaclUser = $Root;
  42. $this-> LocalBase = $Base;
  43. $this->LocalCode = $Code;
  44. $this->LocalHost = $Loca;
  45. $this->LocalPass = $Pass;
  46. $this- >PreFix = $PreFix ;
  47. return $this;
  48. }
  49. 개인 함수 Connection( $Sql ){
  50. !function_exists(mysqli_connect) ? die('쿼리 실패, mysqli 확장을 로드할 수 없습니다.' ) : null;
  51. $this->Conn = @new mysqli( $this->LocalHost, $this->LoaclUser, $this->LocalPass, $this->LocalBase);
  52. $this->Error = mysqli_connect_errno() == 0 ? true : false;
  53. !$this->Error ? die('데이터베이스 연결 오류입니다. 데이터베이스 연결 매개변수를 확인하세요.') : null;
  54. $this->Conn-> ;query('SET NAMES ' . $this->LocalCode);
  55. $this->Rest = $this->Conn->query($Sql);
  56. $this->Err = mysqli_error($this->Conn);
  57. $this->Instr_ID = mysqli_insert_id($this->Conn);
  58. $this->Rest-> ;free_result;
  59. $this ->Conn->close;
  60. $this -> FormArray = '';
  61. return $this;
  62. }
  63. 공개 함수 null (){
  64. $this ->PageSize = 0;
  65. //$this->PageCount = 1;
  66. $this->PageStart = 1;
  67. $this->Field = ' * ';
  68. $this->Select = '';
  69. unset($this->Table, $this->Where,$this->Order, $this->Result );
  70. }
  71. 공개 함수 Table( $TableName ) {//데이터 테이블
  72. $this -> null();
  73. $this->Table = '`' . $this->PreFix . $ TableName . '`';
  74. return $this;
  75. }
  76. 공용 함수 Field( $Array = '*' ) {//데이터 필드
  77. !empty( $this-> Field ) ? $this->Field = '' : null;
  78. $Array =explore(',', $Array);
  79. foreach( $Array를 $field로) {
  80. $this-> ;Field .= !$this->Start ? '`' . '`' : ', `' . $this-> ;Start ;
  81. }
  82. $this->Start = 0;
  83. return $this;
  84. }
  85. 공개 함수 Where( $Where ) {//Condition
  86. $this->Where = ' where ' .$Where;
  87. return $this
  88. }
  89. 공개 함수 Order( $Order ) {//Order
  90. $this-> Order = 'order by' . $ Order;
  91. return $this;
  92. }
  93. 공개 함수 pk( $key ) {//Paging url 매개변수 키
  94. $this->PageKey = $key;
  95. return $this;
  96. }
  97. 공개 함수 Page( $PageSize ) {//Paging
  98. $this->PageSize = $PageSize;
  99. $this ->PageNo = $this- >get( $this->PageKey );
  100. $this->PageNo = 비어 있음( $this->PageNo ) || !isset( $this->PageNo ) || !is_numeric( $this ->PageNo ) || $this->PageNo PageNo;
  101. return $this;
  102. 공개 함수 포스트( $Key, $Filter = true ){
  103. return $Filter ? Strip_tags($_POST[$Key]) : $_POST[$Key];
  104. }
  105. 공개 함수 get( $Key, $Filter = true ){
  106. return $Filter ?strip_tags($_GET[$Key]) : $_GET[$Key];
  107. }
  108. 공개 함수 Sel(){
  109. $this->Select = 'Select' . $this->필드. ' 에서 ' . $this->테이블 . $this->어디에서 . $this->Order;
  110. $this->Connection( $this->Select );
  111. if ( $this->Rest->num_rows ) {
  112. while ( $Rs = $this->Rest->fetch_assoc() ) {
  113. $this->Result[] = $Rs;
  114. }
  115. }
  116. $DataBase = $this->Result;
  117. 빈 값($DataBase)을 반환합니까? false : $DataBase;
  118. }
  119. 공개 함수 쿼리( $Sql = '', $Type = 'not', $biao = false ) {
  120. $this->Select = $Sql ;
  121. $this->Connection( $this->Select );
  122. if ( $this->Rest->num_rows ) {
  123. if ( !$biao ) {
  124. while ( $Rs = $this->Rest->fetch_array() ) {
  125. $this->Result[] = !preg_match('/^d $/i', $Type) ? $Rs : $Rs[ $Type ];
  126. }
  127. } else {
  128. while ( $Rs = $this->Rest->fetch_assoc() ) {
  129. $this-> Result[] = $Rs;
  130. }
  131. }
  132. }
  133. $DataBase = $this->Result;
  134. return empty($DataBase) ? false : $DataBase;
  135. }
  136. 공개 함수 실행( $Sql = '' ){
  137. $this->Connection( $Sql );
  138. return $this- >Rest;
  139. }
  140. 공개 함수가 있습니다( $T = '', $F = '', $W = ''){
  141. if( 비어 있음( $F ) ) { 0을 반환합니다. }
  142. $cmd = 비어 있음( $W ) ? '' 에서 `baiyinum`으로 sum(' . $F . ') 를 선택합니다. $this->PreFix . $T .'`' : ' `' 에서 `baiyinum`으로 sum(' . $F . ')를 선택합니다. $this->PreFix . $T .'` 어디에서 ' . $W;
  143. $this->Connection( $cmd );
  144. unset( $T, $F, $W, $cmd );
  145. $Rel = $this->Rest-> fetch_array();
  146. return round( $Rel['baiyinum'], 2 );
  147. }
  148. 공개 함수 ExistsTo( $Bili = 10000, $T = '', $ F = '', $W = ''){
  149. if ( 비어 있음( $F ) ) { return 0; }
  150. $cmd = 비어 있음( $W ) ? '' 에서 `baiyinum`으로 sum(' . $F . ') 를 선택합니다. $this->PreFix . $T .'`' : ' `' 에서 `baiyinum`으로 sum(' . $F . ')를 선택합니다. $this->PreFix . $T .'` 어디에서 ' . $W;
  151. $this->Connection( $cmd );
  152. unset( $T, $F, $W, $cmd );
  153. $Rel = $this->Rest-> fetch_array();
  154. return round( $Rel['baiyinum'] * $Bili );
  155. }
  156. 공용 함수 Select( $Type = true, $ListNum = 1 ){ //返回记录(数组shape式, 返回条数)
  157. $this->Select = '선택' . $this->필드. ' 에서 ' . $this->테이블 . $this->어디에서 . $this->Order;
  158. if ( is_numeric( $ListNum ) ) {
  159. if ( $this->PageSize > 0 ) {
  160. $this->Connection( $this-> );//执行查询
  161. $this->PageCount = $this->Rest->num_rows;//取得记录总数
  162. $this->PageNum = ceil($this-> PageCount / $this->PageSize); //总共多少页
  163. $this->PageNo = $this->PageNo > $this->페이지번호 ? $this->PageNum : $this->PageNo;
  164. $this->PageStart = ( $this->PageNo - 1 ) * $this->PageSize; //当前从第几条开始返回
  165. $this->Select .= 'limit' . $this->PageStart . ', ' .$this->PageSize; //중요한 새로운构造sql语句
  166. } else {
  167. $this->Select .= 'limit' . $목록번호; // 새로운 버전의 sql语句
  168. }
  169. } else {
  170. $this->Select .= 'limit 1'; //중요 새로운构造sql语句
  171. }
  172. //echo $this->Select;
  173. $this->Connection( $this->Select );//再次执行查询
  174. if ( $this->Rest->num_rows ) {//如果记录存재
  175. if ( $Type ) {
  176. while ( $Rs = $this->Rest->fetch_array() ) {
  177. $this->Result[] = $Rs;
  178. }
  179. }else{
  180. while ( $Rs = $this->Rest->fetch_assoc() ) {
  181. $ this->Result[] = $Rs;
  182. }
  183. }
  184. }
  185. if ( ( $ListNum == 1 or !is_numeric( $ListNum ) ) && !$this->PageSize ) { $this->Result = $this->Result[0]; }
  186. $DataBase = $this->Result;
  187. return empty($DataBase) ? false : $DataBase;
  188. }
  189. public function Num() { //返回记录总数
  190. $this->Select = 'Select ' . $this->필드. ' 에서 ' . $this->테이블 . $this->어디에서 . $this->Order;
  191. $this->Connection( $this->Select );//执行查询
  192. return $this->Rest->num_rows;//取得记录总数
  193. }
  194. public function PageNav($NumNav = false ) { //分页
  195. $Action = $this -> get('action');
  196. !empty( $Action ) or $Action = 'index';
  197. $Module = $this -> get('module');
  198. !empty( $Module ) or $Module = 'index';
  199. $NavUrl = '/' . $Module . '/' . $Action . '/' . $this -> PageKey .'/';
  200. $NaIndex = '/' . $Module . '/' . $Action;
  201. $PageHtml = "\n
    ";
  202. $PageHtml .= '' . $this->PageCount . '条记录 ' . $this->PageNo . '/' . $this->PageNum . '页 ';
  203. $this->PageNo 首页\nPageNo - 1) . "\">上一页\n";
  204. if ( $NumNav ) { $PageHtml .= $this->NumPage($NavUrl); }
  205. $this->PageNo >= $this->PageNum or $PageHtml .= "PageNo + 1) . "\">下一页\nPageNum . "\">尾页\n";
  206. $PageHtml .= "
\n";
  • return $PageHtml;
  • }
  • private function NumPage( $Can = '' ) { //数字分页
  • $NumHtml = '';
  • $First = 1;
  • $Last = $this->PageNum;
  • if ( $this->PageNum > 5 ) {
  • if ( $this->PageNo PageNum ) {
  • $First = $this->PageNo - 2;
  • $Last = $this->PageNo + 2;
  • }else{
  • $First = $this->PageNo - 4;
  • $Last = $this->PageNum;
  • }
  • }
  • if ( $First if ( $Last > $this->PageNum ) { $First = $this->PageNum - 4; $Last = $this->PageNum;}
  • for( $i = $First; $i $NumHtml .= $this->PageNo != $i ? "\n\t" . '' . $i . '' . "\n\t" : "\n\t" .'' . $i . '' . "\n\t";
  • }
  • unset($Can, $First, $i, $Last);
  • return $NumHtml;
  • }
  • public function UserPage($NumNav = false, $PageName = 'index', $Mulu = 'user' ) { //会员中心分页
  • $NavUrl = '/' . $Mulu . '/' . $PageName . '/' . $this->PageKey . '/';
  • $PageHtml = "\n
    ";
  • $PageHtml .= '' . $this->PageCount . '条记录 ' . $this->PageNo . '/' . $this->PageNum . '页 ';
  • $this->PageNo 首页\nPageNo - 1) . "\">上一页\n";
  • if ( $NumNav ) { $PageHtml .= $this->NumPage($NavUrl); }
  • $this->PageNo >= $this->PageNum or $PageHtml .= "PageNo + 1) . "\">下一页\nPageNum . "\">尾页\n";
  • $PageHtml .= "
  • n";
  • return $PageHtml;
  • }
  • // 양식 처리 시작
  • // 양식 판단 시 제출
  • 공용 함수 FormIs( $Keys = 'mm' ) {
  • return $_POST[ $Keys ] == 1 ? true : false;
  • }
  • //post를 통해 데이터 가져오기
  • 공개 함수 _post( $Keys = '', $TiHuan = '') {
  • $Values ​​​​= Strip_tags( $_POST[ $Keys ] );
  • $this->FormArray[$Keys] = 비어 있음( $Values ​​​​) ? $TiHuan : $ Values;
  • return empty( $Values ​​​​) ? $TiHuan : $Values;
  • }
  • //데이터를 가져오는 메서드 가져오기
  • public function _get( $Keys = '', $TiHuan = '') {
  • $Values ​​​​= Strip_tags( $_GET[ $Keys ] );
  • 빈 값 반환( $Values ​​​​) $TiHuan : $Values;
  • }
  • //Is가 숫자이고 0보다 작지 않은지 판단
  • public function IsNum( $Num = 0, $Mesg = '매개변수는 숫자여야 합니다.' ) {
  • if ( is_numeric( $Num ) && !empty( $Num ) && $Num > ;= 0 ) {
  • return $Num;
  • }else{
  • die( $Mesg );
  • }
  • }
  • // 숫자인지 확인하고 0보다 작지 않은지 확인하여 True/False를 반환합니다.
  • public function NumBer( $Num = 0) {
  • return is_numeric( $Num ) && !empty( $Num ) && $Num >= 0 ? true : false;
  • }
  • //해당 데이터가 존재하는 것으로 감지
  • public function IsData($Types = true, $memg = '데이터가 이미 있음 존재' ){
  • $this->Connection('select ' . $this->Field . ' from ' . $this->Table . $this->Where);
  • if ( $ 유형 ){
  • $this->Rest->num_rows > 0 ? die( $memg ) : null;
  • } else {
  • return $this->Rest->num_rows;
  • }
  • }
  • //쓰기 데이터베이스 레코드 입력
  • 공용 함수 into( $Mesg = '' ){
  • !is_array( $this->FormArray ) ? die( $Mesg ) : null;
  • $Sql = '' . $this->Table . ' (`';
  • $I = 0;
  • foreach ( $this->FormArray $Key => $Val ){
  • $Duan .= !$ I ? $Key . '`' : ', $Key . ){
  • $Vals .= !$I ? $Val : ', ' . $Val;
  • }else{
  • $Vals .= !$I ? : ', '' . $Val . ''';
  • }
  • $I ;
  • }
  • $Sql .= $Duan . ') 값 ';
  • //@file_put_contents('1.sql', $Sql , FILE_APPEND);
  • $this->Connection( $Sql );
  • return !empty( $ this->Err ) ? false : true;
  • }
  • //배열 형식으로 데이터 쓰기
  • public function MsgBox( $Table = '', $Filed = array() ) {
  • $this -> Table($Table);
  • foreach( $Filed as $Key => $Val ) {
  • $this -> FormArray[ $Key ] = $Val; }
  • return $this -> Into('데이터를 얻지 못했습니다');
  • }
  • //데이터베이스 레코드 수정
  • public function Edit( $Array = array() ) {
  • if ( 비어 있음( $Array ) ) { $Array = $this -> FormArray }
  • if ( !is_array( $Array ) || 비어 있음( $Array ) ) {
  • return false;
  • } else {
  • $Sql = '업데이트' . $this -> 테이블 . ' 설정 ';
  • $I = 0;
  • $Huan = 배열( '-' => '[지안]', '' => '[쳉]', '/' => > $Zhan = array('[jian]' => '-', '[jia ]' => ' ', '[cheng]' => '*', '[chu]' => ' /');
  • foreach ( $Array as $Files => $ Val ) {
  • $Val = !is_numeric( $Val ) && !preg_match('/`w `s*( |- |*|/)/i', $Val) ? ''' . $Val . ' '' : $Val;
  • foreach ( $Huan as $key => $val ){
  • $Val = str_replace($key, $val, $Val);
  • }
  • $duan = !$I ? '`' . '` = ': ', $Files . ;
  • $Sub .= $duan . $Val;
  • $I ;
  • }
  • $Sql .= $Sub . $this -> 팬 => $Hui ) {
  • $Sql = str_replace($Fan, $Hui , $Sql);
  • }
  • //echo $Sql; die;
  • $this -> 연결( $Sql );
  • 설정 해제( $Array, $duan , $Fan, $Files, $Huan, $Hui, $I, $key, $Sql, $Sub, $Val, $ Zhan, $val );
  • return !empty( $this -> Err ) ? false : true;
  • }
  • }
  • //데이터베이스 레코드 삭제
  • 공개 함수 del (){
  • $Sql = '에서 삭제 . $this->Where;
  • $this->Connection( $Sql );
  • unset($Sql) ;
  • return !empty( $this->Err ) ? false : true;
  • }
  • //양식 처리 종료
  • //페이지 이동
  • 공개 함수 Msg( $Text = '작업 성공' ) {
  • echo '';
  • echo '
  • 复代码


    성명
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
    세션을 저장하기 위해 데이터베이스를 사용하면 어떤 장점이 있습니까?세션을 저장하기 위해 데이터베이스를 사용하면 어떤 장점이 있습니까?Apr 24, 2025 am 12:16 AM

    데이터베이스 스토리지 세션 사용의 주요 장점에는 지속성, 확장 성 및 보안이 포함됩니다. 1. 지속성 : 서버가 다시 시작 되더라도 세션 데이터는 변경되지 않아도됩니다. 2. 확장 성 : 분산 시스템에 적용하여 세션 데이터가 여러 서버간에 동기화되도록합니다. 3. 보안 : 데이터베이스는 민감한 정보를 보호하기 위해 암호화 된 스토리지를 제공합니다.

    PHP에서 사용자 정의 세션 처리를 어떻게 구현합니까?PHP에서 사용자 정의 세션 처리를 어떻게 구현합니까?Apr 24, 2025 am 12:16 AM

    SessionHandlerInterface 인터페이스를 구현하여 PHP에서 사용자 정의 세션 처리 구현을 수행 할 수 있습니다. 특정 단계에는 다음이 포함됩니다. 1) CustomsessionHandler와 같은 SessionHandlerInterface를 구현하는 클래스 만들기; 2) 인터페이스의 방법 (예 : Open, Close, Read, Write, Despare, GC)의 수명주기 및 세션 데이터의 저장 방법을 정의하기 위해 방법을 다시 작성합니다. 3) PHP 스크립트에 사용자 정의 세션 프로세서를 등록하고 세션을 시작하십시오. 이를 통해 MySQL 및 Redis와 같은 미디어에 데이터를 저장하여 성능, 보안 및 확장 성을 향상시킬 수 있습니다.

    세션 ID 란 무엇입니까?세션 ID 란 무엇입니까?Apr 24, 2025 am 12:13 AM

    SessionId는 웹 애플리케이션에 사용되는 메커니즘으로 사용자 세션 상태를 추적합니다. 1. 사용자와 서버 간의 여러 상호 작용 중에 사용자의 신원 정보를 유지하는 데 사용되는 무작위로 생성 된 문자열입니다. 2. 서버는 쿠키 또는 URL 매개 변수를 통해 클라이언트로 생성하여 보낸다. 3. 생성은 일반적으로 임의의 알고리즘을 사용하여 독창성과 예측 불가능 성을 보장합니다. 4. 실제 개발에서 Redis와 같은 메모리 내 데이터베이스를 사용하여 세션 데이터를 저장하여 성능 및 보안을 향상시킬 수 있습니다.

    무국적 환경 (예 : API)에서 세션을 어떻게 처리합니까?무국적 환경 (예 : API)에서 세션을 어떻게 처리합니까?Apr 24, 2025 am 12:12 AM

    JWT 또는 쿠키를 사용하여 API와 같은 무국적 환경에서 세션을 관리 할 수 ​​있습니다. 1. JWT는 무국적자 및 확장 성에 적합하지만 빅 데이터와 관련하여 크기가 크다. 2. 쿠키는보다 전통적이고 구현하기 쉽지만 보안을 보장하기 위해주의해서 구성해야합니다.

    세션과 관련된 크로스 사이트 스크립팅 (XSS) 공격으로부터 어떻게 보호 할 수 있습니까?세션과 관련된 크로스 사이트 스크립팅 (XSS) 공격으로부터 어떻게 보호 할 수 있습니까?Apr 23, 2025 am 12:16 AM

    세션 관련 XSS 공격으로부터 응용 프로그램을 보호하려면 다음 조치가 필요합니다. 1. 세션 쿠키를 보호하기 위해 Httponly 및 Secure 플래그를 설정하십시오. 2. 모든 사용자 입력에 대한 내보내기 코드. 3. 스크립트 소스를 제한하기 위해 컨텐츠 보안 정책 (CSP)을 구현하십시오. 이러한 정책을 통해 세션 관련 XSS 공격을 효과적으로 보호 할 수 있으며 사용자 데이터가 보장 될 수 있습니다.

    PHP 세션 성능을 어떻게 최적화 할 수 있습니까?PHP 세션 성능을 어떻게 최적화 할 수 있습니까?Apr 23, 2025 am 12:13 AM

    PHP 세션 성능을 최적화하는 방법 : 1. 지연 세션 시작, 2. 데이터베이스를 사용하여 세션을 저장, 3. 세션 데이터 압축, 4. 세션 수명주기 관리 및 5. 세션 공유 구현. 이러한 전략은 높은 동시성 환경에서 응용의 효율성을 크게 향상시킬 수 있습니다.

    SESSION.GC_MAXLIFETIME 구성 설정은 무엇입니까?SESSION.GC_MAXLIFETIME 구성 설정은 무엇입니까?Apr 23, 2025 am 12:10 AM

    THESESSION.GC_MAXLIFETIMESETTINGINSTTINGTINGSTINGTERMINESTERMINESTERSTINGSESSIONDATA, SETINSECONDS.1) IT'SCONFIGUDEDINPHP.INIORVIAINI_SET ()

    PHP에서 세션 이름을 어떻게 구성합니까?PHP에서 세션 이름을 어떻게 구성합니까?Apr 23, 2025 am 12:08 AM

    PHP에서는 Session_Name () 함수를 사용하여 세션 이름을 구성 할 수 있습니다. 특정 단계는 다음과 같습니다. 1. Session_Name () 함수를 사용하여 Session_Name ( "my_session")과 같은 세션 이름을 설정하십시오. 2. 세션 이름을 설정 한 후 세션을 시작하여 세션을 시작하십시오. 세션 이름을 구성하면 여러 응용 프로그램 간의 세션 데이터 충돌을 피하고 보안을 향상시킬 수 있지만 세션 이름의 독창성, 보안, 길이 및 설정 타이밍에주의를 기울일 수 있습니다.

    See all articles

    핫 AI 도구

    Undresser.AI Undress

    Undresser.AI Undress

    사실적인 누드 사진을 만들기 위한 AI 기반 앱

    AI Clothes Remover

    AI Clothes Remover

    사진에서 옷을 제거하는 온라인 AI 도구입니다.

    Undress AI Tool

    Undress AI Tool

    무료로 이미지를 벗다

    Clothoff.io

    Clothoff.io

    AI 옷 제거제

    Video Face Swap

    Video Face Swap

    완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

    뜨거운 도구

    SecList

    SecList

    SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

    PhpStorm 맥 버전

    PhpStorm 맥 버전

    최신(2018.2.1) 전문 PHP 통합 개발 도구

    WebStorm Mac 버전

    WebStorm Mac 버전

    유용한 JavaScript 개발 도구

    메모장++7.3.1

    메모장++7.3.1

    사용하기 쉬운 무료 코드 편집기

    DVWA

    DVWA

    DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는