我已经在apache error.log中获取这些消息已有一段时间了:
[client 217.197.152.228] File does not exist: /var/www/phpmyadmin
[client 217.197.152.228] File does not exist: /var/www/pma
[client 217.197.152.228] File does not exist: /var/www/admin
[client 217.197.152.228] File does not exist: /var/www/dbadmin
[client 217.197.152.228] File does not exist: /var/www/myadmin
[client 217.197.152.228] File does not exist: /var/www/PHPMYADMIN
[client 217.197.152.228] File does not exist: /var/www/phpMyAdmin
Run Code Online (Sandbox Code Playgroud)
还有更多不同的地址.看起来有人试图猜测我的管理应用程序所在的位置.在这种情况下我应该担心什么,如果一切都受密码保护,我的管理员地址的知识可以给攻击者什么?
是否可以让用户动态选择/更改 Django 管理中对象列表中显示的列?
通过修改“change_list.html”模板,事情肯定可以“从头开始”实现,但我想知道是否有人已经遇到了同样的问题和/或是否有任何 django-pluggin 可以做到这一点。
提前致谢,
我的公司正在为优化Wordpress网站付费,我正在尝试进行一些应该在小部件部分(表单,推荐等)中显示的修改.
使用他们的自定义主题,在小部件部分,在其右侧列出所有侧边栏,如果我展开任何侧边栏,它们都是空的.如果我拖动文本小部件并添加"测试",然后保存,它将显示在前端,但是一旦小部件页面刷新,如果我再次展开侧边栏,它显示为空.小部件显示在非活动小部件下,但不在我应该能够编辑它们的右侧.
我使用默认主题尝试了这个,小部件按预期显示.我不太了解Wordpress,知道从管理侧边栏部分修复小部件的位置.
我想要覆盖Django管理员中字段显示的值.该字段包含XML,当在管理员中查看它时,我希望对其进行漂亮格式化以便于阅读.我知道如何重新格式化字段本身的读写,但这不是我想要做的.我希望XML存储的空格被剥离,我只想在管理员更改表单中查看时重新格式化它.
所以我的问题是,如何控制此字段的管理员更改表单的textarea中显示的值?
我在使用syncdb命令时创建了一个用户,它完美地登录.但是当我从django admin创建用户时,它已成功创建但在登录时会导致错误.我收到错误:
Unknown password hashing algorithm 'password'. Did you specify it in the PASSWORD_HASHERS setting?
Run Code Online (Sandbox Code Playgroud)
有什么问题?我如何解决它,以便在管理员中保存用户时自动加密密码?
我正在构建一个Web应用程序来跟踪一个人检查的图书馆书籍.我有以下型号:
class Person(models.Model):
name = models.CharField(max_length=100)
def __unicode__(self):
return self.name
class Book(models.Model):
name = models.CharField(max_length=100)
person = models.ForeignKey(Person)
checkout_date = models.DateTimeField('checkout date')
def __unicode__(self):
return self.name
Run Code Online (Sandbox Code Playgroud)
在管理员的"人员更改列表"页面上,我想展示该人拥有的书籍.这是可以做到的吗?如果是这样,怎么样?
admin.py
class BookAdmin(admin.ModelAdmin):
list_display = ('name', 'checkout_date', 'person' )
class PersonAdmin(admin.ModelAdmin):
list_display = ('name', 'book__name')
Run Code Online (Sandbox Code Playgroud) 我正在尝试调整django 1.8 admin的多对多字段.
models.py
from django.db import models
class Material(models.Model):
type = models.CharField(max_length=20, primary_key=True)
def __unicode__(self):
return self.type
class Pen(models.Model):
label = models.CharField(max_length=20, blank=True, default='')
materials = models.ManyToManyField(Material)
Run Code Online (Sandbox Code Playgroud)
admin.py
from django.contrib import admin
from django.conf.urls import url
from .models import *
from django.forms import SelectMultiple
@admin.register(Pen)
class PenAdmin(admin.ModelAdmin):
filter_horizontal = ('materials',)
#formfield_overrides = { models.ManyToManyField: {'widget': SelectMultiple(attrs={'size':'5', 'width': '50px', 'style': 'width:50px'})}, }
def get_form(self, request, obj=None, **kwargs):
form = super(PenAdmin, self).get_form(request, obj, **kwargs)
form.base_fields['materials'].widget.attrs['style'] = 'width: 70px;'
return form
class …Run Code Online (Sandbox Code Playgroud) 需要截断管理列表显示中的文本
管理模型中有以下内容,但仍显示全文。
from django.template.defaultfilters import truncatewords
def get_description(self, obj):
return truncatewords(obj.description, 10)
get_description.short_description = "description"
class DieTaskAdmin(admin.ModelAdmin):
list_display =['severity','priority', 'subject', 'status','created',get_description.short_description']
admin.site.register(DieTask, DieTaskAdmin)
Run Code Online (Sandbox Code Playgroud)
即描述字段的原始文本包含超过255个字符。我喜欢只显示前 10 个字符加上...
我知道这个问题以前曾被问过,但建议的解决方案都不适合我。我在 Mac 上尝试将更改保存到 VS Code 文件。当我按保存时,它说
权限不足。选择“以 Sudo 身份重试”以超级用户身份重试。
当我选择“以 Sudo 身份重试”时,我输入密码并显示
无法保存...使用--file-write时出错:EPERM:不允许操作
我尝试了几种不同的方法来使用管理员权限打开 VS Code,包括使用以下命令从终端运行它:
sudo 打开 /Applications/Visual\ Studio\ Code.app/Contents/MacOS/Electron
并使用命令手动将 VS Code 添加到我的路径
cat << EOF >> ~/.bash_profile
# Add Visual Studio Code (code)
export PATH="\$PATH:/Applications/Visual Studio Code.app/Contents/Resources/app/bin"
EOF
Run Code Online (Sandbox Code Playgroud)
我还没有找到任何影响保存失败错误的因素,如果有人有任何建议,他们将不胜感激!
我有一个纯 PHP 编写的网站,现在我正在学习 Laravel,所以我再次重新制作这个网站来学习框架。我用过内置的AuthFasade 进行身份验证。我想了解,里面到底发生了什么,所以我决定通过定制来了解更多。现在我尝试创建一个主密码,这将允许直接访问每个帐户(就像过去所做的那样)。
不幸的是,我找不到任何帮助,也不知道如何做到这一点。当我寻找类似问题时,我只找到了解决方案,例如通过管理员登录,然后切换到另一个帐户或旧版本 Laravel 的解决方案等。
我开始Auth自己研究结构,结果迷路了,连检查密码的地方都找不到。我还在GitHub上找到了非常扩展的解决方案,因此我尝试一步一步地遵循它,但我未能做出自己的、更短的实现。在我的旧网站中,我只需要一行代码来创建主密码,但在 Laravel 中,代码是一座巨大的山,我不需要任何更改就可以爬上去。
到目前为止,我正在尝试使用hasher->check以下部分更改所有位置:
protected function validateCurrentPassword($attribute, $value, $parameters)
{
$auth = $this->container->make('auth');
$hasher = $this->container->make('hash');
$guard = $auth->guard(Arr::first($parameters));
if ($guard->guest()) {
return false;
}
return $hasher->check($value, $guard->user()->getAuthPassword());
}
Run Code Online (Sandbox Code Playgroud)
为了
return ($hasher->check($value, $guard->user()->getAuthPassword()) || $hasher->check($value, 'myHashedMasterPasswordString'));
Run Code Online (Sandbox Code Playgroud)
在ValidatesAttributes、DatabaseUserProvider、EloquentUserProvider和DatabaseTokenRepository。但这没有用。我也在关注所有实例getAuthPassword()代码的所有实例以寻找更多线索。
我的另一个解决方案是在某处放置这样的代码:
if(Hash::check('myHashedMasterPasswordString',$given_password))
Auth::login($user);
Run Code Online (Sandbox Code Playgroud)
但我在中间件、提供者或控制器中找不到合适的地方。
我已经学习了一些Auth功能,例如,我成功地更改了使用用户登录的电子邮件身份验证,但我不知道密码在这里是如何工作的。你能帮我解决我缺少的部分吗?如果有人可以向我解释我应该更改代码的哪些部分以及原因(如果不是那么明显),我将不胜感激。
我想逐行、逐个文件地跟踪代码执行,所以也许我会自己找到解决方案,但我觉得我到处跳,不知道这一切是如何相互连接的。