标签: code-access-security

Python:Dennis Nedry - 安全

有没有人见过Jurrassic Park,Dennis Nedry用一个动画片来保护系统,这个动画在系统发生故障后说"你没有说出神奇的词".

是否有可能做类似ikn Python的事情?

用它来形容它不那么幽默:

响应屏幕,等待用户满足的条件.并在一段时间后加密并锁定系统.

这可能是在Linux系统上使用Python吗?

python code-access-security

1
推荐指数
1
解决办法
441
查看次数

"完全信任"中的"PolicyException:无法获取所需权限 - 无法查看原因

这是一个由两部分组成的问题.

我正在尝试建立我们的生产(实时)托管架构的新部分,所以我试图将我们的临时网络服务器指向新的生产内容共享(同一子网中另一台服务器上的UNC路径).

我目前正在获得可怕的PolicyException:无法获取所需的权限消息.

  • 用户上下文具有对内容共享的完整层次结构的修改权限.
  • 我已经添加<trust level="Full" originUrl="" />到Web.config(我很确定它已经是这样了,不管怎么说)
  • 跑了caspol - 见下文
  • 检查了AppPool设置 - 标识设置为相应的用户名,加载用户配置文件设置为True
  • 我只是设置了内容共享和IIS站点,所以我知道用户名和密码都是同步的(我做了仔细检查).

更令人困惑的是,抱怨的程序集是我们的内部代码库之一.在ILSpy中对它进行反编译,我可以看到对它的引用

[assembly: SecurityPermission(SecurityAction.RequestMinimum,
   SkipVerification = true)]
Run Code Online (Sandbox Code Playgroud)

,除了我不记得曾经在该程序集中添加任何代码访问安全性.引用的类中Security没有任何类具有声明性,当然也没有引用AllowPartiallyTrustedCallersAttribute或CodeAccessPermission.Assert.

我对所涉及的所有服务器(包括Web服务器和保存内容共享的服务器)具有完全管理访问权限.

那么如何解决这个问题呢?

(我们是否可以将问题#1846816转换为社区维基,其中包含所有可能的答案,而不是必须在Google上阅读数以万计的问题以及过多的点击?o)


编辑:(编辑)输出caspol -a -lg如下:

Microsoft (R) .NET Framework CasPol 2.0.50727.4016
Copyright (c) Microsoft Corporation.  All rights reserved.

Security is ON
Execution checking is ON
Policy change prompt is OFF

Level = Enterprise

Code Groups: …
Run Code Online (Sandbox Code Playgroud)

asp.net security iis-7 code-access-security

1
推荐指数
1
解决办法
6131
查看次数

Django/Forms:如何根据收到的数据验证初始数据(如果匹配)?

假设我正在创建一个表单,并且我通过绑定传递一些隐藏的值,不能更改.我的问题是如何测试恶意用户是否更改了此隐藏值?我不确定表单中绑定数据到底是什么以及初始值之间的区别.

在Django中,forms.py是一个名为changed_data的属性,但我不知道是否可以提供帮助.

示范代码:

forms.py

class ConfirmForm(forms.Form):
    client_id = forms.CharField(widget=forms.HiddenInput())
    identifier = forms.CharField(widget=forms.HiddenInput())

    def clean(self):
        # Maybe here the validation process of cliend_id and identifier like:
        clean_client_id = self.cleaned_data.get('client_id')
        clean_identifier = self.cleaned_data.get('identifier')
        if last_client_id == clean_client_id and 
           last_identifier == clean_identifier:
            return self.cleaned_data
        else:
            raise forms.ValidationError("False data.")
Run Code Online (Sandbox Code Playgroud)

views.py

def form_confirm_handler(request):
    if request.method == 'POST':
        form = ConfirmForm(request.POST)
        if form.is_valid():
            #Do something...
            return redirect('home:index')

    #The following values are not fixed. Are generated variables!
    bound_data = {'client_id':'123456','identifier':'wuiy5895'}
    form = ConfirmForm(bound_data) …
Run Code Online (Sandbox Code Playgroud)

django django-models code-access-security django-forms hidden-field

1
推荐指数
1
解决办法
4215
查看次数

共享点中的“RunWithElevatedPrivileges”

“RunWithElevatedPrivileges”:在 C# 中以编程方式允许没有管理列表权限的用户将文件上传到共享点列表项对我没有帮助。我的代码是:

SPSecurity.RunWithElevatedPrivileges(delegate
{
    SPWeb web = SPContext.Current.Site;

    // my logic to upload file and edit list item attachments.
});
Run Code Online (Sandbox Code Playgroud)

完整代码

protected void btn_Upload_Click(object sender, EventArgs e)
    {
        StreamWriter sw = new StreamWriter(@"C:\Upload.txt", true);
        try
        {
            if (this.FileUpload1.HasFile)
            {
                string siteURL = SPContext.Current.Web.Url.ToString();
                if (Request["Items"] != null && Request["ListId"] != null)
                {

                    string SelectedItems = Convert.ToString(Request["Items"]);
                    string[] lstJobsIds = SelectedItems.Split(new string[] { "|" }, StringSplitOptions.None);
                    SPList list = null;

                    SPSecurity.RunWithElevatedPrivileges(delegate()
                    {

                        //SPSite site = SPContext.Current.Site;
                        using (SPSite …
Run Code Online (Sandbox Code Playgroud)

c# asp.net sharepoint iis-7 code-access-security

1
推荐指数
1
解决办法
2万
查看次数

派生类型必须与基类型的安全可访问性相匹配,或者在非常基本的情况下难以访问

构建示例代码并运行任何测试。(我试过abs。)

每次我这样做,我都会得到TypeLoadException

Jurassic.dll 中发生“System.TypeLoadException”类型的异常,但未在用户代码中处理

附加信息:类型违反了继承安全规则:“Jurassic.Compiler.WhiteSpaceToken”。派生类型必须与基类型的安全可访问性相匹配,或者难以访问。

问题是WhiteSpaceToken一个简单的类,它的基础也是如此Token。所以看起来异常实际上并没有提供有关类名的准确信息,并且该错误可能是由其他一些代码引起的。

在这种情况下我的理解几乎为0。我能想到的唯一解释是你不能从可移植库继承抽象类,但我从未听说过这种限制。

有什么想法为什么会发生这种情况吗?

PS 按照评论中的要求添加一些有关代码结构的快速信息

  1. Token 类是面向 .NET 4、Silverlight 5、Windows 8 和 Windows Phone 8 的可移植库中的公共抽象类。它仅适用于mscorlib.
  2. WhiteSpaceToken位于普通程序集中,面向 .NET 4。它继承自Token. 也仅适用于intstring
  3. 这两个类的代码中都没有任何属性。
  4. 该单元测试程序集是 MSTest 目标 4.0 上的正常单元测试程序集

c# cas .net-4.0 code-access-security

0
推荐指数
1
解决办法
1万
查看次数