通过电子邮件发送时,PHP单选按钮安全

时间:2017-08-28 03:09:30

标签: php html checkbox radio-button

我一直试图弄清楚当通过电子邮件发送时,是否需要剥离(清理?)单选按钮和复选框,以及如何操作。

我有一个联系表单,只是通过电子邮件发送信息。它没有触及数据库。发送电子邮件时,是否需要保护单选按钮和复选框?有可能吗?

我没有在谷歌上发现任何关于通过电子邮件发送这些内容的方法。我一直看到一些答案,说在发送到数据库时肯定会受到保护。这里也可以找到相同的内容,或者有关如何动态获取值或创建值的问题。所以,我不知所措。

发送电子邮件时,我是否会保护单选按钮和复选框?可能吗?必要?如果是这样,我该怎么做?

以下是我的代码的部分内容:

    $firstName = strip_tags($_POST['firstName']);
    $lastName = strip_tags($_POST['lastName']);
    $email = strip_tags($_POST['emailAddress']);
    $telNum = strip_tags($_POST['phoneNumber']);
    $colors= $_POST['eColors'];
    $additionalComments = strip_tags($_POST['additionalComments']);
    $spamField = strip_tags($_POST['sField']);


    <form id="contact-form" action="" method="post">

    <div>
            <input type="text" id="nameFirst" name="firstName" /> 
            <label for="nameFirst" class="nameIcon">
                <span>First Name</span>
            </label>
            <span class="hint">
                <p>Input hint goes here</p>
            </span>
        </div>

        <div>
            <input type="text" id="nameLast" name="lastName" />
            <label for="nameLast" class="nameIcon">
                <span>Last Name</span>
            </label>
            <span class="hint">
                <p>Input hint goes here</p>
            </span>
        </div>

        <div>
            <input type="email" id="eAddy" name="emailAddress" />
            <label for="eAddy" class="emailIcon">
                <span>Contact Email</span>
            </label>
            <span class="hint">
                <p>Input hint goes here</p>
            </span>
        </div>

        <div>
            <input type="tel" id="telNum" name="phoneNumber" />
            <label for="telNum" class="contactIcon">
                <span>Contact Number</span>
            </label>
            <span class="hint">
                <p>Input hint goes here</p>
            </span>
        </div>

        <div>
            <input type="checkbox" id="cbEColors" name="eColors" class="cbSwitch" />
            <label for="cbEColors">Do you expect more color?</label>
        </div>

        <div>
            <textarea id="addComments" name="additionalComments"></textarea>
            <label for="addComments" class="messageIcon">
                <span>Additional Comments</span>
            </label>
            <span class="hint">
                <p>Input hint goes here</p>
            </span>
        </div>

        <input type="text" id="sField" class="col" name="sField" />

        <button id="submit" name="submit" type="submit" value="Submit">Submit</button>

    </form>

2 个答案:

答案 0 :(得分:1)

我遵循一个简单但关键的PHP安全规则:永远不要信任输入值,无论其预期类型或外部验证(例如客户端浏览器验证)。

有一篇很棒的文章here

希望这会有所帮助:)

答案 1 :(得分:1)

首先,正确的术语被消毒。 (你很亲密)

另外,为了安全起见,我愿意。请记住,人们可以将输入从复选框更改为输入。即使你没有将它提交到数据库,如果有一天你决定怎么办?您很可能会忘记整个数据库,并且突然之间您的生产数据库受到了损害。

要做一个简短的帖子,是的。