我试图拒绝访问返回的操作PartialViewResult
; 但这似乎是不可能的.如果我使用NonAction
属性标记action方法,则页面将不会呈现,如果不标记,则可以使用URL获取该部分视图.
假设我有这个_Layout.cshtml
:
<section role="navigation">
@Html.Partial("PageParts/Sidebar")
@RenderSection("SidebarContents", required: false)
</section>
Run Code Online (Sandbox Code Playgroud)
这是PageParts/Sidebar.cshtml
:
@Html.Partial("PageParts/Sidebar/Userinfo")
@{Html.RenderAction("getNavigation", "PageSemantics");}
Run Code Online (Sandbox Code Playgroud)
这是PageSemanticsController.cs
:
public class PageSemanticsController : Controller {
public PartialViewResult getNavigation() {
NavigationModel nm = new NavigationModel();
return PartialView("PageParts/Sidebar/Navigation", nm);
}
}
Run Code Online (Sandbox Code Playgroud)
最后这是~/Views/Shared/PageParts/Sidebar/Navigation.cshtml
:
@model NavigationModel
<nav id="main-nav">
[... Some code to create Navigation ...]
</nav>
Run Code Online (Sandbox Code Playgroud)
此设置工作正常,但~/PageSemantics/getNavigation
可通过URL访问.有没有办法getNavigation
在保持此设置工作的同时拒绝通过URL 访问操作?
在rails initializers下的secret_token.rb中,秘密令牌显示为一串随机字符和数字,必须为30个字符或更长.为了最大限度地提高安全性,对于部署的每个rails应用程序,此秘密令牌是否必须是唯一的?我们计划使用rails模板,该模板对于从同一模板开发的每个应用程序可能具有相同的机密令牌.非常感谢.
我已经开发了我的应用程序来使用salted SHA-512密码哈希.
如果黑客要获取哈希,我该怎么做才能防止黑客使用Greasemonkey来改变登录页面以便密码不被哈希?我预见到的攻击向量将使他们能够将他们获取的哈希值输入到密码输入中,然后Greasemonkey更改的页面按原样发送该信息(无需对输入的密码进行哈希处理,即实际哈希值).
这只是如何使用获取的哈希的一个示例.还有其他方法可以使用Greasemonkey更改站点的代码以实现相同的结果.
我想不出有什么方法可以预防/防止这种类型的攻击.
有没有人在这里拿出一些东西?
我一直在读这个:http://www.thebuzzmedia.com/designing-a-secure-rest-api-without-oauth-authentication/
这是一篇非常棒的文章.我在思考的一个问题是这个步骤(在本文的后半部分):
4. (OPTIONAL) The only way to protect against “replay attacks” on your API is to include a timestamp of time kind along with the request so the server can decide if this is an “old” request, and deny it. The timestamp must be included into the HMAC generation (effectively stamping a created-on time on the hash) in addition to being checked “within acceptable bounds” on the server.
5. [SERVER] Receive all the data from the …
Run Code Online (Sandbox Code Playgroud) 如果我用SHA1加密密码然后加盐,然后用bcrypt加密它.是否比将盐加入未加密的密码然后用bcrypt加密更安全?
谢谢.
可能重复:
最终的清洁/安全功能
在阅读了PHP安全性之后,我觉得我编码的任何东西都是不安全的.因此,为了解决用户输入的安全问题,我创建了一个函数,允许我在任何使用情况下转义并删除用户输入.
我想知道这实际上是否安全,如果我能使它更安全.这会阻止什么样的攻击?从我可以通过使用_GET告诉XSS,HTML输入和MYSQL注入将被阻止?
function _INPUT($name,$tag,$sql,$url)
{
if ($_SERVER['REQUEST_METHOD'] == 'GET')
$filter = ($_GET[$name]);//Assign GET to filter variable
if ($tag == true)//Remove all HTML, PHP and JAVASCRIPT tags
{
$filter = strip_tags($filter);
}
if ($sql == true)//If MYSQL escaping is enabled
{
$filter = mysql_real_escape_string($filter);
}
if ($url == true)//If URL encoding is enabled
{
$filter = urlencode($filter);
}
return $filter;
}
$output = _INPUT('name',true,true,true);
Run Code Online (Sandbox Code Playgroud)
我也将使用MYSQL的预处理语句,虽然我需要更多地阅读它们以完全理解它如何防止注入.
感谢您的时间.
除了恩智浦网站上关于mifare plus和mifare desfire的内容,考虑以下因素:
谢谢
我正在为教师和学生建立材料交换网站.这些材料是保密的,因为它是我们的,我们不希望其他教师窃取它.另一方面,它没有个人或敏感信息,因此安全性不是一个大问题.如果你偷我的语法练习,我不会起诉你.我在Codeigniter框架中使用Ion Auth并对此感到满意.我使用YUI 2.8来显示可编辑的数据表和可编辑的树.在Codeigniter MVC框架的基础上,我有一个控制器来处理Ajax请求.当我通过YUI Connection类发布请求时,我传递一个被data
称为唯一参数的序列化对象,该对象来自客户端组装的JSON对象,方法是将配置对象传递给YAHOO.si.factory.Method
这样:
addTreeNode: new YAHOO.si.factory.Method({
className: "instructors_model",
methodName: "add_exercise_tree_node",
key: "id",
mode: "child",
fields: ['n0', 'n1','n2', 'n3'],
params: [{
key: "nodeData",
name: "nodeData",
type: "text",
direction: "IN",
value: "34"
},{
key: "name",
name: "name",
type: "text",
direction: "IN",
value: "Grammar"
}],
success: "You have successfully added a node to the tree."
}),
Run Code Online (Sandbox Code Playgroud)
所述控制器解析由组装JSON字符串YAHOO.si.factory.Method
和计算出它必须调用add_exercise_tree_node
的instructors_model
,并通过2个参数.该add_exercise_tree_node
方法对数据库执行脏工作,并希望返回成功消息.如果是,则在客户端显示成功消息,并更新树以包括新节点.
我的问题是,我是否在这个纯文本查询字符串中泄露了太多关于服务器的信息?这是一个帖子,所以它不会出现在URL中,但当然它在Firebug控制台之类的东西中是完全可见的.
这个问题背后的问题当然是你的安全专家在MVC框架中建议如何分配Ajax的责任?我希望只有一个控制器负责处理Ajax请求的可管理性,所以我最终在客户端稍微复杂(并且不安全?)重载.你对此有何建议?
我观看了一个指南,其中作者将访问令牌存储在 localStorage 中,然后他将访问令牌作为授权标头,并通过 axios 拦截器在每个请求中使用值“Bearer accessToken”。但我想知道为什么不像我们使用刷新令牌那样将访问令牌存储在 httpOnly cookie 中。如果有的话会出现什么问题?
对我公司创建的一个小型内部网站的代码进行了自动审查,并要求我修复检测到的漏洞。
我该如何纠正这个问题?原开发人员早已离开公司,我对coldfusion不太熟悉。
<cfquery name="qry_Products" datasource="#request.mssql_dsn#" username="#request.mssql_uid#" password="#request.mssql_pwd#">
UPDATE tblProduct
SET #form.F# = <cfif currVal is 1>0<cfelse>1</cfif>
WHERE ID = #form.ID#
</cfquery>
Run Code Online (Sandbox Code Playgroud)
自动审核显示第 3 行和第 4 行存在问题。我猜问题是form.F
和form.ID
。