Implement Footer Email Obfuscation and Contact Rate Limiting
This commit is contained in:
parent
9697f5c853
commit
9d294bdf4a
@ -31,6 +31,16 @@ const Contact = () => {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 3. Rate Limiting (Prevent spamming)
|
||||||
|
const lastSubmission = localStorage.getItem('lastEmailSubmission');
|
||||||
|
if (lastSubmission) {
|
||||||
|
const timePassed = Date.now() - parseInt(lastSubmission, 10);
|
||||||
|
if (timePassed < 60000) { // 60 seconds
|
||||||
|
setStatus('잠시 후 다시 시도해주세요. (1분에 한 번만 전송 가능합니다)');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
setStatus('전송 중...');
|
setStatus('전송 중...');
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@ -52,6 +62,7 @@ const Contact = () => {
|
|||||||
if (response.ok) {
|
if (response.ok) {
|
||||||
setStatus('문의가 성공적으로 접수되었습니다! 담당자가 곧 연락드리겠습니다.');
|
setStatus('문의가 성공적으로 접수되었습니다! 담당자가 곧 연락드리겠습니다.');
|
||||||
setFormData({ name: '', phone: '', message: '', honeypot: '' });
|
setFormData({ name: '', phone: '', message: '', honeypot: '' });
|
||||||
|
localStorage.setItem('lastEmailSubmission', Date.now().toString());
|
||||||
alert('문의가 접수되었습니다. 확인 후 연락드리겠습니다!');
|
alert('문의가 접수되었습니다. 확인 후 연락드리겠습니다!');
|
||||||
} else {
|
} else {
|
||||||
setStatus('전송에 실패했습니다. 잠시 후 다시 시도해주세요.');
|
setStatus('전송에 실패했습니다. 잠시 후 다시 시도해주세요.');
|
||||||
|
|||||||
@ -6,9 +6,11 @@ const Footer = () => {
|
|||||||
<div className="container footer-container">
|
<div className="container footer-container">
|
||||||
<div className="footer-info">
|
<div className="footer-info">
|
||||||
<h3>Sokuree Consultant</h3>
|
<h3>Sokuree Consultant</h3>
|
||||||
<p>Representative: Gildong Hong | Business License: 000-00-00000</p>
|
<p>代表: 홍길동 | Business License: 000-00-00000</p>
|
||||||
<p>주소: 서울특별시 ... (추후 업데이트)</p>
|
<p>주소: 서울특별시 ... (추후 업데이트)</p>
|
||||||
<p>이메일: contact@sokuree.com | 전화: 02-0000-0000</p>
|
<p>
|
||||||
|
이메일: <a href={`mailto:${'contact'}@${'sokuree.com'}`} style={{ color: '#ccc', textDecoration: 'none' }} onClick={(e) => { e.currentTarget.href = `mailto:contact@sokuree.com`; }}>{'contact'}@{'sokuree.com'}</a> | 전화: 02-0000-0000
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div className="footer-links">
|
<div className="footer-links">
|
||||||
<Link to="/news">소식</Link>
|
<Link to="/news">소식</Link>
|
||||||
|
|||||||
@ -40,7 +40,7 @@ const About = () => {
|
|||||||
<ul className="profile-list">
|
<ul className="profile-list">
|
||||||
<li className="flex items-center">
|
<li className="flex items-center">
|
||||||
<span style={{ marginRight: '10px' }}>✅</span>
|
<span style={{ marginRight: '10px' }}>✅</span>
|
||||||
품질관리 기술사
|
품질관리 기술사 / 6 Sigma MBB
|
||||||
</li>
|
</li>
|
||||||
<li className="flex items-center">
|
<li className="flex items-center">
|
||||||
<span style={{ marginRight: '10px' }}>✅</span>
|
<span style={{ marginRight: '10px' }}>✅</span>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user