core/pages/security.tsx

69 lines
3.3 KiB
TypeScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { GetServerSideProps, NextPage } from 'next'
import dynamic from 'next/dynamic'
import { User } from '@types'
import { BUG_REPORTERS } from '@utils/Constants'
import { get } from '@utils/Query'
const Docs = dynamic(() => import('@components/Docs'))
const DiscordAvatar = dynamic(() => import('@components/DiscordAvatar'))
const Button = dynamic(() => import('@components/Button'))
const Security: NextPage<SecurityProps> = ({ bugReports }) => {
return <Docs
header='버그 바운티 프로그램'
description='한국 디스코드봇 리스트는 보안을 최우선으로 생각합니다.'
>
<h1 className='mb-3 text-3xl font-bold text-koreanbots-blue'></h1>
<p> . .</p>
<h1 className='mt-6 mb-3 text-3xl font-bold text-koreanbots-blue'></h1>
<ul className='list-disc list-inside'>
<li> . .</li>
<li> . ) , DDoS, DoS </li>
<li> .</li>
<li> 3 / .</li>
<li> .</li>
</ul>
<h1 className='mt-6 mb-3 text-3xl font-bold text-koreanbots-blue'></h1>
<ul className='list-disc list-inside'>
{
['koreanbots.dev 및 *.koreanbots.dev', 'kbots.link', '디스코드.한국'].map(el => <li key={el}>{el}</li>)
}
</ul>
<h1 className='mt-6 mb-3 text-3xl font-bold text-koreanbots-blue'> </h1>
<ul className='list-disc list-inside'>
<li> </li>
<li>Brute force </li>
<li>Clickjacking</li>
<li>DoS </li>
<li> (Self XSS )</li>
</ul>
<h1 className='mt-6 mb-3 text-3xl font-bold text-koreanbots-blue'> </h1>
<div className='flex flex-wrap'>
{
bugReports.filter(el=>el).map(u => <div key={u.id} className='flex items-center mr-2.5'>
<DiscordAvatar userID={u.id} size={128} className='rounded-full w-6 h-6 mr-1' />
<span className='text-base dark:text-gray-300'>{u.username}#{u.tag}</span>
</div>)
}
</div>
<div className='text-center py-36'>
<h1 className='text-3xl font-bold mb-6'> ?</h1>
<Button href='mailto:koreanbots.dev@gmail.com'></Button>
</div>
</Docs>
}
export const getServerSideProps: GetServerSideProps<SecurityProps> = async () => {
return {
props: {
bugReports: await Promise.all(BUG_REPORTERS.map(u => get.user.load(u)))
}
}
}
export default Security
interface SecurityProps {
bugReports: User[]
}