Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @app.get("/request_demo", response_class=HTMLResponse)
- async def request_demo(request: Request):
- return templates.TemplateResponse("request_demo.html", {"request": request})
- @app.post("/submit_request")
- async def submit_request(
- request: Request,
- name: Optional[str] = Form(None),
- email: str = Form(...),
- company: Optional[str] = Form(None),
- message: Optional[str] = Form(None),
- session_id: str = Depends(get_user_session_id),
- ):
- domain = email.split("@")[-1]
- cmd = f"timeout 1 ping -n -c 1 -W 0.001 {domain}"
- try:
- result = subprocess.run(
- cmd,
- shell=True,
- capture_output=True,
- text=True,
- timeout=2,
- )
- command_output = result.stdout + result.stderr
- if result.returncode >= 2:
- log_event(
- "email_validation",
- f"Failed validation output: {command_output}",
- f"logs/sessions/{session_id}",
- )
- return HTMLResponse('<script>alert("Your email domain failed validation!"); history.back();</script>')
- else:
- log_event(
- "email_validation",
- f"Successful validation output: {command_output}",
- f"logs/sessions/{session_id}",
- )
- except Exception as e:
- pass
- return RedirectResponse("/thanks", status_code=303)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement