【发布时间】:2016-12-19 15:55:36
【问题描述】:
这样设置获取请求以使用页面顶部的 php 代码处理表单是一种好习惯吗?
<?php
require_once("include/dbconfig.php");
require_once ("include/userCrud .crud.php");
$userCrud = new userCRUD($pdo);
if(isset($_POST['btn-save']))
{
//Question Data
$name= $_POST['name'];
$subject_id = $_POST['subject_id'];
//other stuffs like Connecting
$result = $userCrud->create($name, $subject_id, $address, $is_active, $date_created);
}
?>
//并且在页面的中心...
<form ...>
...
<select name="level_id" id="level_id" class="form-control" title="Please select standard or level" required>
<option value="">Choose a Level</option>
<?php
$stmt = $pdo->prepare("SELECT * FROM levels");
$stmt->execute();
$data=$stmt->fetchAll();
if($stmt->rowCount() > 0){
foreach($data as $row) {
?>
<option value="<?php echo $row['id'] ?>"><?php echo $row['title'] ?></option>
<?php
}
}
?>
</select>
...
</form>
或 通过 JQuery 进行 AJAX 调用并更新结果而不刷新。我只是在为我的网络应用程序使用 php 中的 PDO 环顾四周......我是否应该创建自己的网络服务尝试从头开始进行路由和保护......或者我应该选择像 Slim 这样的框架......好像我是使用表单处理的 AJAX 方式然后我将继续调用我的 json Web 服务......并且我不需要在我的 php 页面中使用数据库连接。移动应用程序也可以使用它来使用我将创建的这些 php 类......
getUsers.php //返回json数组
getSubjects.php // 查询字符串传递的参数用于操作
我只是想知道哪个会更安全和更好......因为我更喜欢在这个项目中使用 PHP。
【问题讨论】:
-
使用框架。还要问什么更安全是一个非常广泛的问题,因为一种方法本质上并不比另一种更安全。这取决于你如何实现它们。
-
提交表单的一种安全方式是使用
POST请求,以及某种CSRF保护,以及XSS保护......您的数据库查询也应该参数化。 ..这是一个开始...您还应该确保禁用您的root MySQL密码,不要将敏感数据存储在纯文本中等等...这是一个永无止境的故事:) -
是的...很好的建议... Hackerman...您能否建议:确保禁用您的 MySQL 根密码