【发布时间】:2016-03-02 01:32:01
【问题描述】:
我需要一些概念方面的帮助。
在我的 Django Web 应用程序中,用户编写内容,其他用户赞成/反对所述内容。标准的东西。
投票过去通过 POST 进行。例如。类似的东西:
<form method="POST" action="{% url 'vote' %}" class="vote_form">
{% csrf_token %}
<input type="hidden" id="id_link" name="link" class="hidden_id" value="{{ link.pk }}">
<input type="hidden" id="id_voter" name="voter" class="hidden_id" value="{{ user.pk }}">
<input type="hidden" id="id_page" name="section_number" value="{{ forloop.counter }}">
<input class="voting" type="submit" name="val" value="upvote"><br>
<input class="voting" type="submit" name="val" value="downvote">
</form>
投票现在通过以下方式进行:
<a href="{% url 'vote' link.pk user.pk forloop.counter 1 %}">upvote</a><br>
<a href="{% url 'vote' link.pk user.pk forloop.counter 0 %}">downvote</a>
我的两个问题是:
1) 在其他条件相同的情况下(其他条件相同),这两种方法在安全性方面有什么区别吗?我在我的网站上运行了 Wapiti(安全扫描仪);后一种方法存在一些安全风险(SQL 注入、盲 SQL 注入等),而前一种方法完全干净(但是是的,我也确实更改了一些底层代码)。
2) 前一种方法在 nginx 日志中留下了一个 POST 日志条目。后一种方法如何显示在 nginx 日志中?获取?
【问题讨论】: