본문은 일반적으로 사용되는 PHP 기반의 PHP 파일입니다.
원문설명:
신용카드 유효성 검사 솔루션(PHP 버전)
버전 3.5
설명
Credit Card Validation Solution™은 4단계 프로세스를 사용하여 신용카드 번호가 올바르게 입력되었는지 확인합니다. 이 절차는 American Express, Australian BankCard, Carte Blache, Diners Club, Discover/Novus, JCB, MasterCard 및 Visa의 카드를 정확하게 확인합니다.
자세한 내용은 코드 자체의 주석을 읽어보세요.
설치 지침
아래 표시된 두 줄 사이의 텍스트를 선택합니다.
텍스트를 복사하세요.
텍스트 편집기를 엽니다.
텍스트를 붙여넣으세요.
해당 파일을 저장하세요. 저장할 때 다음 사항을 확인하세요.
웹서버의 디렉토리에 저장하고
서버가 PHP로 구문 분석해야 한다고 인식할 수 있는 확장자로 이름을 지정하십시오.
실제로 보려면 웹 브라우저에서 해당 파일을 여세요.
具体代码如下:
<?php # ------------------------------------------------------------------------ # Credit Card Validation Solution, version 3.5 PHP Edition # 25 May 2000 # # COPYRIGHT NOTICE: # a) This code is property of The Analysis and Solutions Company. # b) It is being distributed free of charge and on an "as is" basis. # c) Use of this code, or any part thereof, is contingent upon leaving # this copyright notice, name and address information in tact. # d) Written permission must be obtained from us before this code, or any # part thereof, is sold or used in a product which is sold. # e) By using this code, you accept full responsibility for its use # and will not hold the Analysis and Solutions Company, its employees # or officers liable for damages of any sort. # f) This code is not to be used for illegal purposes. # g) Please email us any revisions made to this code. # # Copyright 2000 http://www.AnalysisAndSolutions.com/code/ # The Analysis and Solutions Company info@AnalysisAndSolutions.com # ------------------------------------------------------------------------ # # DESCRIPTION: # Credit Card Validation Solution uses a four step process to ensure # credit card numbers are keyed in correctly. This procedure accurately # checks cards from American Express, Australian BankCard, Carte Blache, # Diners Club, Discover/Novus, JCB, MasterCard and Visa. # # CAUTION: # CCVS uses exact number ranges as part of the validation process. These # ranges are current as of 20 October 1999. If presently undefined ranges # come into use in the future, this program will improperly deject card # numbers in such ranges, rendering an error message entitled "Potential # Card Type Discrepancy." If this happens while entering a card & type # you KNOW are valid, please contact us so we can update the ranges. # # POTENTIAL CUSTOMIZATIONS: # * If you don't accept some of these card types, edit Step 2, using pound # signs "#" to comment out the "elseif," "$CardName" and "$ShouldLength" # lines in question. # * Additional card types can be added by inserting new "elseif," # "$CardName" and "$ShouldLength" lines in Step 2. # * The three functions here can be called by other PHP documents to check # any number. # # CREDITS: # We learned of the Mod 10 Algorithm in some Perl code, entitled # "The Validator," available on Matt's Script Archive, # http://worldwidemart.com/scripts/readme/ccver.shtml. That code was # written by David Paris, who based it on material Melvyn Myers reposted # from an unknown author. Paris credits Aries Solis for tracking down the # data underlying the algorithm. At the same time, our code bears no # resemblance to its predecessors. CCValidationSolution was first written # for Visual Basic, on which Allen Browne and Rico Zschau assisted. # Neil Fraser helped prune down the OnlyNumericSolution() for Perl. function CCValidationSolution ($Number) { global $CardName; # 1) Get rid of spaces and non-numeric characters. $Number = OnlyNumericSolution($Number); # 2) Do the first four digits fit within proper ranges? # If so, who's the card issuer and how long should the number be? $NumberLeft = substr($Number, 0, 4); $NumberLength = strlen($Number); if ($NumberLeft >= 3000 and $NumberLeft <= 3059) { $CardName = "Diners Club"; $ShouldLength = 14; } elseif ($NumberLeft >= 3600 and $NumberLeft <= 3699) { $CardName = "Diners Club"; $ShouldLength = 14; } elseif ($NumberLeft >= 3800 and $NumberLeft <= 3889) { $CardName = "Diners Club"; $ShouldLength = 14; } elseif ($NumberLeft >= 3400 and $NumberLeft <= 3499) { $CardName = "American Express"; $ShouldLength = 15; } elseif ($NumberLeft >= 3700 and $NumberLeft <= 3799) { $CardName = "American Express"; $ShouldLength = 15; } elseif ($NumberLeft >= 3528 and $NumberLeft <= 3589) { $CardName = "JCB"; $ShouldLength = 16; } elseif ($NumberLeft >= 3890 and $NumberLeft <= 3899) { $CardName = "Carte Blache"; $ShouldLength = 14; } elseif ($NumberLeft >= 4000 and $NumberLeft <= 4999) { $CardName = "Visa"; if ($NumberLength > 14) { $ShouldLength = 16; } elseif ($NumberLength < 14) { $ShouldLength = 13; } else { echo "<br /><em>The Visa number entered, $Number, in is 14 digits long.<br />Visa cards usually have 16 digits, though some have 13.<br />Please check the number and try again.</em><br />n"; return FALSE; } } elseif ($NumberLeft >= 5100 and $NumberLeft <= 5599) { $CardName = "MasterCard"; $ShouldLength = 16; } elseif ($NumberLeft == 5610) { $CardName = "Australian BankCard"; $ShouldLength = 16; } elseif ($NumberLeft == 6011) { $CardName = "Discover/Novus"; $ShouldLength = 16; } else { echo "<br /><em>The first four digits of the number entered are $NumberLeft. <br />If that's correct, we don't accept that type of credit card.<br />If it's wrong, please try again.</em><br />n"; return FALSE; } # 3) Is the number the right length? if ($NumberLength <> $ShouldLength) { $Missing = $NumberLength - $ShouldLength; if ($Missing < 0) { echo "<br /><em>The $CardName number entered, $Number, is missing " . abs($Missing) . " digit(s).<br />Please check the number and try again.</em><br />n"; } else { echo "<br /><em>The $CardName number entered, $Number, has $Missing too many digit(s).<br />Please check the number and try again.</em><br />n"; } return FALSE; } # 4) Does the number pass the Mod 10 Algorithm Checksum? if (Mod10Solution($Number) == TRUE) { return TRUE; } else { echo "<br /><em>The $CardName number entered, $Number, is invalid.<br />Please check the number and try again.</em><br />n"; return FALSE; } } function OnlyNumericSolution ($Number) { # Remove any non numeric characters. # Ensure number is no more than 19 characters long. return substr( ereg_replace( "[^0-9]", "", $Number) , 0, 19); } function Mod10Solution ($Number) { $NumberLength = strlen($Number); $Checksum = 0; # Add even digits in even length strings # or odd digits in odd length strings. for ($Location = 1 - ($NumberLength % 2); $Location < $NumberLength; $Location += 2) { $Checksum += substr($Number, $Location, 1); } # Analyze odd digits in even length strings # or even digits in odd length strings. for ($Location = ($NumberLength % 2); $Location < $NumberLength; $Location += 2) { $Digit = substr($Number, $Location, 1) * 2; if ($Digit < 10) { $Checksum += $Digit; } else { $Checksum += $Digit - 9; } } # Is the checksum divisible by ten? return ($Checksum % 10 == 0); } # ----------- BEGIN SAMPLE USER INTERFACE SECTION ------------ # # This section provides a simple sample user interface for the # Credit Card Validation functions. It generates an HTML form # where you enter a card number to check. # # If a number has been posted by the form, check it. if ( isset($Number) ) { # Get rid of spaces and non-numeric characters in posted # numbers so they display correctly on the input form. $Number = OnlyNumericSolution($Number); if (CCValidationSolution($Number) == TRUE) { echo "<br />The $CardName number entered, $Number, <em>is</em> valid.<br />n"; } } else { $Number = ""; } # Setup an input form. Posting it calls this page again. echo "<form method="post" action="$REQUEST_URI">n"; echo "<br />Credit Card Number: <input type="text" name="Number" value="$Number">n"; echo "<input type="Submit" name="submitr" value="Check its Validity">n"; echo "</form><br />n"; # # ------------ END SAMPLE USER INTERFACE SECTION ------------- ?>
希望本文所述对大家程序设计有所帮助。

thesecrettokeepingAphp-poweredwebsiterunningsmoothlydlyUnderHeavyloadInvolvesEveralKeyStrategies : 1) ubstractOpCodeCachingWithOpCacheTecescripteExecutionTime, 2) usedatabasequeryCachingwithRedSendatabaseload, 3) LeverAgeCdnslikeCloudforforporerververforporporpin

Code는 코드가 더 명확하고 유지 관리하기 쉽기 때문에 의존성 주입 (DI)에 관심을 가져야합니다. 1) DI는 클래스를 분리하여 더 모듈 식으로 만들고, 2) 테스트 및 코드 유연성의 편의성을 향상시키고, 3) DI 컨테이너를 사용하여 복잡한 종속성을 관리하지만 성능 영향 및 순환 종속성에주의를 기울이십시오. 4) 모범 사례는 추상 인터페이스에 의존하여 느슨한 커플 링을 달성하는 것입니다.

예, PPAPPLICATIONISPOSSIBLEADESLESTION.1) INVERECINGUSINGAPCUTERODUCEDABASELOAD.2) INCODINCEDEXING, ENGICIONEQUERIES 및 CONNECTIONPOULING.3) 향상된 보드 바이어링, 플로 팅 포르코 잉을 피하는 최적화 된 APPCUTERODECEDATABASELOAD.2)

theKeyStrategiesToSINCINTIFILINTINTIFILINTINTHPPORMATIONPERFORMANCEARE : 1) USEOPCODECACHING-CCHACHETEDECUTECUTINGTIME, 2) 최적화 된 ABESINSTEMENTEMENDSTEMENTEMENDSENDSTATEMENTENDS 및 PROPERINDEXING, 3) ConfigureWebSerVERSLIKENGINXXWITHPMFORBETPERMERCORMANCES, 4)

aphpdectionenceindectioncontainerisatoolthatmanagesclassdependencies, 향상 Codemodularity, testability 및 maintainability.itactAsacentralHubForCreatingAndingDinjectingDingingDingingdecting.

대규모 응용 프로그램의 경우 SELLENCIONINGESS (DI)를 선택하십시오. ServicElocator는 소규모 프로젝트 또는 프로토 타입에 적합합니다. 1) DI는 생성자 주입을 통한 코드의 테스트 가능성과 모듈성을 향상시킵니다. 2) Servicelocator는 센터 등록을 통해 서비스를 얻습니다. 이는 편리하지만 코드 커플 링이 증가 할 수 있습니다.

phPapplicationSCanBeoptimizedForsPeedandefficiencyby : 1) ENABLEOPCACHEINPHP.INI, 2) PREPAREDSTATEMENTSWITHPDOFORDATABASEQUERIES 사용

phpeMailValidationInvoLvestHreesteps : 1) formatValidationUsingRegularexpressionsTochemailformat; 2) dnsValidationToErethedomainHasaValidMxRecord; 3) smtpvalidation, theSTHOROUGHMETHOD, theCheckSiftheCefTHECCECKSOCCONNECTERTETETETETETETWERTETWERTETWER


핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

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

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.