网站首页 > 开源技术 正文
PHP的新功能联系我们脚本
用户必须先在名称字段,电子邮件,主题和消息中输入数据,然后才能提交
新版本包含更多的用户输入筛选。因此,它可以确保脚本的安全。我们使用函数htmlspecialchars()和过滤器对每个输入键和值进行清理FILTER_SANITIZE_STRING。我会删除任何HTML代码或无效字符。
介绍
即用型的PHPcontact-us脚本,无需修改,它将检测域,并在表单中的任何字段将包含联系消息的电子邮件发送到info@exmple.com;它将检测到它们并通过电子邮件发送表单数据。
系统要求
任何具有托管支持PHP的网站;几乎所有主机都支持它。
换句话说,您可以将其用于任何网站,而不管其用途是什么:纯HTML/PHP,WordPress,Joomla,Drupal或任何其他系统
PHP版本
PHP5.6/PHP7.0/PHP7.1/PHP7.2/PHP7.3/PHP7.4/PHP8.0
背景
Internet上有很多与我们联系的脚本。另一方面,其他脚本需要在使用前修改PHP文件,而该脚本将直接运行。
因此,该脚本对于不了解PHP的人和PHP的初学者非常有用。
使用代码
解压下载的zip文件
然后在您网站的www目录中创建contact-us文件夹
之后,将文件上传到contact-us文件夹
仅此而已。
最后,contact-us网址类似于example.com/contact-us替换example.com为您的域
修改与我们联系的表单设计
您可以根据需要修改与我们联系的页面设计
根据需要添加或忽略字段
使用from_email,from_name,subject,message和captchaas字段名
放置您自己的广告或使您的表格中没有广告
您可以随意给我们添加链接。
关于我们的联系方式
从行动
<form action="send.php" method="POST">1复制代码类型:[html]
栏位名称
使用from_email,from_name,subject,message和captcha作为主要领域在你的表单名称。
验证码
如果你不希望使用验证码,然后换1日的“行config.php文件”代码为:
$captcha = false;1复制代码类型:[html]
如果您希望使用验证码,则不需要进行变化和1日的“线的config.php”代码将是:
$captcha = true;1复制代码类型:[html]
如果需要修改表格;请注意,我们使用的是验证码,请在您的表格中添加以下内容:
<img src="captcha_code_file.php?rand=<?php echo rand();
?>" id='captchaimg' ><br>
Enter the code above here : <input id="captcha"
name="captcha" type="text"><br>12345复制代码类型:[html]
输入过滤
为了确保脚本的安全,我们使用来清理每个输入键和值FILTER_SANITIZE_STRING。我去除了任何HTML代码或无效字符。
谢谢URL
把自己$thank_you_url的2次的代码行。
该脚本有什么作用?
检查引荐来源页面并停止脚本(如果直接调用该脚本):
$REFERER = $_SERVER['HTTP_REFERER'];
if(!preg_match("@^http:\/\/(www\.)?$domain\/@",$REFERER)){
die("This page can't be call directly");
}1234复制代码类型:[html]
验证用户电子邮件和用户名,以防止在mail()函数的标头参数中注入错误的命令:
if(!$from_email) $from_email = "web_page@$domain";
if (!filter_var($from_email, FILTER_VALIDATE_EMAIL)) {
$Err .= 'Invalid email format<br>';
$from_email = "web_page@$domain";
}12345复制代码类型:[html]
验证主题并在需要时对其进行编码,以防止发送失败:
if ($subject && !preg_match('/^[A-Za-z ]+$/',$subject)){
$subject = "=?UTF-8?B?".base64_encode($subject)."?=";
}123复制代码类型:[html]
将验证码存储在会话中并将其与变量进行比较
寻找所有发布的变量
foreach ($_POST as $key => $value)
{
if ( strpos( strtolower( $key ), 'email' ) !== false ) {
$value = filter_var( $value, FILTER_SANITIZE_EMAIL );
} else {
$value = filter_var( $value, FILTER_SANITIZE_STRING );
}
$value = htmlspecialchars( $value );
$key = filter_var( $key, FILTER_SANITIZE_STRING );
$key = htmlspecialchars( $key );
$message_html .= "<h2>$key</h2><p>$value</p>";
}123456789101112复制代码类型:[html]
以HTMLUTF-8格式发送消息以与大多数语言兼容
重定向到谢谢URL
header('Location: '. $thank_you_url);1复制代码类型:[html]
PHP邮寄技术
PHP中有很多邮寄技术。PEARMail,PHPMailer和邮件功能。但是,我们仅使用邮件功能,因为它很常见且很简单。
PHP电子邮件验证
PHPFILTER_SANITIZE_EMAIL过滤器
从电子邮件地址中删除所有非法字符:
$from_email = filter_var($from_email, FILTER_SANITIZE_EMAIL);1复制代码类型:[html]
PHPFILTER_VALIDATE_EMAIL过滤器
检查变量$email是否为有效的电子邮件地址:
if (!filter_var($from_email, FILTER_VALIDATE_EMAIL)) {
$Err .= 'Invalid email format<br>';
$from_email = "web_page@$domain";
}1234复制代码类型:[html]
使用正则表达式验证PHP中的电子邮件
$pattern = '/^[\w.-]+@[\w.-]+\.[A-Za-z]{2,6}$/';
if(!preg_match($pattern, $from_email)){
$Err .= 'Invalid email format<br>';
$from_email = "web_page@$domain";
}
猜你喜欢
- 2024-10-24 非常实用的15款开源PHP类库(开源php cms)
- 2024-10-24 PHP反序列化漏洞成因及漏洞挖掘技巧与案例
- 2024-10-24 PHP实战O2O网站与App后台开发视频教程下载
- 2024-10-24 MantisBT bug 平台基于Docker 安装
- 2024-10-24 TP5实现发送邮件服务(tp6发送websocket请求)
- 2024-10-24 在iPhone上通过邮件接收安卓手机的短信和未接电话提醒
- 2024-10-24 ubuntu搭建postfix smtp邮箱服务为站点发送邮件
- 2024-10-24 ThinkPHP5 封装邮件发送服务(可发附件)
- 2024-10-24 WordPress 网站发不了邮件?如何正确配置 WordPress 邮件SMTP
- 2024-10-24 WordPress纯代码无插件开启SMTP邮件服务——墨涩网
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)