【发布时间】:2014-05-06 10:39:50
【问题描述】:
我正在制作一个表单以在网页中发布休假表单,我需要在其他页面中发布输入以处理输入。我需要验证空字段并以安全的方式发布变量。这里我有下面的代码,这个代码只是发布没有任何安全性的变量,它有漏洞。请给出合适的代码。
<?php include "header.php" ?>
<form action="process_leave.php" method="post">
<table>
<tr>
<td style="border-width:0px;">
<table cellpadding="10" rules="all" border="2" style="border-width:2px;border-style:Solid;width:100%;">
<tr >
<FIELDSET style="width: 1000px; height: 300px;">
<h4 align="left">TYPE OF LEAVE :</h4>
<input type="radio" name="group1" value="OD">ON DUTY<br/>
<input type="radio" name="group1" value="OD">CASUAL LEAVE<br/>
<input type="radio" name="group1" value="OD">MEDICAL LEAVE<br/>
<input type="radio" name="group1" value="OD">LOSS OF PAY<br/>
<input type="radio" name="group1" value="OD">ENCASHMENT LEAVE<br/>
<input type="radio" name="group1" value="OD">VOCATIONAL LEAVE<br/>
<input type="radio" name="group1" value="OD">PERMISSION<br/>
</FIELDSET>
<FIELDSET>
<h4 align="left">DETAILS:</h4>
NO OF DAYS :<input type="text" name="no_of_days"><br><br>
FROM<input type="date" name="from">TO<input type="date" name="to"><br><br>
LEAVE AVAILED:<input type="text" name="avail_leave"><br><br>
REASON FOR LEAVE :<input type="text" name="reason"><br>
<br>
</FIELDSET>
<FIELDSET>
<h4 align="left">ALTERNATE ARRANGEMENTS :</h4>
DATE <input type="date" name="alternate"><br><br>
PERIOD<select name="period">
<option value="1" name="period">1</option>
<option value="2" name="period">2</option>
<option value="3" name="period">3</option>
<option value="4" name=" period">4</option>
<option value="5" name=" period">5</option>
<option value="6" name=" period">6</option>
<option value="7" name=" period">7</option>
<option value="8" name=" period">8</option>
</select><br><br>
SEM:<input type="text" name="semester"><br><br>
FACULTY NAME:<input type="text" name="fac_name"><br><br>
DESIGNATION:<input type="text" name="fac_desg"><br><br>
DEPARTMENT:<input type="text" name="dept"><br><br>
APPROVED BY :<input type="radio" name="group2" >HOD
<input type="radio" name="group2" value="pricipal">PRINCIPAL<br><br>
<input type="submit" value="Submit">
</FIELDSET>
</tr>
</table>
</td>
</tr>
</table>
<input type="hidden" name="m_state" value="Started" />
<input type="hidden" name="m_res" value="1366" />
</td>
</tr>
</table>
</form>
</body>
</html>
【问题讨论】:
-
不错。做一个表格。免费雇用我们,确保您的安全。
-
您指的是什么“安全漏洞”?这里没有发布 PHP 代码,所以我们没有什么可建议的。一般来说,您希望: 1) 验证每个字段的业务逻辑,包括客户端(良好的用户体验)和服务器端(执行业务逻辑);和 2) 永远不要隐式信任用户输入,并确保在将其用于任何其他上下文(例如数据库查询)之前对其属性进行了清理(基本上将输入视为数据,从不视为可执行代码)。
-
我需要验证代码,如果表单提交时使用空值,则应该引发错误表示(它是空的)......
标签: javascript php jquery mysql forms